上一节讲线性SVM时,文末提到在线性可分的情况下,找到一个支持向量,可求得b
但是当出现下图实例时,一些异常点导致的线性不可分
针对这种情况SVM提出了软间隔(soft margin),相对于硬间隔来说,简单将线性SVM看做硬间隔。
回顾硬间隔时优化目标:
min $frac{1}{2}left | w_{2} ight |_{2}^{2}$
$s.t y_{i}(wcdot x_{i}+b)≥1$
在软间隔中,我们给每个样本点的函数距离减去了一个松弛变量( slack variable):
$y_{i}(wcdot x_{i}+b)≥1-xi $
且$xi≥0$
Tips:
如何理解软间隔的几何含义?
原本我们希望有所的点到超平面的几何距离≥1,最后简化为函数距离。(这里不懂回顾线性SVM)
那么在超平面一侧的样本到超平面的函数距离最小为1,当减去$xi$时,表明允许部分样本跨越支持向量,向着另一侧出发。
$xi$还可以理解为离群点在另一侧时,该点到支持向量的函数距离。这样就引入了线性不可分问题。
文末有详细的讨论过程。
但是这个松弛变量的加入是有代价的,我们在优化目标中加入了惩罚项(这里惩罚项可以看做是正则化)
min $frac{1}{2}left | w_{2} ight |_{2}^{2}+Csum xi _{i}$
$s.t y_{i}(wcdot x_{i}+b)≥1-xi$
$xi≥0$
这里C>0,C越大表示我们对误分类惩罚越大,C可以根据样本点中重要程度调整。
优化目标函数:
$L(w,b,xi ,alpha ,mu )=frac{1}{2}left | w ight |_{2}^{2}+Csum xi _{i}-sum alpha _{i}left [ y_{i}(wcdot x_{i}+b)-1+xi _{i} ight ]-summu _{i} xi _{i}$
其中$mu _{i}>0, alpha _{i}>0$.(此处为什么大于零不懂去看KKT条件)
优化目标变成:
和线性SVM一样,对$w,b,xi $求偏导
$frac{partial L}{partial w}=0Rightarrow w = sum a_{i}y_{i}x_{i}$
$frac{partial L}{partial b}=0Rightarrow b = sum a_{i}y_{i}$
$frac{partial L}{partial xi }=0Rightarrow C-alpha _{i}-mu _{i}Rightarrow C=alpha _{i}+mu _{i}$
带入L中,推导过程如下图(又是不知羞耻的盗图QAQ):
发现一件神奇的事情,这里最后的化解结果和线性SVM一模一样,当然总得有不一样的地方,就是约束条件
现在的优化目标如下:
$underset{a}{max}=-frac{1}{2}sum sum a_{i}a_{j}y_{i}y_{j}x_{i}cdot x_{j}+sum a_{i}$
$s.t sum a_{i}y_{i}=0 (1)$
$C=alpha _{i}+mu _{i} (2)$
$mu _{i}>0, alpha _{i}>0 (3)$
由约束条件2和3可以得到$0leqslant alpha _{i}leqslant C$
最后的优化目标成为:
$underset{a}{min}=frac{1}{2}sum sum a_{i}a_{j}y_{i}y_{j}phi(x_{i}) cdotphi(x_{j})-sum a_{i}$
$s.t sum a_{i}y_{i}=0$
$0leqslant alpha _{i}leqslant C$
与线性SVM相比仅仅多了一个约束条件$0leqslant alpha _{i}leqslant C$,然后根据SMO算法得到$alpha _{i}$,最后求w,b。
对松弛变量的简单理解:
在$L(w,b,xi ,alpha ,mu )=frac{1}{2}left | w ight |_{2}^{2}+Csum xi _{i}-sum alpha _{i}left [ y_{i}(wcdot x_{i}+b)-1+xi _{i} ight ]-summu _{i} xi _{i}$中,
根据软间隔最大化时KKT条件的对偶互补条件
(下图与文中Tips中的图不一样的地方是这里用的是离群点的几何距离)
参考: