支持向量機中的支持向量是什麼?
我知道支持向量機是如何工作的,但由於某種原因,我總是對支持向量到底是什麼感到困惑。
在線性可分數據的情況下,支持向量是那些(完全)位於邊緣邊界上的數據點。這些是計算邊際所需的唯一點(通過偏置項).
然而,對於 C-SVM,我總是對支持向量到底是什麼感到困惑。顯然,邊緣邊界上的數據點仍然是支持向量,但我總是對邊緣中的點是否是支持向量感到困惑。畢竟,只有確切的邊界用於計算偏差項(與線性可分情況相同),因此可以說邊距僅由這些點支持。
但是,我確實覺得這是不正確的,因為我在這裡發現了多個 問題,其中提到了 1000 多個支持向量,如果僅計算邊界上的支持向量,這是不可能的。因此,我的問題是 SVM 的支持向量到底是什麼,以及我如何記住這一點。
簡短的回答
支持向量是那些拉格朗日乘數不為零的點(不僅僅是 b 在支持向量機中)。
長答案
硬保證金
對於一個簡單的硬邊距 SVM,我們必須解決以下最小化問題:
minw,b12|w|2
受制於 ∀i:yi(w⋅xi+b)−1≥0可以在拉格朗日乘數的幫助下找到解決方案 αi . 在最小化拉格朗日函數的過程中,可以發現w=∑iαiyixi.
所以, w 只取決於那些樣本 αi≠0 .此外,Karush-Kuhn-Tucker 條件要求解滿足 αi(yi(w⋅xi+b)−1)=0.
為了計算 b , 樣本的約束 i 必須緊,即 αi>0 , 以便 yi(w⋅xi+b)−1=0 . 因此, b 僅取決於那些樣本 αi>0 .因此,我們可以得出結論,解決方案取決於所有樣本 αi>0 .
軟邊距
對於 C-SVM,它似乎被稱為soft-margin SVM,最小化問題由下式給出:
minw,b12|w|2+C∑iξi
受制於 ∀i:yi(w⋅xi+b)−1+ξi≥0 ξi≥0使用拉格朗日乘數 αi 和 λi=(C−αi) ,權重(再次)由下式給出w=∑iαiyixi,
因此 w 確實僅取決於樣本 αi≠0 .由於 Karush-Kuhn-Tucker 條件,解必須滿足
αi(yi(w⋅xi+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 .