1樓:Zhang Yao
這個問題挺有意思的,有點面試題的感覺,稍微推導了一下,結論如下。
【太長不看】
對於Hard Margin的Linear SVM,支援向量是不變的。
還是Hard Margin的情況,加了Kernel的SVM,則要看Kernel的具體形式,大多數情況支援向量也是不變的。
對於Soft Margin的情況,則不一定。取決於罰引數C的大小。
細節如下,還是假定讀者對SVM有一定了解。
1. Hard Margin Linear SVM
優化問題如上,即假設問題線性可分。記最優解為 。現在我們假設對第k列特徵複製了乙份,則問題變為
顯然, 是乙個可行解,且與原問題有相同的目標函式值。那能不能再給力點?
當然可以,只要我們滿足 就能保證解依然可行,因為此時約束條件不等式左側的值是不會變的。在這之中, 可以取到最小的目標函式值,即複製特徵後的問題的最優解。由於約束中不等號左邊的值不變,使得不等式等號成立的樣本還是那幾個,也即支援向量不會發生變化。
舉個1維的例子看一下,1,2,3一共3個正樣本(y=1),-1,-2,-3一共3個負樣本(y=-1),顯然分割超平面應該在零點的位置,即b=0。複製乙份特徵,變到二維平面上就是對角線上的6個點,分割超平面顯然也是條135度的過零點的直線。支援向量始終是離得最近的2個點。
最優解和最優值都直接畫在圖上了。
類似的,複製任意多份特徵都會保有著相同的支援向量。
2. +Kernel
但對於有些indefinite kernel,比如Epanechnikov Kernel(已經超出傳統SVM的範疇了),這個結論估計就不成立了。
3. Soft Margin
還是只看線性下的原問題。
直接用前面1維的例子,資料還是-3,-2,-1,1,2,3,取罰引數C=0.2。此時的最優解 ,-1和1對應的兩個點的鬆弛變數為0.
5,其餘為0,此時最優值為 。支援向量為-2,-1,1,2四個。
如果我們還按照之前的思路,對於擴充的問題,取 ,則目標函式的第一項可以從0.125變為0.0625,關於鬆弛變數的值不變,為0.
2,此時我們可以將目標函式值減少到0.2625,且支援向量不變。然而這並不是最優解。
我們發現,如果將關於w的第一項稍微放大一點點,第二項鬆弛變數之和會有一定的減少,恰巧可以得到最優解,此時,鬆弛變數已經只剩下-1和1兩個了。
如果C=0.1,最優解分別為0.5和(0.25, 0.25),目標函式值為0.225和0.1625,支援向量均為-2,-1,1,2。
如果C=0.3,最優解分別為0.6和(0.5, 0.5),目標函式值為0.42和0.25,支援向量均為-1和1,但對應的鬆弛變數是不同的。
如果C>=0.5,最優解又變回了1和(0.5, 0.5),對應了Hard Margin時的情況。
因此,支援向量是否會變,取決於罰引數C的大小!
pandas如何新增一列,對相同的行賦同乙個值?
peter 利益相關,我是pandas 貢獻者。import pandas aspd import numpy asnp from functools import lru cache from itertools import permutationsdf pd.DataFrame data pe...
如何用stata將單元格的一列拆成多列 如下圖所示,求大神解答 ?
何冬州楊巔楊豔華典生 在stata中,我想有必要找到 能找到簡潔一些的方案來實現。在excel中可以在C1中輸入公式 index A A,2 row 2 column A1 然後選中C1 D1及向下的單元格,按ctrl R向右填充,按F2加ctrl 回車向下填充。注 不再建議在excel2003中使...
哪一列國際列車經過的國家最多?
時光之末 古早時期的東方快車,即巴黎至伊斯坦堡 金鑼落淚 的豪華旅遊列車,似乎經過不少國家,但不一定最多。參照某卡車遊戲 東方快車 成就,依次停靠如下城市 巴黎 斯特拉斯堡 髪 慕尼黑 獨 維也納 奧 布達佩斯 匈 布加勒斯特 羅,金鑼再落淚 君堡 土,金鑼三落淚 當中可能會路過斯洛伐克,以及肯定路...