哲哲的ML筆記(二十四:支持向量機SVM)

從邏輯迴歸到SVM

與邏輯迴歸和神經網絡相比,支持向量機,或者簡稱SVM,在學習複雜的非線性方程時提供了一種更爲清晰,更加強大的方式

從邏輯迴歸開始展示我們如何一點一點修改來得到本質上的支持向量機
先回顧一下邏輯迴歸的假設函數和損失函數,用z表示\theta^Tx



y=1時,起作用的一項是-log\frac{1}{1+e^{-z}}, 此時希望z越大越好,第一,可以從h_\theta(x)判斷;第二,從損失函數看,希望loss越小越好。
此時用新的簡化函數cost(z)代替-log\frac{1}{1+e^{-z}},即爲下圖的粉色線

同理,當y=1時,y也這樣分析
從邏輯迴歸的損失函數出發,首先要做的是把相應的部分替換爲cost(z),其次去除\frac{1}{m}\lambda,加入相應的參數C
C=\frac{1}{\lambda}時,新的損失函數和邏輯迴歸的損失函數爲目標,會得到相同的\theta

當最小化代價函數,獲得參數時,支持向量機所做的是它來直接預測y的值等於1,還是等於0。當\theta^Tx大於或者等於0時,假設函數會預測1。

SVM邊界的理解

對於正樣本,代價函數的一部分是cost_1,希望\theta^Tx\geq1,因爲此時cost_1=0

對於負樣本,代價函數cost_2,希望\theta^Tx\leq -1,因爲此時cost_2=0

對於分類問題,h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{ -\theta^Tx}}\theta^Tx\geq0即爲正類;但是對於SVM,希望\theta^Tx\geq1。這就是額外的安全因子,或者說安全的間距因子。

對於一個分類問題如下圖,期望劃出明確的邊界,粉色和綠色的邊界看起來都不如黑色的邊界,因爲這條黑線有更大的距離,這個距離叫做間距(margin)


黑色的決策界和訓練樣本之間有更大的最短距離。然而粉線和藍線離訓練樣本就非常近,在分離樣本的時候就會比黑線表現差。因此,這個距離叫做支持向量機的間距,而這是支持向量機具有魯棒性的原因,因爲它努力用一個最大間距來分離樣本。
因此支持向量機有時被稱爲大間距分類器。

回顧SVM的代價函數,如下公式。


如果將C設置的很大,eg:10000。我們將選擇這樣的決策界,從而最大間距地分離開正樣本和負樣本。那麼在讓代價函數最小化的過程中,我們希望找出在和兩種情況下都使得代價函數中左邊的這一項儘量爲零的參數。學習算法會受異常點(outlier) 的影響。比如我們加入一個額外的正樣本

僅僅基於一個異常值,僅僅基於一個樣本,就將我的決策界從這條黑線變到這條粉線,這實在是不明智的。而如果正則化參數C,設置的非常大,決策界從黑線變到了粉線,但是如果設置的小一點,如果你將C設置的不要太大,則你最終會得到這條黑線.當不是非常非常大的時候,它可以忽略掉一些異常點的影響,得到更好的決策界

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章