1. 程式人生 > 其它 >支援向量機SVM

支援向量機SVM

邏輯迴歸的代價函式

每個單獨的訓練樣本 一起為邏輯迴歸總體目標做貢獻

兩條線段

在數學上的定義:

對於邏輯迴歸來說(》:遠大於)

每個單獨的訓練樣本 一起為邏輯迴歸總體目標做貢獻(下面考慮單個樣本的情況):?

y=1 就是標籤為1,代價函式就是左邊的圖形,想要代價函式值越小的話,Z就得很大(Z足夠大的時候,代價函式值近似0)

這裡的log是以e為底

構建支援向量機,從這個代價函式開始,進行少量修改,變成兩個線段組成的‘曲線’(洋紅色),形狀與原來邏輯迴歸的代價函式類似

其效果也類似,但是這樣會使支援向量機擁有計算上的優勢,並且使優化問題變得簡單,更容易解決。

這樣就得到兩個新函式(洋紅色):cost_1(z),cost_2(z)。然後帶入原來的邏輯迴歸函式

λ和C都是為了控制權衡:更多的適應訓練集還是更多的去保持正則化引數足夠小

邏輯迴歸使用上面的,SVM使用下面的

最小化最終得到的函式,就得到了SVM學習得到的引數θ。

與邏輯迴歸不同的是,SVM並不會輸出概率,而是通過優化這個代價函式得到的一個引數θ,然後進行直接的預測(0,1)

‘間距’初體驗(比一般的邏輯迴歸有更大的‘間距’)

當把C值設定很大的時候,最小化整個代價函式,會使第一項值近似0(側重於擬合引數),有異常點時候會得到下圖的洋紅界限

當C值設定不是很大的時候,有異常點時候會得到下圖的黑色界限(更合理,間隔更大)

向量內積的性質

p就是向量V在向量U上投影的長度(是一個實數,有符號【正或者負】)

丨丨u丨丨也是一個實數

之前的優化目標函式(把C設定的很大的情況下)

引數向量θ與決策邊界垂直。

希望正樣本和負樣本投影到θ的值足夠大(決策邊界距離周圍得是大間距)

通過讓p1 p2 p3 變大(最大化p的範數【訓練樣本到決策邊界的距離】),SVM最終就會得到一個較小的θ的範數丨丨)

θ_0=0,決策邊界通過原點

此模型對應著C值很大