當咱們在已知參數的狀況下,如何用帶有核函數的支持向量機(SVM)去訓練假設函數呢?web
首先咱們將樣本作爲標記:算法
對於每個 x,都要計算出它的特徵 f,f 爲一個向量:微信
若是下式成立,就能夠預測 y 等於 1,也就是爲正樣本:機器學習
可是如何選取參數呢?咱們最小化下面這個函數的時候,就能夠獲得參數向量:編輯器
如今還有兩個係數沒有選擇,C 和 σ^2 。C 至關於 1/λ,以前咱們學過,λ 的變化會影響高誤差或高方差。所以按照 1/λ 對高誤差或高方差的影響表現選取便可。函數
如今咱們用數據實際觀察一下 C 對 SVM 的影響。當 C 很小時,對於下列數據的決策邊界以下:學習
若是將 C 換成 100,咱們再來看此時的決策邊界:spa
如今你對 C 是否是有一個直觀的認識了呢?3d
σ^2 很大時,圖像爲:orm
特徵 f 變化平滑,所以表現爲高誤差,低方差。σ^2 很小時,圖像爲:
特徵 f 變化激烈,所以表現爲高方差,低誤差。
這樣,一個完整的利用核函數的支持向量機算法就算是完成了。
若是特徵的數量遠大於樣本數,就要用邏輯迴歸或者線性核函數(不帶核函數的SVM)。
若是特徵的數量比較小,而樣本的數目正好合適,就用高斯核函數。
若是特徵的數量比較小,而樣本的數目很是大,就要用邏輯迴歸或者線性核函數(不帶核函數的SVM)。
ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。