SVM的函式間隔中,為什麼成比例改變w和b,超平面沒有變化?

時間 2021-05-31 15:42:54

1樓:Haisenky

造成這種情況的原因其實是我們高中所學的平面方程,和超平面之間書寫方式不同。

超平面的定義是

滿足 的所有 ,注意這裡的 和 都是多維向量也就是說這個公式可以展開為

注意到,這裡的 和 中每一維的分量,使用的都是同樣的字母只是下標不同所以你提問中的超平面方程: (可以叫做寫法1)實際要改寫成 。

進一步,再換成上面的超平面標準定義寫法,就要寫成其中 所以這個時候我們同時倍增 和

就變成了 也就是

寫成方程形式就變成了 ,這和最開始的超平面是一樣的,但是由此計算出的函式間隔變成了兩倍。

2樓:風生水起

在svm的函式間隔是指幾何間隔,就是點到超平面的距離。

根據幾何間隔的計算公式,就算成比例改變W和b,||W||都會拉回來。

3樓:漱石

首先,超平面的方向由法向量w決定。w矩陣表示不論乘什麼係數,其方向都不會改變,好比向量。這就決定超平面的方向不會隨w乘的係數改變而改變。

其次,以誤分類點為例,點到超平面的距離為-1/||w||*y*(wx+b),不論w、b同乘以什麼係數,處以||w||都會被消去,所以點到超平面的距離也不會變。

綜合以上兩點,超平面不會隨w、b同乘以什麼係數而改變。

(詳見李航《統計學習方法》和高數(好像是下冊)距離計算)

4樓:ICDI

你可能沒有理解等式,比如y = x + 1 (1)和 y = 2 * x + 2 肯定不是一樣的直線。但是在超平面中,X表示所有的維度,比如上面所說的(x,y),當你對式子(1)擴大2倍的時候,就變成了2 * y = 2 * x + 2 ,這跟式子(1)完全是一樣的。希望你能明白。

5樓:

SVM超平面的本質是——尋找不同資料之間距離最短的那個超平面。為了理解方便,我拿只有兩種分類資料為例,即時使得存在一條曲面使得到兩種資料(範數)之間的距離最短那個,如果這樣,則是對應兩種資料的正中間滿足此條件。

這樣的話,只要是W.T*X+b=0對應W和b不單獨變化,無論如何成比例變化,最終影響只是兩邊的邊界(或寬或窄),最終的中間平面還是在那裡,不會發生變化。

SVM推導過程中最大化最小間隔為什麼可以直接將min中的一堆換成約束條件?

Hello曜 我覺得題主可能忽略了乙個問題。這個式子本身就是乙個不等式條件約束的優化表示式。轉化成這樣看應該就清楚多了。subject to gamma hat eeimg 1 其中 然後讓函式間隔等於1就行了。補充一下自己的答案,其實這裡函式間隔 可以隨意取值,假設等於2吧,這個時候超平面的解就是...

為什麼不能在析構函式中呼叫虛函式?

CHAN.K 析構函式中呼叫虛函式不會呈現出多型!因為,當你呼叫某個繼承層次中的析構函式的時候,編譯系統會預設從該層開始,往後的派生類已經都被析構了,所以 也就不能出現多型的情況了.當然,這麼寫編譯器也不會報錯 唐沂 Effective C 條款9講建構函式中不要呼叫虛函式已經很清楚了,析構函式與其...

為什麼C 中沒有階乘函式?

呂不鬧 如果只是問為什麼,那麼答案應該是 委員會那些老學究不允許太多無關緊要的功能進入標準。可能他們覺得 CPPer 都能自己寫出來吧。 簡易版 include include include include include using namespace std intmain O 1 版 inc...