Plongée dans le ML : régression linéaire

Nous savons depuis longtemps que les grillons stridulent plus fréquemment quand il fait chaud que quand il fait froid. Les entomologistes amateurs et professionnels collectent depuis des décennies des données sur le nombre de stridulations par minute et la température. Pour votre anniversaire, votre tante Jeanne vous offre la base de données sur les grillons qu'elle chérit tant, et vous invite à entraîner un modèle qui prédit cette relation pour vous.

La première étape consiste à examiner les données en les traçant sur un graphique :

Données brutes de température (ordonnée) en fonction des stridulations par minute (abscisse).

Figure 1 : Température en degrés Celsius en fonction du nombre de stridulations par minute

Bien évidemment, le graphique montre que la température augmente en même temps que le nombre de stridulations. Cette relation entre les stridulations et la température est-elle linéaire ? Oui. Vous pouvez tracer une droite comme celle-ci pour réaliser une approximation de cette relation :

Meilleure droite illustrant la relation entre la température (ordonnée) et les stridulations par minute (abscisse).

Figure 2 : Une relation linéaire

Certes, la droite ne passe pas exactement par chaque point, mais elle montre clairement la relation entre les stridulations et la température pour nos données. Avec un peu d'algèbre, vous pouvez décrire cette relation ainsi :

$$ y = ax + b $$

où :

  • \(y\) est la température en degrés Celsius, c'est-à-dire la valeur que nous essayons de prévoir ;
  • \(a\) est la pente de la droite ;
  • \(x\) est le nombre de stridulations par minute, c'est-à-dire la valeur de notre caractéristique d'entrée ;
  • \(b\) est l'ordonnée à l'origine.

Par convention dans le Machine Learning, pour un modèle, l'équation a une forme légèrement différente :

$$ y' = b + w_1x_1 $$

où :

  • \(y'\) est l'étiquette prédite (la sortie désirée) ;
  • \(b\) est le biais (l'ordonnée à l'origine). Dans certains documents sur le Machine Learning, il est appelé \(w_0\) ;
  • \(w_1\) est la pondération de la caractéristique 1. La pondération est un concept identique à celui de "pente" représenté ci-dessus par la lettre "a" ;
  • \(x_1\) est une caractéristique (une entrée connue).

Pour déduire (prédire) la température \(y'\) pour une nouvelle valeur du nombre de stridulations par minute \(x_1\), il suffit d'introduire la nouvelle valeur \(x_1\) dans le modèle.

Les indices (par exemple \(w_1\) et \(x_1\)) préfigurent des modèles plus sophistiqués reposant sur plusieurs caractéristiques. Par exemple, l'équation suivante décrit un modèle qui repose sur trois caractéristiques :

$$y' = b + w_1x_1 + w_2x_2 + w_3x_3$$