5.3 核函数-机器学习笔记-斯坦福吴恩达教授
核函數
在邏輯回歸中,我們會通過多項式擴展來處理非線性分類問題:
hθ(x)=θ0+θ1x1+θ2x2+θ3x1x2+θ4x12+θ5x22+?h_θ(x)=θ_0+θ_1x_1+θ_2x_2+θ_3x_1x_2+θ_4x^2_1+θ_5x^2_2+?hθ?(x)=θ0?+θ1?x1?+θ2?x2?+θ3?x1?x2?+θ4?x12?+θ5?x22?+?
假設我們令:
f1=x1,f2=x2,f3=x1x2,f4=x12,f5=x22f_1=x_1,f_2=x_2,f_3=x_1x_2,f_4=x^2_1,f_5=x^2_2f1?=x1?,f2?=x2?,f3?=x1?x2?,f4?=x12?,f5?=x22?
則預測函數為:
hθ(x)=θ0+θ1f1+θ2f2+θ3f3+?h_θ(x)=θ_0+θ_1f_1+θ_2f_2+θ_3f_3+?hθ?(x)=θ0?+θ1?f1?+θ2?f2?+θ3?f3?+?
但多項式回歸所帶來的高階項不一定作用明顯,針對這一問題,SVM 不會引入高階項來作為新的特征,而是會選擇一些標記點(landmark),并將樣本 xxx 與標記點 l(i)l^{(i)}l(i) 的相似程度作為新的訓練特征 fif_ifi? :
fi=similarity(x,l(i))f_i=similarity(x,l^{(i)})fi?=similarity(x,l(i))
距離度量的方式就稱之為核函數(Kernel),最常見的核函數是高斯核函數(Gaussian Kernel):
fi=exp(?∣∣x?l(i)∣∣22δ2)f_i=exp(\frac {?||x?l^{(i)}||^2}{2δ^2})fi?=exp(2δ2?∣∣x?l(i)∣∣2?)
在高斯核中,注意到:
-
如果樣本與標記點足夠接近,即 x≈l(i) ,則:
f≈exp(?022δ2)≈1f≈exp(?\frac {0^2}{2δ^2})≈1f≈exp(?2δ202?)≈1 -
如果樣本遠離標記點,則:
f≈exp(?(largenumber)22δ2)≈0f≈exp(?\frac {(large\ number)^2}{2δ^2})≈0f≈exp(?2δ2(large?number)2?)≈0
這一關系可以被如下的熱力圖所反映:
在使用高斯核函數前,需要做特征縮放(feature scaling),以使 SVM 同等程度地關注到不同的特征。
標記點選取
假定我們有如下的數據集:
(x(1),y(1)),(x(2),y(2)),(x(3),y(3)),?,(x(m),y(m))(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),(x^{(3)},y^{(3)}),?,(x^{(m)},y^{(m)})(x(1),y(1)),(x(2),y(2)),(x(3),y(3)),?,(x(m),y(m))
我們就將每個樣本作為一個標記點:
l(1)=x(1),l(2)=x(2),l(3)=x(3),?,l(m)=x(m)l^{(1)}=x^{(1)},l^{(2)}=x^{(2)},l^{(3)}=x^{(3)},?,l^{(m)}=x^{(m)}l(1)=x(1),l(2)=x(2),l(3)=x(3),?,l(m)=x(m)
則對于樣本 (x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i)) ,我們計算其與各個標記點的距離:
f1(i)=sim(x(i),l(1))f^{(i)}_1=sim(x^{(i)},l^{(1)})f1(i)?=sim(x(i),l(1))f2(i)=sim(x(i),l(2))f^{(i)}_2=sim(x^{(i)},l^{(2)})f2(i)?=sim(x(i),l(2))???fm(i)=sim(x(i),l(3))f^{(i)}_m=sim(x^{(i)},l^{(3)})fm(i)?=sim(x(i),l(3))
得到新的特征向量: f∈Rm+1f∈\R^{m+1}f∈Rm+1
f=(f0f1f2?fm)其中f0=1f=\left( \begin{matrix} f_0 \\ f_1 \\ f_2 \\ ? \\ f_m \end{matrix} \right)\quad 其中f_0=1 f=????????f0?f1?f2??fm??????????其中f0?=1
則具備核函數的 SVM 的訓練過程如下:
min?θC[∑i=1my(i)cost1(θTf(i))+(1?y(i))cost0(θTf(i))]+12∑j=1nθj2\min_θC[∑_{i=1}^m y^{(i)}cost_1(θ^Tf^{(i)})+(1?y^{(i)})cost_0(θ^Tf^{(i)})]+\frac12∑_{j=1}^nθ^2_jθmin?C[i=1∑m?y(i)cost1?(θTf(i))+(1?y(i))cost0?(θTf(i))]+21?j=1∑n?θj2?
總結
以上是生活随笔為你收集整理的5.3 核函数-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5.2 大间距分类器-机器学习笔记-斯坦
- 下一篇: 5.4 SVM的使用建议-机器学习笔记-