1. 程式人生 > >最大間隔分類器的錯誤理解

最大間隔分類器的錯誤理解

以前:以為最大間隔是因為一條線段從中間分開會令平方和最大化;a+b=8; a=b=4j時,a^2+b^2是最小的,並不符合最大間隔的含義;

20180813:所有樣本中距離超平面(將所有的樣本正確分類)最近的幾何間隔最大化;比如說確定了某平面A,離它最近的樣本點的幾何間隔為dA;確定了某平面B,離它最近的樣本點的幾何間隔為dB,以此類推,多個平面;那麼最終的確定方案就是比例dA,dB,dC……,選擇最大的值,即最大間隔分類器;

如圖所示:

這裡寫圖片描述 
  能夠容忍更多噪聲—>所有樣本與分割超平面的距離儘可能遠—>最差的樣本(離分割超平面最近的樣本)與分割超平面的距離要儘可能遠

因此,SVM的目的就是從無數多個分割超平面中,找到這樣最好的分割超平面;

所以SVM的優化目標:

令(x(i)x(i),y(i)y(i)),i=1,2,...,mi=1,2,...,m為訓練集中的一個樣本,一共有mm個樣本。wTx+b=0wTx+b=0為超平面,ww和bb是我們要求的引數。則樣本(x(i)x(i),y(i)y(i))到超平面wTx+b=0wTx+b=0的距離(幾何間隔)定義為:

γ=|wTx+b|||w||γ=|wTx+b|||w||


  因為wTx+b=0wTx+b=0能正確分類樣本,所以有:

y(wTx+b)>0y(wTx+b)>0


  因此為了計算方便,可以去掉γγ表示式中的絕對值,寫成:

γ=y(wTx+b)||w||γ=y(wTx+b)||w||


  事實上,y取±1時,上式與最開始的定義完全等價。 
  重點來了!重點來了! 
  上面說到,我們要找的線描述為:離分割線最近的樣本與分割線的距離儘量遠 
  什麼叫離分割線最近的樣本?答:就是所有樣本與分割線的距離,都大於等於該樣本與分割線的距離。假設該樣本為(x(k),y(k))(x(k),y(k)),則有:

y(i)(wTx(i)+b)||w||≥y(k)(wTx(k)+b)||w||,i=1,2,...,my(i)(wTx(i)+b)||w||≥y(k)(wTx(k)+b)||w||,i=1,2,...,m


  此為約束條件。 
  什麼是儘量遠?答:

maxw,by(k)(wTx(k)+b)||w||maxw,by(k)(wTx(k)+b)||w||


  此為目標。 
  為了書寫方便,不妨設y(k)(wTx(k)+b)=Ky(k)(wTx(k)+b)=K(樣本已確定,是一個常數),並約去約束條件中的分母,則上述兩式聯合起來可寫為:

maxw,bK||w||maxw,bK||w||

s.t.y(i)(wTx(i)+b)≥K,i=1,2,...,ms.t.y(i)(wTx(i)+b)≥K,i=1,2,...,m


  下面我們令w′=wK,b′=bKw′=wK,b′=bK,則有w=w′K,b=b′Kw=w′K,b=b′K,帶入上述兩式則有:

maxw,bK||w′K||即maxw,b1||w′||maxw,bK||w′K||即maxw,b1||w′||

s.t.y(i)(w′TKx(i)+b′K)≥K即y(i)(w′Tx(i)+b′)≥1,i=1,2,...,ms.t.y(i)(w′TKx(i)+b′K)≥K即y(i)(w′Tx(i)+b′)≥1,i=1,2,...,m


  易知,優化w′=wKw′=wK與b′=bKb′=bK等價於優化w,bw,b,且有maxw,b1||w||maxw,b1||w||等價於minw,b12||w||2minw,b12||w||2所以我們最終就得到如下優化目標:

minw,b12||w||2minw,b12||w||2

s.t.y(i)(wTx(i)+b)≥1,i=1,2,...,ms.t.y(i)(wTx(i)+b)≥1,i=1,2,...,m


  這就是我們熟悉的SVM優化目標啦!(注:這是假設樣本可以被完美分類的情況下的目標,稱為硬間隔最大化)