Réponse courte: aucune différence entre Primal et Dual - il s'agit uniquement de la manière d'arriver à la solution. La régression de crête du noyau est essentiellement la même que la régression de crête habituelle, mais utilise l'astuce du noyau pour devenir non linéaire.
Régression linéaire
Tout d'abord, une régression linéaire habituelle des moindres carrés essaie d'ajuster une ligne droite à l'ensemble des points de données de telle sorte que la somme des erreurs au carré soit minimale.
Nous paramétrons la ligne la mieux ajustée avec et pour chaque point de données nous voulons . Soit l'erreur - la distance entre les valeurs prédites et vraies. Notre objectif est donc de minimiser la somme des erreurs quadratiques où - une matrice de données avec chaque étant une ligne, et un vecteur avec tous les .ww ( x i , y i ) (xi,yi)w T x i ≈ y i wTxi≈yie i = y i - w T x iei=yi−wTxi ∑ e 2 i = ‖ e ‖ 2 = ‖ X w - y ‖ 2∑e2i=∥e∥2=∥Xw−y∥2 X = [ - x 1- - x 2- ⋮ - x n- ]X=⎡⎣⎢⎢⎢⎢—x1——x2—⋮—xn—⎤⎦⎥⎥⎥⎥xixiy=(y1,...,Yn) y=(y1, ... ,yn)yiyi
Ainsi, l'objectif est , et la solution est (connue sous le nom d '"équation normale").min w ‖X w - y ‖ 2 minw∥Xw−y∥2w =( X T X ) - 1 X T yw=(XTX)−1XTy
Pour un nouveau point de données invisible nous prédisons sa valeur cible comme .x xy y^y = w T xy^=wTx
Régression de crête
Lorsqu'il existe de nombreuses variables corrélées dans les modèles de régression linéaire, les coefficients peuvent devenir mal déterminés et avoir beaucoup de variance. L' une des solutions à ce problème est de limiter le poids afin qu'ils ne dépassent pas un certain budget . Cela équivaut à utiliser la régularisation , également connue sous le nom de "décroissance du poids": cela diminuera la variance au prix de manquer parfois les bons résultats (c'est-à-dire en introduisant un biais).w www C CL 2L2
L'objectif devient maintenant , avec comme paramètre de régularisation. En parcourant les mathématiques, nous obtenons la solution suivante: . C'est très similaire à la régression linéaire habituelle, mais ici nous ajoutons à chaque élément diagonal de .min w ‖X w -y ‖ 2 +λ‖ W ‖ 2minw∥Xw−y∥2+λ∥w∥2 λ λw = ( X T X + λI ) - 1 X T yw=(XTX+λI)−1XTy λ λX T XXTX
Notez que nous pouvons réécrire comme (voir ici pour plus de détails). Pour un nouveau point de données invisible nous prédisons sa valeur cible comme . Soit . Alors .w ww = X T( X X T + λI ) - 1 y w=XT(XXT+λI)−1yx y y = x T w = x T X Txy^( X X T + λI ) - 1 yy^=xTw=xTXT(XXT+λI)−1y α = ( X X T + λI ) - 1 y α=(XXT+λI)−1yy = x T X T α = n Σ i = 1 α i ⋅ x T x iy^=xTXTα=∑i=1nαi⋅xTxi
Formule double de régression de crête
Nous pouvons avoir un regard différent sur notre objectif - et définir le problème de programme quadratique suivant:
min e , w n ∑ i = 1 e 2 imine,w∑i=1ne2i st pour et . e i = y i - w T x iei=yi−wTxi i=1. .n i=1..n‖ w ‖ 2 ⩽ C∥w∥2⩽C
C'est le même objectif, mais exprimé quelque peu différemment, et ici la contrainte sur la taille de est explicite. Pour le résoudre, nous définissons le lagrangien - c'est la forme primitive qui contient les variables primaires et . Ensuite, nous l'optimisons par et . Pour obtenir la double formulation, nous trouvé et dans .w wL p ( w , e ; C ) Lp(w,e;C)w we ee ew we ew wL p ( w , e ; C )Lp(w,e;C)
Donc, . En prenant les dérivés wrt et , nous obtenons et . En laissant , et en remettant et dans , nous obtenons double lagrangienL p ( w , e ;C)=‖ e ‖ 2 + β T ( y -X w - e )-λ( ‖ W ‖ 2 - C ) Lp(w,e;C)=∥e∥2+βT(y−Xw−e)−λ(∥w∥2−C)w we ee =12 βe=12βw=12 λ XTβw=12λXTβα=12 λ βα=12λβeewwLp(w,e;C)Lp(w,e;C)Ld(α,λ;C)=-λ2‖α‖2+2λα T y - λ ‖ X T α ‖ - λ CLd(α,λ;C)=−λ2∥α∥2+2λαTy−λ∥XTα∥−λC . Si nous prenons un dérivé wrt , nous obtenons - la même réponse que pour la régression habituelle de Kernel Ridge. Il n'est pas nécessaire de prendre un dérivé wrt - cela dépend de , qui est un paramètre de régularisation - et il crée également paramètre de régularisation .α αα = ( X X T - λ I ) - 1 yα=(XXT−λI)−1y λ λC Cλλ
Ensuite, mettez à la solution de forme primitive pour , et obtenez . Ainsi, la forme double donne la même solution que la régression Ridge habituelle, et c'est juste une façon différente d'arriver à la même solution.α αw ww =12 λ XTβ=XTαw=12λXTβ=XTα
Régression de Kernel Ridge
Les noyaux sont utilisés pour calculer le produit interne de deux vecteurs dans un espace de fonctionnalité sans même le visiter. Nous pouvons voir un noyau comme , bien que nous ne sachions pas ce qu'est - nous savons seulement qu'il existe. Il existe de nombreux noyaux, par exemple RBF, Polynonial, etc.k kk ( x 1 , x 2 ) = ϕ ( x 1 ) T ϕ ( x 2 ) k(x1,x2)=ϕ(x1)Tϕ(x2)ϕ ( ⋅ )ϕ(⋅)
Nous pouvons utiliser des noyaux pour rendre notre régression de crête non linéaire. Supposons que nous ayons un noyau . Soit une matrice où chaque ligne est , c'est-à-direk(x1,x2)=ϕ(x1)Tϕ(x2)k(x1,x2)=ϕ(x1)Tϕ(x2)Φ(X)Φ(X)ϕ(xi)ϕ(xi)Φ(X)=[—ϕ(x1)——ϕ(x2)—⋮—ϕ(xn)—]Φ(X)=⎡⎣⎢⎢⎢⎢⎢—ϕ(x1)——ϕ(x2)—⋮—ϕ(xn)—⎤⎦⎥⎥⎥⎥⎥
Maintenant, nous pouvons simplement prendre la solution pour la régression de crête et remplacer chaque par : . Pour un nouveau point de données invisible nous prédisons sa valeur cible comme .XXΦ(X)Φ(X)w=Φ(X)T(Φ(X)Φ(X)T+λI)−1yw=Φ(X)T(Φ(X)Φ(X)T+λI)−1yxxˆyy^ˆy=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)−1yy^=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)−1y
Tout d'abord, nous pouvons remplacer par une matrice , calculée comme . Alors, est . Nous avons donc réussi à exprimer chaque produit scalaire du problème en termes de noyaux.Φ(X)Φ(X)TΦ(X)Φ(X)TKK(K)ij=k(xi,xj)(K)ij=k(xi,xj)ϕ(x)TΦ(X)Tϕ(x)TΦ(X)Tn∑i=1ϕ(x)Tϕ(xi)=n∑i=1k(x,xj)∑i=1nϕ(x)Tϕ(xi)=∑i=1nk(x,xj)
Enfin, en laissant (comme précédemment), on obtientα=(K+λI)−1yα=(K+λI)−1yˆy=n∑i=1αik(x,xj)y^=∑i=1nαik(x,xj)
Les références