Dextre412
2023-08-26 19:44:01
Attention !!! ⚠️Ce topic a beau constituer une introduction, il n'est pas forcément évident, en particulier pour ceux qui ont arrêté les mathématiques depuis un moment. Ce n'est pas une raison pour vous arrêter : lisez, et dès que vous ne comprenez pas quelque chose, posez la question ici, et je vous répondrai. Bonne lecture.
1. Qu'est-ce que le machine learning ?
Le machine learning un ensemble de techniques permettant à un programme informatique d'apprendre à résoudre un problème en identifiant des motifs à partir de données. Par abus de langage, on appelle souvent "intelligence artificielle" le machine learning, alors que ce dernier ne représente qu'une partie des méthodes utilisées en intelligence artificielle.
2. Les applications du machine learning
Les problèmes qui peuvent être résolus grâce au machine learning sont nombreux : prédiction, détection d'anomalie, reconnaissance de motifs...
D'un point de vue mathématique, il s'agit de construire une fonction qui obéit à un certain nombre de contraintes.
On distingue deux familles de techniques dans le cadre de l'IA : l'apprentissage supervisé, et l'apprentissage non-supervisé.
Dans le cadre de l'apprentissage supervisé, les données fournies comportent un ensemble de données d'entrée, et des données de sortie attendues. Par exemple, dans le contexte du marché immobilier, l'apprentissage supervisé peut être utilisé pour prédire le prix de vente d'un bien immobilier en fonction de diverses caractéristiques comme la superficie, le nombre de chambres, l'emplacement, etc. Dans ce cas, il y a un ensemble de données d'entrée (superficie, nombre de chambres, etc.) et des données de sortie attendues (le prix de vente). Le modèle est alors entraîné pour minimiser la différence entre le prix prédit et le prix réel des exemples dans votre ensemble de données d'entraînement. Une fois le modèle entraîné, il peut être utilisé pour estimer le prix de propriétés non vues précédemment. Cette estimation se base sur la fonction approximée par le modèle durant son entraînement.
https://image.noelshack.com/fichiers/2023/34/6/1693070393-cours1-fig1.png
Dans le cadre de l'apprentissage non-supervisé, les données fournies ne comportent pas de données de sortie attendues. Par exemple, toujours pour le marché immobilier, l'apprentissage non-supervisé peut être utilisé pour la segmentation du marché. Supposons que nous ayons accès à une grande base de données de propriétés comprenant des informations comme la superficie, le nombre de chambres, l'emplacement, le type de construction, etc., mais sans les prix de vente associés. Il est possible d'utiliser des techniques d'apprentissage non-supervisé comme le clustering pour diviser ces propriétés en groupes similaires. Ces groupes pourraient révéler des sous-marchés du marché immobilier plus large, par exemple les appartements de luxe en centre-ville, les maisons familiales en banlieue, ou les studios pour étudiants. Une telle analyse pourrait être très utile pour les promoteurs immobiliers, les agents immobiliers ou les urbanistes cherchant à comprendre mieux les besoins et les préférences dans différentes sections du marché immobilier.
https://image.noelshack.com/fichiers/2023/34/6/1693070409-cours1-fig2.png
3. Algorithmes supervisés : interpolation vs. régression
Dans cette partie introductive, nous allons nous concentrer sur les algorithmes supervisés.
Un type de problème couramment utilisé en prédiction est la régression. On cherche à approcher une fonction f dont on connaît seulement un certain nombre de points connus, pour deviner des valeurs inconnues de cette fonction.
Reprenons l'exemple du marché immobilier :
https://image.noelshack.com/fichiers/2023/34/6/1693070452-cours1-fig4.png
Il y a beaucoup de manières de résoudre ce problème.
Une première idée pourrait consister à relier les points entre eux, ce que l'on appelle une interpolation. Il est possible d'appliquer par exemple une méthode d'interpolation que l'on appelle les polynômes de Lagrange. Pour un ensemble de n points (x_1, ..., x_n), on définit une fonction P(x) comme suit :
https://image.noelshack.com/fichiers/2023/34/6/1693071515-image.png
En appliquant cette formule à nos données, on obtient :
https://image.noelshack.com/fichiers/2023/34/6/1693070470-cours1-fig3.png
Malheureusement, cette méthode n'est pas efficace dans la mesure où elle dépend trop des données de départ : elle est peu généralisable. En particulier dans le cadre des polynômes de Lagrange, il apparaît ce que l'on appelle le phénomène de Runge, qui est cette variation très importante entre deux points. On se retrouve dans une configuration dite de surapprentissage.
Une méthode plus appropriée consiste à tracer une droite qui s'approche le plus possible des points. C'est ce que l'on appelle une régression linéaire. En régression linéaire simple (c'est-à-dire en une dimension), l'objectif est de trouver la droite qui s'ajuste le mieux à un ensemble de n points (x_1, y_1), (x_2, y_2), ..., (x_n, y_n)
Formellement, cette droite est représentée par l'équation :
y = beta0 + beta1 * x
où y est la variable dépendante (que vous essayez de prédire), x est la variable indépendante (le prédicteur), et beta0 et beta1 sont les paramètres à estimer.
L'objectif est de minimiser la somme des carrés des erreurs (SSE), c'est-à-dire la somme des carrés des différences entre les valeurs observées (autrement dit, on veut que les erreurs en violet dans la première figure soient les plus petites possibles).
https://image.noelshack.com/fichiers/2023/34/6/1693071589-image.png
L'application de cette méthode à notre problème donne :
https://image.noelshack.com/fichiers/2023/34/6/1693072036-cours1-fig5.png
Cette méthode est très largement utilisée en pratique, car elle fonctionne pour beaucoup de problèmes.
La prochaine fois, nous verrons des méthodes de régression plus complexes.