Primal, Dual ve Kernel Ridge Regresyonu Arasındaki Fark


19

Primal , Dual ve Kernel Ridge Regresyonu arasındaki fark nedir ? İnsanlar her üçünü de kullanıyor ve herkesin farklı kaynaklarda kullandığı farklı gösterimden dolayı benim için zor.

Birisi bana bu üç kelime arasındaki farkın ne olduğunu basit bir şekilde söyleyebilir mi? Ayrıca, her birinin avantajları ve dezavantajları neler olabilir ve karmaşıklıkları neler olabilir?

Yanıtlar:


40

Kısa cevap: Primal ve Dual arasında fark yok - sadece çözüme varmanın yolu hakkında. Çekirdek sırt regresyonu esas olarak normal sırt regresyonu ile aynıdır, ancak doğrusal olmayan gitmek için çekirdek hile kullanır.

Doğrusal Regresyon

Her şeyden önce, olağan bir En Küçük Kareler Doğrusal Regresyon, kare hatalarının toplamı minimum olacak şekilde veri noktalarına düz bir çizgi sığdırmaya çalışır.

enter image description here

Bu en iyi uyum hattı parametrize ağırlıkw ve her bir veri noktası için ( x i , y i )(xi,yi) istediğimiz w T x iy iwTxiyi . Let e i = y ı - a , T x iei=yiwTxi öngörülen ve gerçek değerler arasındaki mesafe - hata olabilir. Bu nedenle hedefimiz, kare hatalarının toplamını en aza indirmektir e 2 i = e 2 = X w - y 2e2i=e2=Xwy2burada X = [ - x 1- - x 2- - x n- ]X=x1x2xn- her biri, bir veri matrisixıxibir satır ve olmaky=(y1,...,Y, n)  y=(y1, ... ,yn)her bir vektöryiyiVar.

Bu nedenle amaç, bir dakika ağırlıkX ağırlık - y 2minwXwy2 ve çözüm w = ( X , T x ) - 1 x T yw=(XTX)1XTy ( "normal Denklem" olarak da bilinir).

Yeni görünmeyen veri noktası için xx onun hedef değer tahmin y olarak y = W , T x .y^y^=wTx

Sırt Regresyonu

Doğrusal regresyon modellerinde birçok ilişkili değişken olduğunda, ww katsayıları zayıf bir şekilde belirlenebilir ve çok fazla varyansa sahip olabilir. Bu sorunun çözümlerinden biri, ağırlıkları ww sınırlamak ve böylece bazı bütçe C'yiC aşmamaktır . Bu kullanarak eşdeğerdir L 2L2 aynı zamanda "ağırlık çürüme" olarak bilinen -regularization: bazen doğru sonuçları eksik pahasına varyansını azalacak (yani bazı önyargı tanıtarak).

Amaç şimdi min wX w - y 2 + λ olurAğırlık 2minwXwy2+λw2 ile, λλ düzenlilestirme parametredir. Matematikten geçerek aşağıdaki çözümü elde ederiz: w = ( X T X + λI ) - 1 X T yw=(XTX+λI)1XTy . Her zamanki doğrusal regresyona çok benzer, ancak burada X T X'in her bir diyagonal elemanına λλ ekliyoruz.XTX

Not biz ki yeniden yazma ağırlıkw olarak ağırlık = X , T( X X T + λI ) - 1 yw=XT(XXT+λI)1y (ayrıntılar içinburayabakın). Yeni görünmeyen veri noktası için xx onun hedef değer tahmin y olarak y = x T w = X , T x Ty^( X X T + λI ) - 1 yıly^=xTw=xTXT(XXT+λI)1y . Let α = ( X- X- T + λI)1yα=(XXT+λI)1y. Then ˆy=xTXTα=ni=1αixTxiy^=xTXTα=i=1nαixTxi.

Ridge Regression Dual Form

We can have a different look at our objective - and define the following quadratic program problem:

mine,wni=1e2imine,wi=1ne2i s.t. ei=yiwTxiei=yiwTxi for i=1..ni=1..n and w2Cw2C.

It's the same objective, but expressed somewhat differently, and here the constraint on the size of ww is explicit. To solve it, we define the Lagrangian Lp(w,e;C)Lp(w,e;C) - this is the primal form that contains primal variables ww and ee. Then we optimize it w.r.t. ee and ww. To get the dual formulation, we put found ee and ww back to Lp(w,e;C)Lp(w,e;C).

So, Lp(w,e;C)=e2+βT(yXwe)λ(w2C)Lp(w,e;C)=e2+βT(yXwe)λ(w2C). By taking derivatives w.r.t. ww and ee, we obtain e=12βe=12β and w=12λXTβw=12λXTβ. By letting α=12λβα=12λβ, and putting ee and ww back to Lp(w,e;C)Lp(w,e;C), we get dual Lagrangian Ld(α,λ;C)=λ2α2+2λαTyλXTαλCLd(α,λ;C)=λ2α2+2λαTyλXTαλC. If we take a derivative w.r.t. αα, we get α=(XXTλI)1yα=(XXTλI)1y - the same answer as for usual Kernel Ridge regression. There's no need to take a derivative w.r.t λλ - it depends on CC, which is a regularization parameter - and it makes λλ regularization parameter as well.

Next, put αα to the primal form solution for ww, and get w=12λXTβ=XTαw=12λXTβ=XTα. Thus, the dual form gives the same solution as usual Ridge Regression, and it's just a different way to come to the same solution.

Kernel Ridge Regression

Kernels are used to calculate inner product of two vectors in some feature space without even visiting it. We can view a kernel kk as k(x1,x2)=ϕ(x1)Tϕ(x2)k(x1,x2)=ϕ(x1)Tϕ(x2), although we don't know what ϕ()ϕ() is - we only know it exists. There are many kernels, e.g. RBF, Polynonial, etc.

We can use kernels to make our Ridge Regression non-linear. Suppose we have a kernel k(x1,x2)=ϕ(x1)Tϕ(x2)k(x1,x2)=ϕ(x1)Tϕ(x2). Let Φ(X)Φ(X) be a matrix where each row is ϕ(xi)ϕ(xi), i.e. Φ(X)=[ϕ(x1)ϕ(x2)ϕ(xn)]Φ(X)=ϕ(x1)ϕ(x2)ϕ(xn)

Now we can just take the solution for Ridge Regression and replace every XX with Φ(X)Φ(X): w=Φ(X)T(Φ(X)Φ(X)T+λI)1y. For a new unseen data point x we predict its target value ˆy as ˆy=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)1y.

First, we can replace Φ(X)Φ(X)T by a matrix K, calculated as (K)ij=k(xi,xj). Then, ϕ(x)TΦ(X)T is ni=1ϕ(x)Tϕ(xi)=ni=1k(x,xj). So here we managed to express every dot product of the problem in terms of kernels.

Finally, by letting α=(K+λI)1y (as previously), we obtain ˆy=ni=1αik(x,xj)

References


1
I am impressed by the well-organized discussion. However, your early reference to "outliers" confused me. It appears the weights w apply to the variables rather than the cases, so how exactly would ridge regression help make the solution robust to outlying cases, as suggested by the illustration?
whuber

Excellent answer, Alexey (though I wouldn't call it "simple words")! +1 with no questions asked. You like to write in LaTeX, don't you?
Aleksandr Blekh

3
I suspect you might be confusing some basic things here. AFAIK, ridge regression is neither a response to nor a way of coping with "noisy observations." OLS already does that. Ridge regression is a tool used to cope with near-collinearity among regressors. Those phenomena are completely different from noise in the dependent variable.
whuber

1
+1 whuber. Alexey you are right it is overfitting -ie too many parameters for the available data - not really noise. [ and add enough dimensions for fixed sample size and 'any' data set becomes collinear]. So a better 2-d picture for RR would be all the points clustered around (0,1) with a single point at (1,0) ['justifying' the slope parameter]. See ESL fig 3.9,page 67 web.stanford.edu/~hastie/local.ftp/Springer/OLD/…. also look at primal cost function: to increase weight by 1 unit, error must decrease by 1/λ unit
seanv507

1
I believe you meant add λ to diagonal elements of XTX not subtract(?) in the ridge regression section. I applied the edit.
Heteroskedastic Jim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.