示意圖1
ξi>1時,yi和ωTxi+b異號,即ytrue=ypred⇒錯分類
示意圖2
值得注意的是:distance(Margin)=∥ω∥2
設兩條直線方程爲Ax+By+C1=0,Ax+By+C2=0,則其距離公式d=(A2+B2)∣C1−C2∣
因此,下圖更準確。但是下述分析均沿上圖展開。
ξi表示(xi,yi)到ωTx+b=±1的距離。
因此當ξi>∥ω∥2時,(xi,yi)位於敵軍區域⇒錯分類
此處需要注意,還有另外一種看法,認爲∥ω∥ξi才代表(xi,yi)到ωTx+b=±1的距離。如本文中展示的最後一個圖。
二分類問題描述
Data={(xi,yi)}i=1N,xi∈Rp,yi∈{−1,+1}
1. 硬間隔SVM
hard-margin SVM在數據中存在噪聲或數據不可分時,可能會失效。
hard−margin SVM={ω,bmin21ωTω s.t. yi(ωTxi+b)⩾1,i=1,...,N
2. 軟間隔SVM
soft-margin SVM的思想是:允許出現錯誤,因此加Loss項。
(1)soft−margin SVM={ω,bmin21ωTω +Losss.t. yi(ωTxi+b)⩾1,i=1,...,N
Loss使用Hinge loss:Loss=max{0,1−yi(ωTxi+b)}
(1)Hinge Loss
Hinge loss表示距離。
{如果yi(ωTxi+b)⩾1,令Loss=0⇐滿足s.t.,即(xi,yi)在margin外如果yi(ωTxi+b)<1,令Loss=1−yi(ωTxi+b)⇐不滿足s.t.,(xi,yi)在margin內
即,
Loss=max{0,1−yi(ωTxi+b)}
令Z=yi(ωTxi+b),則Loss=max{0,1−Z}
此時,{1−Z>0時,Z<11−Z⩽0時,Z⩾1是連續函數
Q:0/1損失爲什麼不可行?
S:Loss0/1=i=1∑NI{yi(ωTxi+b)<1}=違反s.t.的(xi,yi)的數量
這個函數是不連續的,跳躍的,其數學性質將導致求導時出現很多問題。
令Z=y(ωTx+b),則Loss0/1={1,Z<10,otherwise
(2)鬆弛向量
(2)⎩⎪⎨⎪⎧ω,bmin21ωTω +Ci=1∑Nmax{0,1−yi(ωTxi+b)},C爲超參數,類似於正則化s.t. yi(ωTxi+b)⩾1,i=1,...,N
但是往往不建議寫成上式的max形式。通常引入鬆弛向量ξ
ξi=1−yi(ωTxi+b),ξi⩾0
因爲∥ω∥ξi表示距離,因此 ξi⩾0:
(1)(xi,yi=1)到ωTxi+b=1的距離;
(2)(xi,yi=−1)到ωTxi+b=−1的距離。
(3)∥ω∥∣1−ξi∣表示(xi,yi)到ωTxi+b=0的距離。
要注意距離,對距離的描述要×∥ω∥1
此外,從數學上,ξ<0時滿足s.t,Loss=0,就是硬間隔了。
- 對於支持向量,ξi=0⇒yi(ωTxi+b)=1,滿足s.t.
- 對於噪聲點,ξi>0⇒yi(ωTxi+b)<1,不滿足s.t.{ξi>1時,yi與ωTxi+b符號相反⇒分類錯誤0⩽ξi⩽1時,分類正確,但是(xi,yi)在margin內
(3)最終優化形式
(3)⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧ω,bmin21ωTω+Ci=1∑Nξis.t. yi(ωTxi+b)⩾1−ξi ξi⩾0
∣1−ξi∣表示(xi,yi)到ωTxi+b=0的距離。
相當於把ωTxi+b=±1換成ωTxi+b=∣1−ξi∣
3. 求解同硬間隔SVM:對偶+KKT