1. 程式人生 > >搞懂SVM的三個問題,間隔,對偶問題,KKT條件

搞懂SVM的三個問題,間隔,對偶問題,KKT條件

搞懂間隔

  給定訓練樣本集D={(x1,y1),(x2,y2),...,(xm,ym)},yi{1,+1},分類學習最基本的想法就是基於訓練集D在樣本空間中找到一個劃分超平面,將類別分開。如下圖所示。


這裡寫圖片描述

  但是能將樣本分開的超平面有很多,直觀上看,應該找兩類訓練樣本“正中間”的超平面,讓兩類“相離”最遠。

  超平面可通過如下線性方程來描述:

wTx+b=0,
  其中w=(w1;w2;...;wd)為超平面法向量,決定超平面的方向;b為位移項,決定超平面與原點之間的距離。

  超平面記為

(w,b),接下來說明所謂的“間隔”。


這裡寫圖片描述

  如上圖,中間的實現表示的為超平面(w,b),假設超平面能正確分類,即對於(xi,yi)D,若yi=+1,則有wTx+b>0;若yi=1,則有wTx+b<0。令 {wTx+b+1,yi=+1wTx+b1,yi=1

  在上圖中,距離超平面最近的這幾個樣本點使得上式的等號成立,它們就被稱為支援向量兩個異類支援向量到超平面之間的距離之和,就是我們要找的間隔

  間隔有函式間隔和幾何間隔,先講函式間隔,設

f(x)=wTx+b,在超平面w*x+b=0確定的情況下,|wx+b| 能夠表示點x到距離超平面的遠近,而通過觀察 wx+b 的符號與類標記y的符號是否一致可判斷分類是否正確,所以,可以用(y(wx+b))的正負性來判定或表示分類的正確性。於此,我們便引出了函式間隔(functional margin)的概念。

  定義函式間隔(用γ^表示)為:

γ^=y(wTx+b)=yf(x)

  γ^越大,代表可信度越高,但是函式間隔有問題,假如同時增大wbk,超平面沒有變,但是間隔函式值卻改變了。

  事實上,我們可以對法向量w加些約束條件,從而引出真正定義點到超平面的距離–幾何間隔(geometrical margin)的概念,


這裡寫圖片描述

  樣本空間中任意一點x到超平面(w,b)的距離用 γ 表示,根據幾何知識,上圖中有