Principes de base de la régression linéaire

Bonjour, Habr!



Le but de cet article est de parler de régression linéaire, c'est-à-dire de recueillir et de montrer les formulations et interprétations du problème de régression en termes d'analyse mathématique, statistique, algèbre linéaire et théorie des probabilités. Bien que les manuels définissent ce sujet de manière stricte et exhaustive, un autre article scientifique populaire ne fera pas de mal.



! Attention au trafic! L'article contient un nombre notable d'images pour les illustrations, certaines au format gif.



Contenu







introduction



Il existe trois concepts similaires, trois sœurs: l'interpolation, l'approximation et la régression.

Ils ont un objectif commun: à partir d'une famille de fonctions, choisissez celle qui possède une certaine propriété.





Interpolation- un moyen de sélectionner dans une famille de fonctions celle qui passe par les points donnés. La fonction est alors généralement utilisée pour calculer aux points intermédiaires. Par exemple, nous définissons manuellement la couleur sur plusieurs points et voulons que les couleurs des points restants forment des transitions douces entre les points donnés. Ou nous définissons des images clés pour l'animation et souhaitons des transitions fluides entre elles. Exemples classiques: interpolation polynomiale de Lagrange, interpolation spline, interpolation multidimensionnelle (bilinéaire, trilinéaire, plus proche voisin, etc.). Il existe également un concept lié d'extrapolation - prédire le comportement d'une fonction en dehors d'un intervalle. Par exemple, prédire le taux du dollar en fonction des fluctuations précédentes est une extrapolation.



Approximation- une manière de choisir dans une famille de fonctions "simples" une approximation pour une fonction "complexe" sur un segment, alors que l'erreur ne doit pas dépasser une certaine limite. L'approximation est utilisée lorsque vous avez besoin d'obtenir une fonction similaire à une fonction donnée, mais plus pratique pour les calculs et les manipulations (différenciation, intégration, etc.). Lors de l'optimisation de sections critiques du code, une approximation est souvent utilisée: si la valeur d'une fonction est calculée plusieurs fois par seconde et qu'une précision absolue n'est pas nécessaire, alors un approximant plus simple avec un «coût» de calcul inférieur peut être supprimé. Les exemples classiques incluent les séries de Taylor sur un segment, l'approximation polynomiale orthogonale, l'approximation de Padé, l'approximation sinusoïdale de Bhaskar, etc.



Régression- une manière de choisir parmi une famille de fonctions celle qui minimise la fonction de perte. Ce dernier caractérise dans quelle mesure la fonction d'essai s'écarte des valeurs aux points donnés. Si des points sont obtenus dans une expérience, ils contiennent inévitablement une erreur de mesure, du bruit, il est donc plus raisonnable d'exiger que la fonction transmette la tendance générale, et ne passe pas exactement par tous les points. Dans un sens, la régression est un «ajustement interpolant»: nous voulons dessiner la courbe aussi près que possible des points et la garder aussi simple que possible pour capturer la tendance globale. La fonction de perte (dans la littérature anglaise «loss function» ou «cost function») est responsable de l'équilibre entre ces désirs contradictoires.



Dans cet article, nous examinerons la régression linéaire. Cela signifie que la famille de fonctions dans laquelle nous choisissons est une combinaison linéaire de fonctions de base prédéterminéesf i

f = i w i f i .

Le but de la régression est de trouver les coefficients de cette combinaison linéaire, et ainsi de déterminer la fonction de régression F(également appelé un modèle ). Notez que la régression linéaire est appelée linéaire précisément en raison de la combinaison linéaire des fonctions de base - cela n'est pas lié aux fonctions les plus élémentaires (elles peuvent être linéaires ou non).



La régression est avec nous depuis longtemps: la méthode a été publiée pour la première fois par Legendre en 1805, bien que Gauss y soit venu plus tôt et l'utilise avec succès pour prédire l'orbite de la "comète" (en fait une planète naine) Cérès. Il existe de nombreuses variantes et généralisations de la régression linéaire: CONTRE, Moindres carrés, Régression Ridge, Régression Lasso, ElasticNet, et bien d'autres.



GIF
. — .



GoogleColab.

GitHub





Méthode des moindres carrés



Commençons par le cas bidimensionnel le plus simple. Donnons-nous des points dans l'avion{ ( x 1 , y 1 ) , , ( x N , y N ) } et nous recherchons une telle fonction affine

f ( x ) = a + b x ,



afin que son graphe soit le plus proche des points. Ainsi, notre base se compose d'une fonction constante et d'un linéaire( 1 , x )...



Comme vous pouvez le voir sur l'illustration, la distance d'un point à une ligne droite peut être comprise de différentes manières, par exemple, géométriquement - c'est la longueur d'une perpendiculaire. Cependant, dans le cadre de notre tâche, nous avons besoin d'une distance fonctionnelle et non géométrique. Nous nous intéressons à la différence entre la valeur expérimentale et la prédiction du modèle pour chaquex i , par conséquent, vous devez mesurer le long de l'axe y...



La première chose qui me vient à l'esprit est d'essayer une expression qui dépend des valeurs absolues des différences en tant que fonction de perte| f ( x i ) - y i |... L'option la plus simple est la somme des modules d'écarti|f(xi)yi|entraîne une régression de la distance la moins absolue (LAD).



Cependant, la fonction de perte la plus populaire est la somme des carrés des écarts du régressant par rapport au modèle. Dans la littérature anglaise, on l'appelle Sum of Squared Errors (SSE)

SSE(a,b)=SSres[iduals]=Ni=1i2=Ni=1(yif(xi))2=Ni=1(yiabxi)2,

Moindres carrés (OLS) - Régression linéaire avec SSE ( a , b ) comme une fonction de perte.



Ce choix est avant tout pratique: la dérivée d'une fonction quadratique est une fonction linéaire, et les équations linéaires sont facilement résolues. Cependant, j'indiquerai en outre d'autres considérations en faveur deSSE ( a , b )...

GIF
() (). .



GoogleColab.

GitHub





Analyse mathematique



Le moyen le plus simple de trouver argmin a , bSSE ( a , b ) - calculer des dérivées partielles par rapport à une et b, assimilez-les à zéro et résolvez le système d'équations linéaires

un SSE(a,b)= - 2 N je=1(yje-une-bXje),bSSE(une,b)=-2Nje=1(yje-une-bXje)Xje...

Les valeurs des paramètres qui minimisent la fonction de perte satisfont les équations

0=-2Nje=1(yje-ˆune-ˆbXje),0=-2Nje=1(yje-ˆune-ˆbXje)Xje,

qui sont faciles à résoudre

ˆune=jeyjeN-ˆbjeXjeN,ˆb=jeXjeyjeN-jeXjejeyjeN2jeX2jeN-(jeX2jeN)2...

Nous avons des expressions peu maniables et non structurées. Nous allons maintenant les ennoblir et leur insuffler un sens.



Statistiques



Les formules résultantes peuvent être rédigées de manière compacte à l'aide d'estimateurs statistiques: moyenne , variations σ (écart-type), covariance σ(,) et corrélations ρ(,)

ˆune=y-ˆbX,ˆb=Xy-XyX2-X2...

Réécrivons ˆb comme

ˆb=σ(X,y)σ2X,

σX est l'écart type de l'échantillon non corrigé (biaisé), et σ(X,y)- covariance. Rappelez-vous maintenant que le coefficient de corrélation (coefficient de corrélation de Pearson)

ρ(X,y)=σ(X,y)σXσy

et écris

ˆb=ρ(X,y)σyσX...





Maintenant, nous pouvons apprécier toute l'élégance des statistiques descriptives en écrivant l'équation de la droite de régression comme celle-ci



y-y=ρ(X,y)σyσX(X-X)...

Premièrement, cette équation indique immédiatement deux propriétés de la droite de régression:

  • la ligne droite passe par le centre de gravité (X,y);
  • si le long de l'axe X par unité de longueur choisir σX, et le long de l'axe y - σy, alors l'angle d'inclinaison de la ligne droite sera de -45 avant 45... Cela est dû au fait que-1ρ(X,y)1...


Deuxièmement, on comprend maintenant pourquoi la méthode de régression est appelée ainsi. En unités d'écart typey s'écarte de sa moyenne de moins de X, parce que |ρ(X,y)|1... C'est ce qu'on appelle la régression (du latin regressus - "retour") par rapport à la moyenne. Ce phénomène a été décrit par Sir Francis Galton à la fin du 19e siècle dans son article «Regression to Mediocrity in the Inheritance of Growth». L'article montre que les traits (comme la hauteur) qui s'écartent fortement de la moyenne sont rarement hérités. Les caractéristiques de la progéniture semblent tendre vers la moyenne - la nature repose sur les enfants des génies.



En mettant au carré le coefficient de corrélation, on obtient le coefficient de déterminationR=ρ2... Le carré de cette mesure statistique montre dans quelle mesure le modèle de régression s'adapte aux données.R2égal à 1, signifie que la fonction s'adapte parfaitement à tous les points - les données sont parfaitement corrélées. On peut prouver queR2montre dans quelle mesure la variance des données est due au meilleur modèle linéaire. Pour comprendre ce que cela signifie, nous introduisons les définitions

Varunetune=1Nje(yje-y)2,Varres=1Nje(yje-modèle(Xje))2,Varreg=1Nje(modèle(Xje)-y)2...

Varunetune - variation des données initiales (variation des points yje).



Varres - variation des résidus, c'est-à-dire variation des écarts par rapport au modèle de régression - de yje vous devez soustraire la prédiction du modèle et trouver la variation.



Varreg - variation de régression, c'est-à-dire variation des prédictions du modèle de régression en points Xje (notez que la moyenne des prédictions du modèle correspond à y).



Le fait est que la variation des données d'origine est décomposée en la somme de deux autres variations: la variation expliquée par le modèle, et la variation du bruit aléatoire (résidus)

Varunetune=Varres+Varreg...

ou

σ2unetune=σ2res+σ2reg...

Comme vous pouvez le voir, les écarts types forment un triangle rectangle.





Nous nous efforçons de nous débarrasser de la variabilité associée au bruit et de ne laisser que la variabilité expliquée par le modèle - nous voulons séparer le blé de l'ivraie. La mesure dans laquelle le meilleur des modèles linéaires a réussi est attestée parR2égal à un moins la fraction de la variation d'erreur dans la variation totale

R2=Varunetune-VarresVarunetune=1-VarresVarunetune

ou la proportion de variation expliquée (proportion de la variation de régression dans la variation totale)

R2=VarregVarunetune...

R égal au cosinus d'un angle dans un triangle rectangle (σunetune,σreg,σres)... À propos, parfois une fraction de la variation inexpliquée est introduite FUV=1-R2et il est égal au carré du sinus dans ce triangle. Si le coefficient de détermination est petit, nous avons peut-être choisi des fonctions de base infructueuses, la régression linéaire n'est pas du tout applicable, etc.



Théorie des probabilités



Plus tôt, nous sommes arrivés à la fonction de perte SSE(une,b)pour des raisons de commodité, mais il peut également être atteint en utilisant la théorie des probabilités et la méthode du maximum de vraisemblance (MMP). Permettez-moi de rappeler brièvement son essence. Supposons que nous ayonsNvariables aléatoires indépendantes à distribution identique (dans notre cas, résultats de mesure). Nous connaissons la forme de la fonction de distribution (par exemple, la distribution normale), mais nous voulons déterminer les paramètres qui y sont inclus (par exempleμ et σ). Pour ce faire, vous devez calculer la probabilité d'obtenirNpoints de données sous l'hypothèse de paramètres constants, mais inconnus. Du fait de l'indépendance des mesures, on obtient le produit des probabilités de réalisation de chaque dimension. Si nous pensons à la valeur résultante en fonction de paramètres (fonction de vraisemblance) et trouvons son maximum, nous obtenons une estimation des paramètres. Souvent, au lieu de la fonction de vraisemblance, ils utilisent son logarithme - il est plus facile de le différencier, mais le résultat est le même.



Revenons au simple problème de régression. Disons que les valeursX nous savons exactement, mais dans la mesure yil y a un bruit aléatoire (propriété exogène faible ). De plus, nous supposons que tous les écarts par rapport à la ligne droite (propriété de linéarité ) sont causés par du bruit avec une distribution constante ( distribution constante ). Puis

y=une+bX+ϵ,

ϵ - variable aléatoire normalement distribuée

ϵN(0,σ2),p(ϵ)=12πσ2e-ϵ22σ2...







Sur la base des hypothèses ci-dessus, nous écrivons la fonction de vraisemblance

L(une,b|y)=P(y|une,b)=jeP(yje|une,b)=jep(yje-une-bX|une,b)==je12πσ2e-(yje-une-bX)22σ2=12πσ2e-je(yje-une-bX)22σ2==12πσ2e-SSE(une,b)2σ2

et son logarithme

l(une,b|y)=JournalL(une,b|y)=-SSE(une,b)+const...

Ainsi, le maximum de vraisemblance est atteint au minimum SSE

(ˆune,ˆb)=argmaxune,bl(une,b|y)=argminune,bSSE(une,b),

ce qui donne des raisons de l'accepter comme une fonction de perte. Au fait, si

ϵLaplace(0,α),pL(ϵ;μ,α)=α2e-α|ϵ-μ|

nous obtenons la fonction de perte de régression LAD

ELUNE(une,b)=je|yje-une-bXje|,

dont nous avons parlé plus tôt.



L'approche que nous avons utilisée dans cette section est une approche possible. Il est possible d'obtenir le même résultat en utilisant des propriétés plus générales. En particulier, la propriété de constance de distribution peut être affaiblie en la remplaçant par les propriétés d'indépendance, de constance de variation (homoscédasticité) et d'absence de multicolinéarité. En outre, au lieu de l'estimation MMP, vous pouvez utiliser d'autres méthodes, par exemple l'estimation MMSE linéaire.



Régression multilinéaire



Jusqu'à présent, nous avons considéré le problème de régression pour une caractéristique scalaire X, mais généralement le régresseur est n-vecteur dimensionnel X... En d'autres termes, pour chaque dimension, nous enregistronsnfonctionnalités, en les combinant dans un vecteur. Dans ce cas, il est logique d'accepter le modèle avecn+1 fonctions de base indépendantes de l'argument vectoriel - n les degrés de liberté correspondent n fonctionnalités et un autre - régressant y... Le choix le plus simple est celui des fonctions de base linéaires(1,X1,,Xn)... Quandn=1 nous obtenons la base déjà familière (1,X)...



Donc, nous voulons trouver un tel vecteur (ensemble de coefficients)w, quelle

nj=0wjX(je)j=wX(je)yje,je=1...N...

Signe ""signifie que nous recherchons une solution qui minimise la somme des carrés des erreurs

ˆw=argminwNje=1(yje-wX(je))2

La dernière équation peut être réécrite d'une manière plus pratique. Pour cela nous plaçonsX(je) en lignes de matrice (matrice d'information)

X=(-X(1)--X(N)-)=(|||X0X1Xn|||)=(1X(1)1X(1)n1X(N)1X(N)n)...

Puis les colonnes de la matrice Xje répondre aux mesures je-th caractéristique. Il est important de ne pas se confondre ici:N - le nombre de mesures, n- le nombre de signes (caractéristiques) que nous enregistrons. Le système peut être écrit comme

Xwy...

Le carré de la norme de la différence entre les vecteurs sur les côtés droit et gauche de l'équation forme la fonction de perte

SSE(w)=y-Xw2,wRn+1;yRN,

que nous entendons minimiser

ˆw=argminwSSE(w)=argminw(y-Xw)(y-Xw)==argminw(yy-2wXy+wXXw)...

Différencions l'expression finale par w(si vous avez oublié comment le faire, jetez un œil au livre de recettes Matrix )

SSE(w)w=-2Xy+2XXw,

assimiler le dérivé à 0et nous obtenons le soi-disant. équations normales

XXˆw=Xy...

Si les colonnes de la matrice d'informations X sont linéairement indépendants (il n'y a pas de caractéristiques parfaitement corrélées), alors la matrice XXa le contraire (la preuve peut être vue, par exemple, dans la vidéo de l'académie de Khan ). Ensuite, nous pouvons écrire

ˆw=(XX)-1Xy=X+y,



X+=(XX)-1X



pseudo-inverse à X... Le concept de matrice pseudo-inverse a été introduit en 1903 par Fredholm et a joué un rôle important dans les travaux de Moore et Penrose.



Laisse moi te rappeler quoi tournerXX et trouve X+ seulement possible si les colonnes Xsont linéairement indépendants. Cependant, si les colonnesX proche de la dépendance linéaire, calcul (XX)-1devient déjà numériquement instable. Le degré de dépendance linéaire des caractéristiques dansXou, comme on dit, la multicolinéarité de la matriceXX, peut être mesuré par le nombre de conditionnalité - le rapport de la valeur propre maximale au minimum. Plus il est gros, plus il est procheXX calcul dégénéré et instable de la pseudo-inverse.





Algèbre linéaire



La solution au problème de la régression multilinéaire peut être atteinte tout naturellement à l'aide de l'algèbre linéaire et de la géométrie, car même le fait que la norme du vecteur d'erreur apparaisse dans la fonction de perte laisse déjà entendre que le problème a un côté géométrique. Nous avons vu qu'une tentative de trouver un modèle linéaire décrivant les points expérimentaux conduit à l'équation

Xwy...

Si le nombre de variables est égal au nombre d'inconnues et que les équations sont linéairement indépendantes, alors le système a une solution unique. Cependant, si le nombre de dimensions dépasse le nombre d'entités, c'est-à-dire qu'il y a plus d'équations que d'inconnues, le système devient incohérent, surdéterminé. Dans ce cas, le mieux que nous puissions faire est de choisir le vecteurwdont l'image Xw le plus proche de y... Permettez-moi de vous rappeler que de nombreuses images ou espace de colonneC(X) Est une combinaison linéaire des vecteurs colonnes de la matrice X

(|||X0X1Xn|||)w=w0X0+w1X1+wnXn...

C(X) - n+1-Sous-espace linéaire dimensionnel (nous considérons les entités linéairement indépendantes), étendue linéaire des vecteurs colonnes X... Donc siy fait parti C(X), alors nous pouvons trouver une solution, sinon, nous chercherons, pour ainsi dire, le meilleur des non résolus.



Si en plus des vecteursC(X) nous considérons tous les vecteurs perpendiculaires à eux, puis nous obtenons un sous-espace supplémentaire et nous pouvons tout vecteur de RNse décomposer en deux composants, dont chacun vit dans son propre sous-espace. Le second espace perpendiculaire peut être caractérisé comme suit (nous en aurons besoin plus tard). Laisser allervRNpuis

Xv=(-X0--Xn-)v=(X0vXnv)

vaut zéro si et seulement si v perpendiculaire à tout Xje, et donc le tout C(X)... Ainsi, nous avons trouvé deux sous-espaces linéaires perpendiculaires, combinaisons linéaires de vecteurs dont complètement, sans trous, «recouvrent» toutRN... Ceci est parfois désigné par le symbole de somme directe orthogonale





ker(X)={v|Xv=0}... Chacun des sous-espaces peut être atteint en utilisant l'opérateur de projection correspondant, mais plus d'informations ci-dessous.



Maintenant imaginons y décomposition

y=yproj+y,yprojC(X),yker(X)...





Si nous recherchons une solution ˆw, alors il est naturel d'exiger que ||y-Xw||était minime, car c'est la longueur du vecteur de reste. Considérant la perpendicularité des sous-espaces et le théorème de Pythagore

argminw||y-Xw||=argminw||y+yproj-Xw||=argminw||y||2+||yproj-Xw||2,

mais depuis le choix d'un convenable w, Je peux obtenir n'importe quel vecteur d'espace de colonne, alors le problème est réduit à

Xˆw=yproj,

et yrestera comme une erreur fatale. Tout autre choixˆw ne fera que faire plus l'erreur.



Si nous nous en souvenons maintenant Xy=0alors c'est facile à voir

XXw=Xyproj=Xyproj+Xy=Xy,

ce qui est très pratique, car yproj nous n'avons pas, mais y- il y a. Rappelez-vous de la section précédente queXX a l'inverse sous la condition d'indépendance linéaire des traits et écrit la solution

w=(XX)-1Xy=X+y,

X+la matrice pseudo-inverse déjà familière. Si nous sommes intéressés par la projectionyproj, alors nous pouvons écrire

yproj=Xw=XX+y=ProjXy,

ProjX- opérateur de projection sur l'espace colonne.



Clarifions la signification géométrique du coefficient de détermination.



Notez que le vecteur violet ˉy1=ˉy(1,1,...,1) proportionnel à la première colonne de la matrice d'information X, qui se compose d'une unité selon notre choix de fonctions de base. Dans le triangle RVB

y-ˆy1=y-ˉy+ˆy-ˉy1...

Puisque ce triangle est rectangulaire, alors par le théorème de Pythagore

y-ˆy12=y-ˉy2+ˆy-ˉy12...

Il s'agit d'une interprétation géométrique du fait déjà connu que

Varunetune=Varres+Varreg...

Nous savons que

R2=VarregVarunetune,

ce qui signifie

R=cosθ...

Nice, n'est-ce pas?





Base arbitraire



Comme nous le savons, la régression est effectuée sur des fonctions de base Fje et son résultat est le modèle

F=jewjeFje,

mais jusqu'à présent, nous avons utilisé le plus simple Fjequi ont simplement relayé les fonctionnalités d'origine sans changements, enfin, sauf qu'ils les ont complétées avec des fonctionnalités constantes F0(X)=1... Comme vous pouvez le voir, en fait, aucun genreFje, ni leur nombre n'est limité par quoi que ce soit - l'essentiel est que les fonctions de la base soient linéairement indépendantes. Habituellement, le choix est fait sur la base d'hypothèses sur la nature du processus que nous modélisons. Si nous avons des raisons de croire que les points{(X1,y1),,(XN,yN)} tomber sur une parabole et non sur une ligne droite, alors il vaut la peine de choisir une base (1,X,X2)... Le nombre de fonctions de base peut être inférieur ou supérieur au nombre de fonctionnalités d'origine.

GIF
. scikit-learn , — .



GoogleColab.

GitHub



Si nous avons décidé sur la base, nous procédons comme suit. Nous formons une matrice d'informations

Φ=(-F(1)--F(N)-)=(F0(X(1))F1(X(1))Fn(X(1))F0(X(N))F1(X(N))Fn(X(N))),

écrire la fonction de perte

E(w)=ϵ(w)2=y-Φw2

et trouver son minimum, par exemple, en utilisant la matrice pseudo-inverse

ˆw=argminwE(w)=(ΦΦ)-1Φy=Φ+y

ou une autre méthode.





Remarques finales



Problème de sélection de dimension



Dans la pratique, il est souvent nécessaire de construire indépendamment un modèle du phénomène, c'est-à-dire de déterminer combien et quelles fonctions de base doivent être prises. La première impulsion pour «obtenir plus» peut jouer une blague cruelle: le modèle sera trop sensible au bruit dans les données (overfitting). En revanche, si vous contraignez trop le modèle, il sera trop grossier (sous-ajustement).



Il y a deux façons de sortir de la situation. La première consiste à augmenter systématiquement le nombre de fonctions de base, à vérifier la qualité de la régression et à s'arrêter dans le temps. Ou la seconde: choisissez une fonction de perte qui déterminera automatiquement le nombre de degrés de liberté. Comme critère de succès de la régression, vous pouvez utiliser le coefficient de détermination, qui a déjà été mentionné ci-dessus, cependant, le problème est queR2croît de manière monotone avec la dimension croissante de la base. Par conséquent, le coefficient ajusté est introduit

ˉR2=1-(1-R2)[N-1N-(n+1)],

N - taille de l'échantillon, n- le nombre de variables indépendantes. Suivant leˉR2, nous pouvons nous arrêter à temps et arrêter d'ajouter des degrés de liberté supplémentaires.



Le deuxième groupe d'approches est la régularisation, dont la plus connue est Ridge (L2/ crête / régularisation de Tikhonov), Lasso (L1régularisation) et Elastic Net (Ridge + Lasso). L'idée principale de ces méthodes est de modifier la fonction de perte avec des termes supplémentaires qui ne permettront pas le vecteur de coefficientsw grandir indéfiniment et ainsi empêcher le recyclage

Ecrête(w)=SSE(w)+αje|wje|2=SSE(w)+αw2L2,ELasso(w)=SSE(w)+βje|wje|=SSE(w)+βwL1,ERU(w)=SSE(w)+αw2L2+βwL1,

α et β- les paramètres qui contrôlent la "force" de la régularisation. C'est un vaste sujet avec une belle géométrie qui mérite une discussion séparée. En passant, je mentionnerai que pour le cas de deux variables, en utilisant l'interprétation probabiliste, on peut obtenir les régressions Ridge et Lasso en choisissant avec succès la distribution a priori pour le coefficientb

y=une+bX+ϵ,ϵN(0,σ2),{bN(0,τ2)crête,bLaplace(0,α)Lasso...









Méthodes numériques



Permettez-moi de dire quelques mots sur la façon de minimiser la fonction de perte dans la pratique. SSE est une fonction quadratique ordinaire qui est paramétrée par les données d'entrée, donc en principe elle peut être minimisée par la méthode de descente la plus raide ou d'autres méthodes d'optimisation. Bien entendu, les meilleurs résultats sont montrés par des algorithmes qui prennent en compte la forme de la fonction SSE, par exemple la méthode de descente de gradient stochastique. L'implémentation de la régression par Lasso dans scikit-learn utilise la méthode de descente de coordonnées.



Vous pouvez également résoudre des équations normales à l'aide de méthodes d'algèbre linéaire numérique. Une méthode efficace utilisée par scikit-learn pour OLS consiste à trouver la pseudo-inverse en utilisant la décomposition de valeurs singulières. Les champs de cet article sont trop étroits pour aborder ce sujet, pour plus de détails je vous conseille de vous référer au cours des conférences de K.V. Vorontsov.



Publicité et conclusion



Cet article est un récit abrégé de l'un des chapitres d'un cours sur l'apprentissage automatique classique à l' Université universitaire de Kiev (successeur de la branche de Kiev de l'Institut de physique et de technologie de Moscou, KO MIPT). L'auteur de l'article a aidé à créer ce cours. Le cours se déroule techniquement sur la plate-forme Google Colab, qui vous permet de combiner des formules au format LaTeX, du code exécutable Python et des démonstrations interactives en Python + JavaScript, afin que les étudiants puissent travailler avec le matériel du cours et exécuter le code à partir de n'importe quel ordinateur équipé d'un navigateur. La page d'accueil contient des liens vers des résumés, des cahiers d'exercices pratiques et des ressources supplémentaires. Le cours est basé sur les principes suivants:



  • tout le matériel doit être disponible pour les étudiants de la première paire;
  • la conférence est nécessaire pour comprendre, pas pour prendre des notes (les notes sont déjà prêtes, il ne sert à rien de les écrire si vous ne le souhaitez pas);
  • une conférence est plus qu'une conférence (il y a plus de matière dans les notes que ce qui a été annoncé lors de la conférence, en fait, les notes sont un manuel à part entière);
  • visibilité et interactivité (illustrations, photos, démos, gifs, code, vidéos de youtube).


Si vous voulez voir le résultat, jetez un œil à la page du cours sur GitHub .



J'espère que vous avez été intéressé, merci de votre attention.



All Articles