Svm

支持向量機中的支持向量是什麼?

  • November 14, 2017

我知道支持向量機是如何工作的,但由於某種原因,我總是對支持向量到底是什麼感到困惑。

在線性可分數據的情況下,支持向量是那些(完全)位於邊緣邊界上的數據點。這些是計算邊際所需的唯一點(通過偏置項).

然而,對於 C-SVM,我總是對支持向量到底是什麼感到困惑。顯然,邊緣邊界上的數據點仍然是支持向量,但我總是對邊緣中的點是否是支持向量感到困惑。畢竟,只有確切的邊界用於計算偏差項(與線性可分情況相同),因此可以說邊距僅由這些點支持。

但是,我確實覺得這是不正確的,因為我在這裡發現了多個 問題,其中提到了 1000 多個支持向量,如果僅計算邊界上的支持向量,這是不可能的。因此,我的問題是 SVM 的支持向量到底是什麼,以及我如何記住這一點。

簡短的回答

支持向量是那些拉格朗日乘數不為零的點(不僅僅是 b 在支持向量機中)。

長答案

硬保證金

對於一個簡單的硬邊距 SVM,我們必須解決以下最小化問題:

minw,b12|w|2

受制於 i:yi(wxi+b)10

可以在拉格朗日乘數的幫助下找到解決方案 αi . 在最小化拉格朗日函數的過程中,可以發現w=iαiyixi.

所以, w 只取決於那些樣本 αi0 .

此外,Karush-Kuhn-Tucker 條件要求解滿足 αi(yi(wxi+b)1)=0.

為了計算 b , 樣本的約束 i 必須緊,即 αi>0 , 以便 yi(wxi+b)1=0 . 因此, b 僅取決於那些樣本 αi>0 .

因此,我們可以得出結論,解決方案取決於所有樣本 αi>0 .

軟邊距

對於 C-SVM,它似乎被稱為soft-margin SVM,最小化問題由下式給出:

minw,b12|w|2+Ciξi

受制於 i:yi(wxi+b)1+ξi0 ξi0

使用拉格朗日乘數 αiλi=(Cαi) ,權重(再次)由下式給出w=iαiyixi,

因此 w 確實僅取決於樣本 αi0 .

由於 Karush-Kuhn-Tucker 條件,解必須滿足

αi(yi(wxi+b)1+ξi)=0 (Cαi)ξi=0,

這允許計算 b 如果 αi>0ξi=0 . 如果兩個約束都很緊,即 αi<C , ξi 必須為零。所以, b 取決於那些樣本 0<αi<C .

因此,我們可以得出結論,解決方案取決於所有樣本 αi>0 . 畢竟, w 仍然取決於那些樣本 αi=C .

引用自:https://stats.stackexchange.com/questions/313660

相關問答