Різниця між первинною, подвійною та регресією хребта Кернел


18

Яка різниця між Primal , подвійною та регресією керневого хребта? Люди використовують усіх трьох, і через різні позначення, якими користуються всі в різних джерелах, мені важко дотримуватися.

То чи може хтось простими словами сказати мені, в чому різниця між цими трьома? Крім того, які можуть бути деякі переваги чи недоліки кожного, і яка може бути їх складність?

Відповіді:


39

Коротка відповідь: різниці між Primal і Dual немає - мова йде лише про спосіб досягнення рішення. Регресія хребта ядра по суті є такою ж, як і звичайна регресія хребта, але використовує фокус ядра, щоб нелінійно.

Лінійна регресія

Перш за все, звичайна лінійна регресія найменших квадратів намагається прилаштувати пряму лінію до набору точок даних таким чином, щоб сума помилок у квадраті була мінімальною.

введіть тут опис зображення

Ми параметризуємо найбільш відповідну лінію з ww і для кожної точки даних ( x i , y i )(xi,yi) хочемо w T x iy iwTxiyi . Нехай e i = y i - w T x iei=yiwTxi - помилка - відстань між передбачуваними та істинними значеннями. Отже, наша мета - мінімізувати суму помилок у квадраті e 2 i = e 2 = X w - y 2e2i=e2=Xwy2де X = [ - x 1- - х 2- - x n- ]X=x1x2xn- матриця даних з кожнимхяxiбути рядок, аY=(у1,...,Уп)  y=(y1, ... ,yn)вектор з усімауяyi«с.

Таким чином, мета - min wX w - y 2minwXwy2 , а рішення w = ( X T X ) - 1 X T yw=(XTX)1XTy (відоме як "Нормальне рівняння").

Для нової точки невидимих даних хx ми передбачаємо його цільове значення у , як у = ш Т хy^y^=wTx .

Регрес хребта

Коли в моделях лінійної регресії є багато корельованих змінних, коефіцієнти ww можуть бути погано визначеними та мати велику дисперсію. Одним з рішень цієї проблеми є обмеження ваги Ww , щоб вони не перевершують деякий бюджет CC . Це еквівалентно використанню L 2L2 -регуляризації, відомого також як "зниження ваги": це зменшить дисперсію за вартістю, коли інколи не вистачає правильних результатів (тобто, вводячи деякі зміщення).

Мета тепер стає min wX w - y 2 + λW 2minwXwy2+λw2 , причому λλ є параметром регуляризації. Проходячи математику, ми отримуємо таке рішення: w = ( X T X +λI)1XTyw=(XTX+λI)1XTy. It's very similar to the usual linear regression, but here we add λλ to each diagonal element of XTXXTX.

Note that we can re-write ww as w=XT(XXT+λI)1yw=XT(XXT+λI)1y (see here for details). For a new unseen data point xx we predict its target value ˆyy^ as ˆy=xTw=xTXT(XXT+λI)1yy^=xTw=xTXT(XXT+λI)1y. Let α=(XXT+λ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). Let Φ(X) be a matrix where each row is ϕ(xi), i.e. Φ(X)=[ϕ(x1)ϕ(x2)ϕ(xn)]

Now we can just take the solution for Ridge Regression and replace every X with Φ(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

2
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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.