La régression linéaire consiste à déterminer une fonction linéaire (et donc continue sur ) capable de :
Si l'on considère :
Ce type de régression consiste à déterminer la fonction hypothèse dont les points sont les moins éloignés des valeurs réelles (connues du passé) pour espérer pouvoir en prédire des valeurs futures. Autrement dit déterminer les paramètres qui permettent à la fonction linéaire d'avoir des points ayant une distance/différence minimale avec les points "réels" (connus).
qui ne dépend pas d'une variable, est une constante appelée biais (bias) ou intersection (de la fonction avec l'axe des ordonnées en ).
Les cas les plus courants ne requièrent cependant que 1 () ou 2 paramètres (). S'il est besoin de représenter des fonctions plus complexes (typiquement si la fonction hypothèse ne correspond pas assez aux données ou en cas de surapprentissage), on recourra aux régression non-linéaires.
On cherche à trouver les (...) optimaux selon une méthode adaptée :
La méthode itérative consiste à fournir à l'algorithme de descente de gradient une fonction de coût permettant de calculer la différence entre et suivant de plus ou moins bons paramètres .
Comme les erreurs peuvent être positives ou négatives et que nous ne sommes intéressés que par l'écart/distance, on élève cette erreur au carré afin de le garantir toujours positif n1On pourrait théoriquement utiliser une fonction de valeur absolue à la place mais cela transformerait le résultat. On annule/compense ensuite la mise au carré n2On parlera ici aussi de "fonction d'erreur carrée" (squared error function) des erreurs en multipliant par 1/2 (ce qui annulera la dérivée de qui est ) :
ou en version vectorisée (en utilisant le calcul matriciel) :
Afin de gagner en performance et simplicité d'écriture on peut réécrire la formule d'hypothèse sous forme de multiplication de matrices et (une ligne de ). Afin de conserver la constante , on définira = 1 :
,
Cependant on ne peut multiplier une matrice que par une matrice , et il faut donc transposer pour obtenir le calcul attendu :
,
Ainsi :
(le calcul recherché)
Cependant au niveau de l'ensemble du training set (ou design matrix), les ne sont pas des vecteurs mais des lignes, de sorte qu'on doive plutôt y stocker des s :
Comme le vecteur est déjà transposé de par sa notation en ligne, ne doit plus l'être pour que leur multiplication s'opère. Cela reste équivalent car les 2 étant des vecteurs, .
Le calcul recherché peut alors être effectué pour toutes les lignes de la matrice en multipliant par le vecteur :
En ML, la régression linéaire permet de produire une fonction continue à partir de données connues, qui permet de prédire des valeurs probables pour d'autres valeurs de x ou y.