
L'objectif de cet article est de soutenir les débutants en data science. Dans nous avons examiné trois méthodes pour résoudre l'équation de la régression linéaire : la solution analytique, la descente de gradient et la descente de gradient stochastique. Pour la solution analytique, nous avons appliqué la formule
. Dans cet article, comme l'indique le titre, nous justifierons l'utilisation de cette formule ou, en d'autres termes, nous la démontrerons nous-mêmes.
Pourquoi est-il sensé de prêter une attention particulière à la formule
?
C'est généralement avec l'équation matricielle que l'on commence à se familiariser avec la régression linéaire. Toutefois, les explications détaillées sur la manière dont la formule a été dérivée sont rares.
Par exemple, lors des cours de machine learning de Yandex, lorsque les participants sont introduits à la régularisation, il leur est suggéré d'utiliser des fonctions de la bibliothèque sklearn, sans que jamais le terme de représentation matricielle de l'algorithme ne soit mentionné. À ce moment-là, certains participants peuvent ressentir l'envie d'explorer ce sujet plus en profondeur — de coder sans utiliser de fonctions toutes faites. Pour ce faire, il faut d'abord représenter l'équation avec la régularisation sous forme matricielle. Cet article vise précisément à permettre à ceux qui le souhaitent d'acquérir de telles compétences. Commençons.
Conditions initiales
Indicateurs cibles
Nous avons une série de valeurs pour l'indicateur cible. Par exemple, l'indicateur cible peut être le prix d'un actif quelconque : pétrole, or, blé, dollar, etc. Par série de valeurs de l'indicateur cible, nous entendons le nombre d'observations. Ces observations pourraient être, par exemple, les prix mensuels du pétrole sur une année, ce qui nous donnerait 12 valeurs de l'indicateur cible. Commençons par introduire des notations. Désignons chaque valeur de l'indicateur cible par
. Au total, nous avons
observations, ce qui signifie que nous pouvons représenter nos observations comme
.
Régressors
Considérons qu'il existe des facteurs qui expliquent, dans une certaine mesure, les valeurs de la variable cible. Par exemple, le taux de change dollar/ruble est fortement influencé par le prix du pétrole, le taux de la Réserve fédérale, etc. Ces facteurs sont appelés des régressors. Ainsi, pour chaque valeur de la variable cible, il doit correspondre une valeur du régressor, c'est-à-dire que si nous avons 12 variables cibles pour chaque mois de 2018, nous devons également avoir 12 valeurs de régressors pour la même période. Notons les valeurs de chaque régressor par
. Supposons que dans notre cas, il y a
régressors (c'est-à-dire
des facteurs qui influencent les valeurs de la variable cible). Ainsi, nos régressors peuvent être représentés de la manière suivante : pour le 1er régressor (par exemple, le prix du pétrole) :
, pour le 2ème régressor (par exemple, le taux de la Réserve fédérale) :
, pour le «
-ème» régressor : 
Dépendance des variables cibles par rapport aux régressors
Supposons que la dépendance de la variable cible
par rapport aux régressors «
-ème» observation peut être exprimée par une équation de régression linéaire du type :

, où
— «
-ème» valeur du régressor de 1 à
,
— le nombre de régressors de 1 à 
— les coefficients angulaires, qui représentent la magnitude par laquelle la variable cible calculée changera en moyenne avec le changement du régressor.
En d'autres termes, pour chaque régressor (sauf
) nous déterminons notre propre coefficient
, puis multiplions les coefficients par les valeurs des régressors «
-ème» observation, en résultant en une certaine approximation de la «
-ème» variable cible.
Par conséquent, nous devons trouver des coefficients
, pour lesquels les valeurs de notre fonction d'approximation
seront situées aussi près que possible des valeurs des variables cibles.
Évaluation de la qualité de la fonction d'approximation
Nous allons déterminer l'évaluation de la qualité de la fonction d'approximation par la méthode des moindres carrés. La fonction d'évaluation de qualité prendra alors la forme suivante :

Nous devons trouver des valeurs de coefficients $w$, pour lesquelles la valeur
sera minimale.
Transformons l'équation en forme matricielle
Représentation vectorielle
Pour commencer, afin de nous faciliter la tâche, il convient de prêter attention à l'équation de régression linéaire et de noter que le premier coefficient
ne se multiplie par aucun régresseur. Cependant, lorsque nous convertirons les données en format matriciel, cette circonstance compliquera sérieusement les calculs. À cet égard, il est proposé d'introduire un autre régresseur pour le premier coefficient
et de le fixer à un. Plus précisément, chaque "
-ème" valeur de ce régresseur sera fixée à un — car multiplier par un ne changera rien en ce qui concerne les résultats des calculs, et en ce qui concerne les règles de multiplication des matrices, nos souffrances seront considérablement réduites.
Maintenant, pendant un certain temps, afin de simplifier le matériel, supposons que nous avons une seule "
-ème" observation. Ensuite, représentons les valeurs des régresseurs de la "
-ème" observation sous forme de vecteur
. Le vecteur
a une dimension de
, c'est-à-dire
lignes et 1 colonne :

Nous allons représenter les coefficients recherchés sous forme de vecteur
, ayant une dimension de
:

L'équation de régression linéaire pour la "
-ème" observation prendra la forme :

La fonction d'évaluation de la qualité du modèle linéaire prendra la forme :

Notons qu'en accordance avec les règles de multiplication des matrices, nous avons dû transposer le vecteur
.
Représentation matricielle
Comme résultat de la multiplication des vecteurs, nous obtiendrons un nombre :
, ce qui était attendu. Ce nombre est l'approximation du "%target%" objectif. Mais nous avons besoin d'une approximation pas d'une seule valeur de l'objectif, mais de toutes. Pour cela, nous allons inscrire tous les "
-èmes" régresseurs au format matriciel
. La matrice obtenue a une dimension de
Maintenant, l'équation de la régression linéaire prendra la forme :
:

Désignons les valeurs des indicateurs cibles (tous les "

") par le vecteur
de dimension
Maintenant, nous pouvons écrire au format matriciel l'équation d'évaluation de la qualité du modèle linéaire :
:

En fait, cette formule dérive de la formule que nous connaissons

Comment cela se fait-il ? Les parenthèses sont ouvertes, la différentiation est effectuée, les expressions obtenues sont transformées, etc., et c'est précisément ce à quoi nous allons nous atteler maintenant. 
Transformations matricielles
Ouvrons les parenthèses
Préparons l'équation pour la différentiation


Pour cela, nous allons effectuer certaines transformations. Dans les calculs suivants, il sera plus pratique que le vecteur
soit représenté au début de chaque produit de l'équation.
Transformation 1
Conversion 1

Comment cela s'est-il produit ? Pour répondre à cette question, il suffit de regarder les tailles des matrices multipliées et de constater qu'à la sortie, nous obtenons un nombre ou autrement
.
Rédigeons les dimensions des expressions matricielles.



Transformation 2

Décrivons de manière similaire à la transformation 1


À la sortie, nous obtenons une équation que nous devons différencier :

Différencions la fonction d'évaluation de la qualité du modèle
Nous allons différencier par rapport au vecteur
:




Il ne devrait pas y avoir de questions sur le pourquoi
mais nous examinerons en détail les opérations concernant la définition des dérivées dans deux autres expressions.
Différentiation 1
Développons la différentiation : 
Pour définir la dérivée d'une matrice ou d'un vecteur, il faut voir ce qui se cache à l'intérieur. Regardons :



Désignons le produit des matrices
par matrice
. La matrice
est carrée et de plus, elle est symétrique. Ces propriétés nous seront utiles par la suite, souvenons-nous-en. La matrice
a une dimension de
:

Maintenant, notre tâche est de multiplier correctement les vecteurs par la matrice sans obtenir "deux fois deux fait cinq", donc concentrons-nous et soyons extrêmement attentifs.




Cependant, nous avons un expression sophistiquée ! En réalité, nous avons obtenu un nombre — un scalaire. Et maintenant, nous passons véritablement à la différentiation. Il est nécessaire de trouver la dérivée de l'expression obtenue par rapport à chaque coefficient
et d'obtenir en sortie un vecteur de dimension
. Au cas où, je vais définir les procédures des actions :
1) nous allons différencier par rapport à
, nous obtiendrons : 
2) nous allons différencier par rapport à
, nous obtiendrons : 
3) nous allons différencier par rapport à
, nous obtiendrons : 
À la sortie — le vecteur promis de taille
:

Si l'on regarde de plus près le vecteur, on peut remarquer que les éléments gauche et les éléments droits correspondants du vecteur peuvent être regroupés de telle sorte qu'au final, du vecteur présenté, on puisse isoler le vecteur
de taille
. Par exemple,
(élément gauche de la première ligne du vecteur)
(élément droit de la première ligne du vecteur) peut être représenté comme
, et
— comme
et ainsi de suite pour chaque ligne. Regroupons :

Nous allons extraire le vecteur
et à la sortie, nous obtiendrons :

Maintenant, examinons la matrice obtenue. La matrice est la somme de deux matrices
:

Rappelons-nous qu'il y a quelque temps, nous avons noté une propriété importante de la matrice
— elle est symétrique. Sur la base de cette propriété, nous pouvons affirmer avec confiance que l'expression
est égale à
. Cela peut être facilement vérifié en développant le produit des matrices élément par élément.
. Nous ne le ferons pas ici, ceux qui le souhaitent peuvent faire la vérification par eux-mêmes.
Revenons à notre expression. Après nos transformations, elle est devenue telle que nous voulions la voir :

Ainsi, nous avons bien géré la première dérivation. Passons à la deuxième expression.
Dérivation 2

Suivons le chemin déjà tracé. Il sera beaucoup plus court que le précédent, donc ne vous éloignez pas trop de l'écran.
Développons les vecteurs et la matrice élément par élément :



Pour un moment, retirons le deux des calculs — il ne joue pas un grand rôle, nous le remettrons en place plus tard. Multiplions les vecteurs par la matrice. D'abord, multiplions la matrice
par le vecteur
, ici nous n'avons aucune restriction. Nous obtiendrons un vecteur de taille
:

Réalisons la prochaine action — multiplions le vecteur
par le vecteur obtenu. En sortie, nous attend un nombre :

C'est ce que nous allons dériver. En sortie, nous obtiendrons un vecteur de dimension
:

Ça vous rappelle quelque chose ? Tout à fait ! C'est le produit de la matrice
par le vecteur
.
Ainsi, la deuxième dérivation est achevée avec succès.
En conclusion
Maintenant, nous savons comment est venu l'égalité
.
Pour finir, décrivons un chemin rapide pour les transformations des formules de base.
Évaluons la qualité du modèle selon la méthode des moindres carrés :


Dérivons l'expression obtenue :


Littérature
Sources Internet :
1)
2)
3)
4)
Manuels, recueils d'exercices :
1) Cours de mathématiques supérieures : cours complet / D.T. Pismennyi – 4e éd. – Moscou : Iris-press, 2006
2) Analyse de régression appliquée / N. Draper, G. Smith – 2e éd. – Moscou : Finances et statistiques, 1986 (traduction de l'anglais)
3) Problèmes de résolution d'équations matricielles :
Source : habr.com
