示意图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