最大間隔分類器的錯誤理解
以前:以為最大間隔是因為一條線段從中間分開會令平方和最大化;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優化目標啦!(注:這是假設樣本可以被完美分類的情況下的目標,稱為硬間隔最大化)