本章講述了SVM,相比於《統計學習方法》,從邏輯迴歸的角度更容易理解了。
更多內容參考 機器學習&深度學習
從邏輯迴歸來看,看損失值與Z的值的關係:
代入原來的是指,可以化簡公式:
總結來說:如果y=1,我們希望z的值大於等於1,如果y=0,我們希望z的值小於-1,這樣損失函式的值都會為0.
線性可分的決策邊界:
但是這種情況對於異常點是非常敏感的,比如有一個紅點,那麼決策邊界就會發生很大的變化。
此時希望C不要太大,即λ非常大,魯棒性更強。
對於向量空間中的兩個向量,向量的內積等於p*向量U的長度。
這樣θTx就轉換成了對向量θ的投影了
在邏輯迴歸中基於決策邊界進行分類,但是特徵需要手動來創造,很難去造全比較好的特徵
首先假設幾個樣本的參照點,l1,l2,l3,然後計算每個x與這三個點的相似度,這裡是用的高斯混合
這個similarity就是kernel函式。
similarity最大是1,最小是0。當兩個向量一模一樣的時候等於1。
通過選取的點與計算出f值,然後帶入到公式,就能得出決策邊界:
如何選擇l呢,最簡單的就是把所有的樣本點都當做l。然後計算x與所有樣本點的高斯核:
有很多的軟體可以算SVM了,只需要選擇引數C和kernel函式就行了
邏輯迴歸和SVM的區別:
- 1 如果特徵的維度比樣本的維度還高,使用邏輯迴歸或者不帶核函式的SVM。因為沒有那麼多資料來擬合更高階的函式
- 2 如果n很小,m適中,那麼可以使用高斯核的SVM
- 3 如果n很小,m很大,那麼使用邏輯迴歸或者不帶核函式的SVM都可以,不然使用高斯核計算會很慢