ความแตกต่างระหว่าง Primal, Dual และ Kernel Ridge Regression


18

ความแตกต่างระหว่างPrimal , DualและKernel Ridge Regression คืออะไร? ผู้คนกำลังใช้ทั้งสามและเนื่องจากความแตกต่างของสัญลักษณ์ที่ทุกคนใช้ในแหล่งที่แตกต่างกันเป็นเรื่องยากสำหรับฉันที่จะติดตาม

ดังนั้นใครบางคนสามารถบอกฉันด้วยคำพูดง่ายๆสิ่งที่แตกต่างระหว่างสามคนนี้คืออะไร? นอกจากนี้สิ่งที่อาจเป็นข้อดีหรือข้อเสียของแต่ละคนและสิ่งที่มีความซับซ้อนของพวกเขา?

คำตอบ:


39

คำตอบสั้น ๆ : ไม่มีความแตกต่างระหว่าง Primal และ Dual - เป็นเพียงเกี่ยวกับวิธีการแก้ปัญหา การถดถอยของสันเคอร์เนลเป็นหลักเช่นเดียวกับการถดถอยสันปกติ แต่ใช้เคล็ดลับเคอร์เนลเพื่อไปที่ไม่ใช่เชิงเส้น

การถดถอยเชิงเส้น

ก่อนอื่นการถดถอยเชิงเส้นแบบ Least Squares แบบปกติพยายามที่จะใส่เส้นตรงกับชุดของจุดข้อมูลในลักษณะที่ผลรวมของข้อผิดพลาดกำลังสองน้อยที่สุด

ป้อนคำอธิบายรูปภาพที่นี่

เรา parametrize เส้นแบบที่ดีที่สุดกับWwและแต่ละจุดข้อมูล( xฉัน , Y ฉัน )(xi,yi)เราต้องการW T xฉันYwTxiyiฉัน ให้อีฉัน = Y ฉัน - W T xฉันei=yiwTxiเป็นข้อผิดพลาด - ระยะห่างระหว่างค่าคาดการณ์และความจริง ดังนั้นเป้าหมายของเราคือการลดผลรวมของความคลาดเคลื่อนกำลังสองน้อยที่สุดe 2 i = e 2 = X w - y 2e2i=e2=Xwy2โดยที่X = [ - x 1- - x 2- - x n- ]X=x1x2xn- เมทริกซ์ข้อมูลกับแต่ละxฉันxiเป็นแถวและY=(y ที่1,...,Yn)  y=(y1, ... ,yn)เวกเตอร์ที่มีทุกปีฉันyi's

ดังนั้นวัตถุประสงค์คือmin wX w - y 2minwXwy2และวิธีแก้ไขคือw = ( X T X ) - 1 X T yw=(XTX)1XTy (รู้จักกันในชื่อ "สมการปกติ")

สำหรับจุดที่มองไม่เห็นข้อมูลใหม่xxเราคาดการณ์ค่าเป้าหมายของYเป็นY = W T xy^y^=wTx

การถดถอยของสัน

เมื่อมีตัวแปรที่สัมพันธ์กันจำนวนมากในตัวแบบการถดถอยเชิงเส้นสัมประสิทธิ์wwสามารถกำหนดได้ไม่ดีและมีความแปรปรวนจำนวนมาก หนึ่งของการแก้ปัญหาในการแก้ไขปัญหานี้คือการ จำกัด น้ำหนักWwเพื่อให้พวกเขาจะไม่เกินงบประมาณบางC Cนี่คือเทียบเท่ากับการใช้L 2L2 -regularization ยังเป็นที่รู้จักในฐานะ "ผุน้ำหนัก" มันจะลดความแปรปรวนที่ค่าใช้จ่ายของบางครั้งหายไปผลลัพธ์ที่ถูกต้อง (เช่นโดยการแนะนำอคติบางอย่าง)

เป้าหมายตอนนี้กลายเป็นmin wX w - y 2 + λw 2minwXwy2+λw2โดย λλเป็นพารามิเตอร์การทำให้เป็นมาตรฐาน เราจะได้คำตอบดังต่อไปนี้: w = ( X T X + λฉัน) - 1 X Tw=(XTX+λI)1XTy Y มันคล้ายกันมากกับการถดถอยเชิงเส้นปกติ แต่ที่นี่เราเพิ่ม λλแต่ละองค์ประกอบเส้นทแยงมุมของ X TXTX X

โปรดทราบว่าเราสามารถเขียนwwเป็นw = X T ได้อีกครั้ง( X X T + λฉัน) - 1ปีw=XT(XXT+λI)1y (ดูที่นี่สำหรับรายละเอียด) สำหรับจุดที่มองไม่เห็นข้อมูลใหม่ xxเราคาดการณ์ค่าเป้าหมายของปีเป็นปีy^ = x T W = x T X T( X X T + λI ) - 1y^=xTw=xTXT(XXT+λI)1yปี ให้ α = ( X X T + λฉัน) - 1α=(XXT+λI)1yปี แล้ว Y = x T X T α = n Σฉัน= 1 α ฉันx T xฉันy^=xTXTα=i=1nαixTxi

ริดจ์ถดถอยแบบคู่

เราสามารถดูวัตถุประสงค์ของเราได้ - และกำหนดปัญหาโปรแกรมกำลังสองต่อไปนี้:

ต่ำสุดe , w n i = 1 e 2 imine,wi=1ne2i st e i = y i - w T x iei=yiwTxiสำหรับi=1. .ni=1..nและW 2w2C C

มันเป็นวัตถุประสงค์เดียวกัน แต่แสดงออกค่อนข้างแตกต่างกันและที่นี่มีข้อ จำกัด เกี่ยวกับขนาดของwwอย่างชัดเจน เพื่อแก้ปัญหานั้นเราได้นิยาม Lagrangian L p ( w , e ; C )Lp(w,e;C) - นี่คือรูปแบบดั้งเดิมที่มีตัวแปรดั้งเดิมwwและe eแล้วเราจะเพิ่มประสิทธิภาพของมัน WRT eeและW wเพื่อให้ได้สูตรคู่เราใส่eeและwwกลับไปที่L P ( W , E ; CLp(w,e;C) )

ดังนั้นL p ( w , e ; C ) = e 2 + β T ( y - X w - e ) - λ( W 2 - CLp(w,e;C)=e2+βT(yXwe)λ(w2C) ) ด้วยการใช้อนุพันธ์ wrt wwและ eeเราได้ e =12 βe=12βและw=12 λ XTw=12λXTββ โดยให้α=12 λบีตาα=12λβและวางEeและWwกลับไปLP(W,E;C)Lp(w,e;C)เราได้รับคู่ลากรองจ์Ld(α,λ;C)=-λ2α2+2λα T Y - λ X T α - λLd(α,λ;C)=λ2α2+2λαTyλXTαλC C หากเราหาอนุพันธ์ wrt ααเราจะได้ α = ( X X T - λ I ) - 1 yα=(XXTλI)1y - คำตอบเดียวกับ Kernel Ridge Regression ไม่จำเป็นต้องใช้อนุพันธ์ wrt λλ - ขึ้นอยู่กับ CCซึ่งเป็นพารามิเตอร์การทำให้เป็นมาตรฐาน - และมันก็ทำให้พารามิเตอร์ λλ normalization เช่นกัน

ถัดไปใส่ααไปยังโซลูชันรูปแบบเบื้องต้นสำหรับwwและรับw =12 λ XTβ=XTw=12λXTβ=XTαα ดังนั้นรูปแบบที่สองให้วิธีการแก้ปัญหาเช่นเดียวกับสันถดถอยปกติและเป็นเพียงวิธีที่แตกต่างกันในการแก้ปัญหาเดียวกัน

การถดถอยของเคอร์เนลเคอร์เนล

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)1yw=Φ(X)T(Φ(X)Φ(X)T+λI)1y. For a new unseen data point xx we predict its target value ˆyy^ as ˆy=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)1yy^=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)1y.

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

Finally, by letting α=(K+λI)1yα=(K+λI)1y (as previously), we obtain ˆy=ni=1αik(x,xj)y^=i=1nα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 ww 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/λ1/λ unit
seanv507

1
I believe you meant add λλ to diagonal elements of XTXXTX not subtract(?) in the ridge regression section. I applied the edit.
Heteroskedastic Jim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.