Kurze Antwort: Kein Unterschied zwischen Primal und Dual - es geht nur um den Weg zur Lösung. Die Kernel-Ridge-Regression ist im Wesentlichen dieselbe wie die übliche Ridge-Regression, verwendet jedoch den Kernel-Trick, um nichtlinear zu werden.
Lineare Regression
Zuallererst versucht eine gewöhnliche lineare Regression der kleinsten Quadrate, eine gerade Linie an die Menge der Datenpunkte anzupassen, so dass die Summe der quadratischen Fehler minimal ist.
Wir parametrisieren die am besten passende Linie mit und für jeden Datenpunkt wir wollen . Sei der Fehler - der Abstand zwischen vorhergesagten und wahren Werten. Unser Ziel ist es also, die Summe der Fehlerquadrate zu minimieren wobei - eine Datenmatrix mit jeder ist eine Zeile und ein Vektor mit allen .w(xi,yi)wTxi≈yiei=yi−wTxi∑e2i=∥e∥2=∥Xw−y∥2X=⎡⎣⎢⎢⎢⎢—x1——x2—⋮—xn—⎤⎦⎥⎥⎥⎥xiy=(y1, ... ,yn)yi
Das Ziel ist also , und die Lösung ist (bekannt als "Normal Equation").minw∥Xw−y∥2w=(XTX)−1XTy
Für einen neuen unsichtbaren Datenpunkt sagen wir seinen Zielwert als voraus .xyy^y = w T xy^=wTx
Ridge Regression
Wenn es in linearen Regressionsmodellen viele korrelierte Variablen gibt, können die Koeffizienten schlecht bestimmt werden und eine große Varianz aufweisen. Eine der Lösungen für dieses Problem besteht darin, die Gewichte so einzuschränken, dass sie ein gewisses Budget nicht überschreiten . Dies ist gleichbedeutend mit der Verwendung der , die auch als "Gewichtsabnahme" bezeichnet wird: Sie verringert die Varianz auf Kosten der manchmal fehlenden korrekten Ergebnisse (dh durch Einführen einer gewissen Verzerrung).wwCL2
Das Ziel wird jetzt , wobei der Regularisierungsparameter ist. Wenn wir die Mathematik durchgehen, erhalten wir die folgende Lösung: . Es ist der üblichen linearen Regression sehr ähnlich, aber hier addieren wir zu jedem diagonalen Element von .minw∥Xw−y∥2+λ∥w∥2λw=(XTX+λI)−1XTyλXTX
Beachten Sie, dass wir als (siehe hier für Details). Für einen neuen unsichtbaren Datenpunkt prognostizieren wir seinen Zielwert als . Es sei . Dann ist .ww=XT(XXT+λI)−1yx y y = x T w = x T X Txy^y^=xTw=xTXT(XXT+λI)−1yα=(XXT+λI)−1yy = x T X T α = n Σ i = 1 α i ⋅ x T x iy^=xTXTα=∑i=1nαi⋅xTxi
Ridge Regression Dual Form
Wir können unser Ziel anders betrachten - und das folgende quadratische Programmproblem definieren:
mine,w∑i=1ne2i e i = y i - w T x i i=1 st für und .ei=yi−wTxii=1..n∥w∥2⩽C
Es ist das gleiche Ziel, aber etwas anders ausgedrückt, und hier ist die Beschränkung der Größe von explizit. Um dies zu lösen, definieren wir das Lagrange - dies ist die Urform, die die Urvariablen und . Dann optimieren wir es für und . Um die duale Formulierung zu erhalten, setzen wir found und zurück auf .wLp(w,e;C)weewewLp(w,e;C)
Also ist . Indem wir Ableitungen von und , erhalten wir und . Wenn und und zurück auf , erhalten wir duale LagrangeLp(w,e;C)=∥e∥2+βT(y−Xw−e)−λ(∥w∥2−C)wee=12βw=12λXTβα=12λβewLp(w,e;C)Ld(α,λ;C)=−λ2∥α∥2+2λαTy−λ∥XTα∥−λC . Wenn wir eine Ableitung von , erhalten wir - die gleiche Antwort wie für die übliche Kernel-Ridge-Regression. Es ist nicht erforderlich, eine Ableitung von - dies hängt von , einem Regularisierungsparameter - und es wird auch der Regularisierungsparameter .αα=(XXT−λI)−1yλCλ
Als nächstes setze in die Lösung der Urform für und erhalte . Somit ergibt die duale Form dieselbe Lösung wie die übliche Ridge-Regression, und es ist nur ein anderer Weg, zur selben Lösung zu gelangen.αww=12λXTβ=XTα
Kernel Ridge Regression
Kernel werden verwendet, um das innere Produkt von zwei Vektoren in einem Merkmalsraum zu berechnen, ohne es überhaupt zu besuchen. Wir können einen Kernel als , obwohl wir nicht wissen, was ist - wir wissen nur, dass es existiert. Es gibt viele Kernel, zB RBF, Polynonial, etc.kk(x1,x2)=ϕ(x1)Tϕ(x2)ϕ(⋅)
Wir können Kernel verwenden, um unsere Ridge-Regression nichtlinear zu machen. Angenommen, wir haben einen Kernel . Sei eine Matrix, in der jede Zeile , dhk(x1,x2)=ϕ(x1)Tϕ(x2)Φ(X)ϕ(xi)Φ(X)=⎡⎣⎢⎢⎢⎢⎢—ϕ(x1)——ϕ(x2)—⋮—ϕ(xn)—⎤⎦⎥⎥⎥⎥⎥
Jetzt können wir einfach die Lösung für Ridge Regression nehmen und jedes durch ersetzen : . Für einen neuen unsichtbaren Datenpunkt prognostizieren wir seinen Zielwert als .XΦ(X)w=Φ(X)T(Φ(X)Φ(X)T+λI)−1yxy^y^=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)−1y
Erstens können wir durch eine Matrix ersetzen , berechnet als . Dann ist . Hier haben wir es also geschafft, jedes Skalarprodukt des Problems in Form von Kerneln auszudrücken.Φ(X)Φ(X)TK(K)ij=k(xi,xj)ϕ(x)TΦ(X)T∑i=1nϕ(x)Tϕ(xi)=∑i=1nk(x,xj)
Schließlich erhalten wir, indem wir (wie zuvor) lassen,α=(K+λI)−1yy^=∑i=1nαik(x,xj)
Verweise