软间隔

软间隔的提出是解决什么问题的

在实际的应用中,完全线性可分的样本是很少的,如果遇到了不能完全线性可分的样本
我们应该怎么办,所以提出了软间隔,允许个别样本点出现在间隔带里面
算法强化 —— SVM(三)

这样就允许了部分样本点不满足约束条件
yi(wxi+b)1 y_i(wx_i+b) \geq 1
为了度量这个间隔"软"到何种程度,我们针对每个样本(x_i,y_i),引入一个松弛变量ξi\xi_i,令ξi0\xi_i \geq 0,且yi(wxi+b)1ξiy_i(wx_i+b) \geq 1 - \xi_i
算法强化 —— SVM(三)

软间隔后的线性SVM的最优化问题是是什么

优化目标

从原来的线性可分的优化目标
minw,bw22 min_{w,b} \frac{ {\|w\|}^2}{2}
s.t.=1yi(wxi+b)0,i=1,2,3,....,m s.t. = 1-y_i(wx_i+b) \leq 0,i = 1,2,3,....,m
变成了:
minw,b,ξ12w2+Ci=1mξi s.t. yi(wxi+b)1ξi,i=1,2,,m;ξi0,i=1,2,,m\begin{aligned} &\min _{w, b, \xi} \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{m} \xi_{i}\\ &\text { s.t. } \quad y_{i}\left(w x_{i}+b\right) \geqslant 1-\xi_{i}, \quad i=1,2, \ldots, m ; \xi_{i} \geqslant 0, \quad i=1,2, \ldots, m \end{aligned}
其中C是一个大于0的常数,若C为无穷大,则ξi\xi_i必然无穷小,否则将无法最小化主问题,如此一来线性SVM就又变成了线性可分SVM。
当C为有限值的时候,才能允许部分样本不遵守约束条件1yi(wxi+b)01-y_i(wx_i+b) \leq 0
我们将优化目标整理成和线性可分的形式一样,即为:
minw,b,ξ12w2+Ci=1mξi s.t. 1ξiyi(wxi+b)0,i=1,2,,m;ξi0,i=1,2,,m\begin{aligned} &\min _{w, b, \xi} \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{m} \xi_{i}\\ &\text { s.t. } \quad 1-\xi_{i}- y_{i}\left(w x_{i}+b\right) \leqslant 0, \quad i=1,2, \ldots, m ; -\xi_{i} \leqslant 0, \quad i=1,2, \ldots, m \end{aligned}

使用对偶算法求解上面的最优化问题

步骤1:构造拉格朗日函数

L(w,b,ξ,λ,μ)=12w2+Ci=1mξi+i=1mλi[1ξiyi(wxi+b)]+i=1m(μiξi)λi0,μi0\begin{aligned} &L(w, b, \xi, \lambda, \mu)=\frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{m} \xi_{i}+\sum_{i=1}^{m} \lambda_{i}\left[1-\xi_{i}-y_{i}\left(w x_{i}+b\right)\right]+\sum_{i=1}^{m}\left(-\mu_{i} \xi_{i}\right)\\ &\lambda_{i} \geqslant 0, \mu_{i} \geqslant 0 \end{aligned}
其中λi\lambda_iμi\mu_i是拉格朗日乘子,而w、b和ξi\xi_i是主问题参数
根据主问题的对偶性,主问题的对偶问题是
maxλ,μminw,b,ξL(w,b,ξ,λ,μ) max_{\lambda,\mu} min_{w,b,\xi} L(w,b,\xi,\lambda,\mu)

步骤2 最小化拉格朗日函数

首先对w、b和ξ\xi最小化$ L(w,b,\xi,\lambda,\mu)wb————分别对w、b和\xi_i$求偏导,然后令导数为0,得出如下关系
w=i=1mλiyixi0=i=1mλiyiC=λi+μi\begin{aligned} &w=\sum_{i=1}^{m} \lambda_{i} y_{i} x_{i}\\ &0=\sum_{i=1}^{m} \lambda_{i} y_{i}\\ &C=\lambda_{i}+\mu_{i} \end{aligned}
将这些关系带入线性SVM主问题的拉格朗日函数,得到
minw,b,ξL(w,b,ξ,λ,μ)=i=1mλi12i=1mj=1mλiλjyiyj(xixj)\min _{w, b, \xi} L(w, b, \xi, \lambda, \mu)=\sum_{i=1}^{m} \lambda_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \lambda_{i} \lambda_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)

步骤3 求minw,bL(w,b,ξ,λ,μ)\min _{w, b} L(w, b, \xi, \lambda, \mu)λ\lambda的最大

因为上面最小化的结果中只有λ\lambda而没有μ\mu,所以现在只需要最大化$\lambda $就好
maxλ,μminw,b,zL(w,b,ξ,λ,μ)=maxλ(i=1mλi12i=1mj=1mλiλjyiyj(xixj)) s.t. i=1mλiyi=0;Cλiμi=0;λi0;μi0;i=1,2,,m\begin{aligned} &\max _{\lambda, \mu} \min _{w, b, z} L(w, b, \xi, \lambda, \mu)=\max _{\lambda}\left(\sum_{i=1}^{m} \lambda_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \lambda_{i} \lambda_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)\right)\\ &\text { s.t. } \sum_{i=1}^{m} \lambda_{i} y_{i}=0 ; \quad C-\lambda_{i}-\mu_{i}=0 ; \quad \lambda_{i} \geqslant 0 ; \quad \mu_{i} \geqslant 0 ; \quad i=1,2, \ldots, m \end{aligned}

步骤4 使用SMO算法求解

我们同样可以和之前一样,将最大化问题转化为最小化问题
maxλ(i=1mλi12i=1mj=1mλiλjyiyj(xixj))=min(12i=1mj=1mλiλjyiyj(xixj)i=1mλi) s.t. i=1mλiyi=0;0λiC;i=1,2,,m\begin{array}{c} \max _{\lambda}\left(\sum_{i=1}^{m} \lambda_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \lambda_{i} \lambda_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)\right)=\min \left(\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \lambda_{i} \lambda_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{m} \lambda_{i}\right) \\ \text { s.t. } \sum_{i=1}^{m} \lambda_{i} y_{i}=0 ; \quad 0 \leqslant \lambda_{i} \leqslant C ; \quad i=1,2, \ldots, m \end{array}
然后我们可以看到,实际上差别只在约束条件熵,所以我们同样可以使用SMO算法进行求解出拉格朗日乘子λ\lambda^*

步骤5 求解w 和b

w=i=1mλiyixiw = \sum_{i = 1}^m \lambda_i y_i x_i求出w
因为最终要求得的超平面满足wx+b = 0,这一点是和线性可分SVM的超平面一样的,因此求解b的过程也可以照搬:
b=1SsS(yswxs)b=\frac{1}{| S |} \sum_{s \in S}\left(y_{s}-w x_{s}\right)
其中S是支持向量的集合

在这里会存在一个问题,就是到底那部分是在间隔中的样本点,是不是支撑向量
我们可以看到w=i=1mλiyixiw = \sum_{i = 1}^m \lambda_i y_i x_i,因此,对于所有的λi>0\lambda_i > 0的点都能够影响到我们的超平面,因此都是支撑向量

相关文章:

  • 2021-08-15
  • 2021-07-07
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-25
  • 2021-04-04
  • 2021-04-26
相关资源
相似解决方案