本文參考整理了Coursera上由NTU的林軒田講授的《機器學(xué)習(xí)技法》課程的第六章的內(nèi)容鲸伴,主要介紹了如何將kernel trick應(yīng)用到ridge regression以及消除了LSSVM的稠密矩陣特性的基于tube error的SVR算法帝雇,總結(jié)歸納了我們之前五章所學(xué)到的所有的kernel模型翻诉。至此,我們的第一部分,利用kernel model解決巨量的特征的問題就講述完畢了。文中的圖片都是截取自在線課程的講義。
歡迎到我的博客跟蹤最新的內(nèi)容變化拓售。
如果有任何錯誤或者建議,歡迎指出,感激不盡!
--
本系列文章已發(fā)六章访惜,前五章的地址如下:
- 一堕扶、線性SVM
- 二南用、SVM的對偶問題
- 三、Kernel SVM
- 四、Soft-Margin SVM
- 五、Kernel Logistic Regression
Kernel Ridge Regression
利用representer theorem可以把kernel ridge regression problem描述如下:
化簡得
kernel ridge regression就是利用representer theorem玻侥,將kernel trick應(yīng)用到ridge regression問題上。
怎么解β亿蒸?
不難發(fā)現(xiàn)問題就是β的一個二次式凑兰,且問題是無條件最佳化問題掌桩,可以使用梯度為0求解,類似ridge regression可以直接得到analytic solution姑食。
類比于單變量微積分求導(dǎo)法則波岛,不難得到梯度的表達式如下:
若要▽E[aug](β)=0,一個解析解是使((λI+K)β-y)=0音半,即
矩陣的逆是否一定存在呢盆色?
如果λ>0(對ridge regression一定滿足λ>0),則一定存在逆祟剔,因為K是半正定的(Mercer's Condition),加上一個正的λI摩梧,一定是可逆的物延。
求逆需要時間O(N^3),且K矩陣是稠密矩陣仅父。
linear versus kernel ridge regression
原來的linear ridge regression:
注意X矩陣是d*N維度的叛薯。
現(xiàn)在的kernel ridge regression:
linear的效率比較高,而kernel更加靈活flexible笙纤。
Support Vector Regression
之前講過ridge regression也可以用作classification耗溜,那么kernel ridge regression當(dāng)然也可以做classification,它的名稱叫做least-squares SVM(LSSVM)省容,即kernel ridge regression for classification抖拴。
Soft-Margin SVM versus Least-Squares SVM
兩者邊界類似,但是右邊的support vectors數(shù)量明顯更多腥椒,每一個都是SV阿宅。
SV太多==>預(yù)測越慢,β稠密笼蛛,g很肥大
dense β:LSSVM洒放、kernel LogReg
sparse α:standard SVM
目標(biāo):想讓β也變得稀疏,就像標(biāo)準(zhǔn)SVM中的α矩陣一樣滨砍。
Tube Regression
我們允許一個中立區(qū)往湿,當(dāng)點落在藍(lán)色區(qū)域內(nèi)時,我們就不再考慮該點的錯誤惋戏。如果點在外面领追,就考慮錯誤點到中立區(qū)域的距離。
即錯誤衡量為:
通常叫該error measure為ε-insensitive error日川。(ε>0)
接下來蔓腐,求解L2-regularized tube regression去得到稀疏的β。
Tube error vs Squared error
當(dāng)|s-y|比較小時龄句,兩者相似回论。但當(dāng)差別比較大時散罕,tube error受到的影響更小,比較不容易受到noise的影響而遷就傀蓉。
L2-Regularized Tube Regression
雖然是無約束問題欧漱,但是函數(shù)max不可微分,不好求解葬燎。
對比之前的標(biāo)準(zhǔn)SVM的求解方法误甚,得到思路
模仿standard SVM形式:
改寫系數(shù)、分離w0為b等微小改寫操作
這還不是一個QP問題谱净,因為條件中含有絕對值操作窑邦,并不是一個線性運算。
如何拆開絕對值壕探?
把絕對值按照正負(fù)冈钦,拆成兩個部分,用兩個變量來記錄李请,一個代表箭頭往上的錯誤衡量瞧筛、另一個代表箭頭往下的錯誤衡量。當(dāng)一個方向的tube violation不是0時导盅,另一個方向的tube violation一定為0较幌。
這是一個QP問題,有d~+1+2N個變量白翻,有4N個條件乍炉。
這就是標(biāo)準(zhǔn)的Support Vector Regression(SVR) primal problem。
- 參數(shù)C:regularization和tube violation的折中嘁字。
- 參數(shù)ε:tube的豎直高度恩急,對錯誤有多寬容。
SVR比SVM多一個參數(shù)ε可以選擇纪蜒。
下一步衷恭,通過轉(zhuǎn)換SVR primal為SVR的dual問題,使用kernel trick纯续,移除對Z空間維度d~的依賴随珠。
SVR Dual
Lagrange Multipliers α↑ 和 α↓
對于條件ξn>=0的算子就不寫了,因為類似于之前推導(dǎo)Soft Margin SVM的過程中猬错,這樣的multipliers β可以用C-α來表示窗看。
推導(dǎo)過程類似以上所有SVM Dual的推導(dǎo)過程,min(max(L)) <==> max(min(L))倦炒、KKT條件等等显沈。
這里直接給出幾個KKT條件結(jié)果:
SVM Dual && SVR Dual
對偶問題有2N個變量,N個αn↑和N個αn↓。
SVR解的稀疏性
- 嚴(yán)格在tube里面拉讯,即|W’Zn+b-yn| < ε ==> εn↑ = εn↓ = 0 ==> αn↑ = αn↓ = 0 ==> βn = 0 ==>
- SVs(β!=0):剛好在tube邊界上或者在外邊涤浇。
這就說明了β是稀疏的。
Summary Of Kernel Models
Map of Linear Models
Map of Linear/Kernel Models
- 第一行中的方法由于表現(xiàn)比較差魔慷,在實踐中比較少用只锭。
- 第三行中的方法由于稠密矩陣β,在實踐中也比較少用院尔。
Kernel Models
可能的kernel:
- Polynomial
- Gaussian
- Your Design Kernel (with Mercer's Condition)
With great power comes great responsibility!!!
Mind Map Summary
這一章我們講完了Support Vector Regression蜻展。至此,我們的第一大部分《embedding numerous features》也到此結(jié)束邀摆,如果你有很多很多features的時候纵顾,可以使用kernel的技巧,使用高維度的特征轉(zhuǎn)換來做到這件事情栋盹。
下一章我們開始講述如果我們有很多機器學(xué)習(xí)模型可用的時候片挂,是否能把各種不同方法的優(yōu)缺點結(jié)合起來,將不同的學(xué)習(xí)模型融合起來贞盯,得到一個powerful的綜合模型呢?這一手段稱為aggregation沪饺,我們將在后續(xù)幾章中進行探討躏敢,歡迎關(guān)注!