支援向量機(Support vector machine)是一種強大的機器學習演算法,和神經網路相比,它在學習複雜的非線性方程時,能夠提供更清晰和更加強大的方式。為了學習支援向量機,我們可以先從邏輯迴歸開始,看看如何經過小小的改動能得到支援向量機。
在邏輯迴歸中,假設函式 h_θ(x) 為:
影象為:
對於一個樣本來說,代價函式為:
當 y =1 時,第二項為 0,只需要考慮第一項,畫出第一項的影象:
我們把這個影象稍微修改一下,趨勢與邏輯迴歸相似,就變成了支援向量機代價函式一部分的影象 cost_1(z),如下圖粉色線:
第二項同樣道理,cost_0(z):
邏輯迴歸中正則化代價函式為:
將其中係數 1/m 去掉,把紅色部分換成上面粉色影象的函式:
接著將淺藍色和粉色部分調換一下權重:
這樣就得到支援向量機的代價函式:
只需要將這個函式最小化即可得到引數。以上就是從邏輯迴歸推出支援向量機的整個過程。
ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。如果想要一起學習機器學習,可以關注微信公眾號「SuperFeng」,期待與你的相遇。