Régression linéaire

Le but de ce poste est d’expliquer comment calculer une régression linéaire avec un exemple très simple. Supposons que l’on veuille approximer un nuage de points avec une droite d’équation y=ax comme illustré ci-dessous:

linear_regression

Nous voulons minimiser l’erreur donnée par la somme des distances au carré entre les points et la droite y=ax:

 E=(y_1-a.x_1)^2+(y_2-a.x_2)^2+...+(y_n-a.x_n)^2

En développant chaque terme, l’équation devient :

 E=y_1^2+a^2.x_1^2-2a.y_1.x_1 + y_2^2+a^2.x_2^2-2a.y_2.x_2 + ... + y_n^2+a^2.x_n^2-2a.y_n.x_n
 E=y_1^2 + y_2^2 + ... + y_n^2 + a^2(x_1^2 +x_2^2 +...+x_n^2) - 2a(y_1.x_1 + y_2.x_2 +y_n.x_n)

Comme nous voulons minimiser cette erreur, la valeur de a que nous cherchons est nécessairement un zéro de la dérivée de l’erreur. Calculons cette dérivée :

 \frac{\partial E}{\partial a} = 2a(x_1^2 +x_2^2 +...+x_n^2) - 2(y_1.x_1 + y_2.x_2 +y_n.x_n)

L’erreur est minimisée quand  \frac{\partial E}{\partial a} =0 :

 2a(x_1^2 +x_2^2 +...+x_n^2) - 2(y_1.x_1 + y_2.x_2 +y_n.x_n)=0

Il est maintenant facile de calculer a :

 a=\frac{2(y_1.x_1 + y_2.x_2 +y_n.x_n)}{ 2(x_1^2 +x_2^2 +...+x_n^2) }
 a=\frac{ y_1.x_1 + y_2.x_2 +y_n.x_n}{ x_1^2 +x_2^2 +...+x_n^2 }
 a=\frac { \sum\limits_{i=1}^n x_i.y_i } {\sum\limits_{i=1}^n x_i^2}

Téléchargements

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *