Коротка відповідь: різниці між Primal і Dual немає - мова йде лише про спосіб досягнення рішення. Регресія хребта ядра по суті є такою ж, як і звичайна регресія хребта, але використовує фокус ядра, щоб нелінійно.
Лінійна регресія
Перш за все, звичайна лінійна регресія найменших квадратів намагається прилаштувати пряму лінію до набору точок даних таким чином, щоб сума помилок у квадраті була мінімальною.
Ми параметризуємо найбільш відповідну лінію з ww і для кожної точки даних ( x i , y i )(xi,yi) хочемо w T x i ≈ y iwTxi≈yi . Нехай e 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- - х 2- ⋮ - x n- ]X=⎡⎣⎢⎢⎢⎢—x1——x2—⋮—xn—⎤⎦⎥⎥⎥⎥- матриця даних з кожнимхяxiбути рядок, аY=(у1,...,Уп) y=(y1, ... ,yn)вектор з усімауяyi«с.
Таким чином, мета - min w ‖ X w - y ‖ 2minw∥Xw−y∥2 , а рішення w = ( X T X ) - 1 X T yw=(XTX)−1XTy (відоме як "Нормальне рівняння").
Для нової точки невидимих даних хx ми передбачаємо його цільове значення у , як у = ш Т хy^y^=wTx .
Регрес хребта
Коли в моделях лінійної регресії є багато корельованих змінних, коефіцієнти ww можуть бути погано визначеними та мати велику дисперсію. Одним з рішень цієї проблеми є обмеження ваги Ww , щоб вони не перевершують деякий бюджет CC . Це еквівалентно використанню L 2L2 -регуляризації, відомого також як "зниження ваги": це зменшить дисперсію за вартістю, коли інколи не вистачає правильних результатів (тобто, вводячи деякі зміщення).
Мета тепер стає min w ‖ X w - y ‖ 2 + λ‖ W ‖ 2minw∥Xw−y∥2+λ∥w∥2 , причому λλ є параметром регуляризації. Проходячи математику, ми отримуємо таке рішення: 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α=n∑i=1αi⋅xTxiy^=xTXTα=∑i=1nαi⋅xTxi.
Ridge Regression Dual Form
We can have a different look at our objective - and define the following quadratic program problem:
mine,wn∑i=1e2imine,w∑i=1ne2i s.t. ei=yi−wTxiei=yi−wTxi for i=1..ni=1..n and ‖w‖2⩽C∥w∥2⩽C.
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)=‖e‖2+βT(y−Xw−e)−λ(‖w‖2−C)Lp(w,e;C)=∥e∥2+βT(y−Xw−e)−λ(∥w∥2−C). 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 n∑i=1ϕ(x)Tϕ(xi)=n∑i=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=n∑i=1αik(x,xj)
References