机器学习技法(3)--Kernel Support Vector Machine
根據(jù)上一次推導(dǎo)出來的問題:
從計算的角度來說,如果維度太大,向量z的內(nèi)積求解起來非常的耗時耗力。
我們可以把這個過程分拆成兩個步驟,先是一個x空間到z空間的轉(zhuǎn)換Φ,再在z空間里做內(nèi)積。如果能把這兩個步驟合起來算得快一點的話就可以避開這個大計算量。
x和x'轉(zhuǎn)換了再做內(nèi)積:
這樣的方法可以算得比較快,因為直接在x空間內(nèi)計算就好了,不用在z空間計算:
而這樣的轉(zhuǎn)換叫做kernel function:
這個kernel在SVM里怎樣應(yīng)用呢?
可見,kernel trick是一個避免了在高緯度空間進(jìn)行計算的方法。根據(jù)上圖的替代,得出了kernel SVM:
而且,kernel SVM在做prediction的時候只需要SV就可以了。
下面介紹更多的其他形式的二項式轉(zhuǎn)換的kernel:
上面的放縮可以提煉成更加通用的形式:
只要稍微改一下kernel,點對我們要找的線的距離也會隨之改變(distance/margin),SV也會跟著改變。所以kernel也要仔細(xì)選擇。
從2次項kernel,往高次項kernel推導(dǎo):
不管是什么樣的維度,kernel的好處都是適用的:
kernel做1維轉(zhuǎn)換的時候:
這樣簡單的轉(zhuǎn)換用原來的方法解決就好了。
那如果這個維度是無限大呢?
上圖證明了無限多維的kernel也是可行的。所以引出了Gaussian kernel:
把它代入到SVM里:
得到了中心在SV上的線性函數(shù)。所以高斯kernel的本質(zhì)是:
下面比較一下不同kernel的優(yōu)缺點:
linear kernel
polynomial kernel
Gaussian kernel
其他kernel的介紹:
kernel代表了向量的內(nèi)積,也就是向量的相似性。kernel必須具備兩個特質(zhì),一個是對稱性,另一個是半正定。
總結(jié):
?
轉(zhuǎn)載于:https://www.cnblogs.com/cyoutetsu/p/5920629.html
總結(jié)
以上是生活随笔為你收集整理的机器学习技法(3)--Kernel Support Vector Machine的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: datagrid后台分页js.js
- 下一篇: .net 刷新页面防止表单二次提交