svm支持向量积的公式推导

SVM原理推导

概括:

svm有三宝:间隔、对偶、核技巧。

svm的分类:

  • hard-margin svm硬间隔
  • soft- margin svm软间隔
  • kemel svm核函数

       前面两种硬间隔和软间隔主要针对线性问题,核函数部分主要针对非线性问题,核技巧能够使svm从普通的欧氏空间、特征空间映射到高维空间,可以实现非线性的分类。

svm原理定义:

svm原理用来解决二分类问题,其可以归结为一句话,即使离超平面最近的点(支持向
量)到该平面的距离最大化。

硬间隔(hard-margin)

svm支持向量积的公式推导_第1张图片

超平面是针对二分类问题,通过超平面将样本分为正类和负类,(即图中的x和0) ,正类和负类的标签为yi, yi的取值只有+1和-1,取+1时代表正类,取-1时代表负类,这是一个判别模型。

通过使两类中离超平面最近点(支持向量)最大化的方式来确定超平面并求出超平面。

图中的w^{T}x+b=0即为我们所要求的超平面,其旁边两条间隔线和为经过支持向量的直线。支持向量即为图中直线上的x和o。

易得两条间隔线与超平面平行,可设为w^{T}x+b=n(w、b为未知数),除以n后仍为未知数,\frac{w^{T}}{n}x+\frac{b}{n}=1,仍可表示为w^{T}x+b=1。同理w^{T}x+b=-1也是如此。

归一化:
归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[1,1]),从而消除奇异样本数据导致的不良影响。对于支持向量机而言,如果不使用归-化将特征无量纲化,特征分布就会呈椭圆状,在训练模型的时候不仅会影响模型预测精度,甚至会使模型训练跳入死循环,无法收敛。

另一种理解:

最大间隔分类器      max  margin(w,b)     margin为点到直线的距离

\left\{\begin{matrix} w^{T}x+b>0,y_{T}=+1& \\ w^{T}x+b<0,y_{T}=-1& \end{matrix}\right.\Rightarrow \underset{T=1,2,\cdots ,n}{y_{T}(w^{T}x_{T}+b)}                               svm支持向量积的公式推导_第2张图片

margin(w,b)=\underset{w,b,x_{T}}{min} distance(w,b,x_{T})=\underset{w,b,x_{T}}{min}\frac{1}{||w||}|w^{T}x_{T}+b|\Rightarrow \left\{\begin{matrix} \underset{w,b}{max} \underset{x_{T}}{min}\frac{1}{||w||}|w^{T}x_{T}+b|& \\ s.t. y_{T}(w^{T}x_{T}+b)>0& \end{matrix}\right.\Rightarrow \left\{\begin{matrix} \underset{w,b}{max} \underset{x_{T}}{min}\frac{1}{||w||}(y_{T}(w^{T}x_{T}+b))& \\ s.t. y_{T}(w^{T}x_{T}+b)>0& \end{matrix}\right.\Rightarrow \left\{\begin{matrix} \underset{w,b}{max}\frac{1}{||w||} \underset{x_{T}}{min}y_{T}(w^{T}x_{T}+b)& \\ s.t. y_{T}(w^{T}x_{T}+b)>0& \end{matrix}\right.

一定\exists r>0,使\underset{x_{T},y_{T},T=1,2\cdots n}{min}y_{T}(w^{T}x_{T}+b)=r此时为了简化运算,即将r定为1

\Rightarrow \left\{\begin{matrix} \underset{w,b}{max}\frac{1}{||w||}=\underset{w,b}{min}||w|| & \\ s.t.miny_{T}(w^{T}x_{T}+b)=1 & \end{matrix}\right.\Rightarrow求||w||最小值时,可转化为求\frac{1}{2}||w||^2的最小值

从几何意义(图中所示)转化为一个凸优化问题(QP)

求这个间隔的最大值,即求||w||的最小值,也就是||w||平方的最小值,为了方便运算,再乘个1/2。但是现在的式子并不是一一个简单的一元二次方程,它是一个有约束的一元二次方程,所以在求最小值的过程中存在限制。

 下面为了处理式子中的约束问题,引入了拉格朗日乘子法。

在数字最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n个变量与k个约束条件的最优化问题转换为一个有n +k个变量的方程组的极值问题,其变量不受任何约束。这种方法将一种新的标量未知数,即拉格朗日乘数:约束方程的梯度(gradient) 的线性组合里每个向量的系数。 

运用定义中所说的将有n个变量与k个约束条件的最优化问题转化为一个有n+k个变量的方程组的极值问题这一思想带入我们问题的讨论中,可得:

 原始公式:L(x,\alpha ,\theta )=f(x)+\sum_{i=1}^{n}\alpha _{i}g_{i}(x)                 一个条件一个参数

L(x,\alpha ,\theta )=\frac{1}{2}||w||^2+\sum_{i=1}^{n}\underset{\geqslant 0}{\underbrace{\alpha _{i}}} \underset{\leqslant 0}{\underbrace{(1-y_{T}(w^{T}x_{T}+b)})}

\alpha _{i}称为拉格朗日乘子,通过拉格朗日乘子的引入,把原式与约束条件整理成一个大式子,实现了有约束条件到无约束的转换(\alpha _{i}本身是≥0的)

  • 对拉格朗日函数取最大,最优的情况就是等于原问题的目标函数

因此我们对于上述函数求解的时候先进行了一个取最大值的过程,然后再去求最小值

x_{T},y_{T}

1-y_{i}(w^{T}x_{T}+b)>0,\underset{\alpha }{max}L(w,b,\alpha )=\frac{1}{2}||w||^2+\infty =\infty

最大值为+∞,其实并没有什么意义

1-y_{i}(w^{T}x_{T}+b)\leqslant 0,\underset{\alpha }{max}L(w,b,\alpha )=\frac{1}{2}||w||^2+0=\frac{1}{2}||w||^2

\underset{w,b}{min}\underset{\alpha }{max}L=\underset{w,b}{min}\frac{1}{2}||w||^2

最后的最优解,最优的w^*b^*一定出于1-y_{i}(w^{T}x_{T}+b)\leqslant 0范围内

\Rightarrow \left\{\begin{matrix} \underset{w,b}{min}\underset{\alpha }{max}L(w,b,\alpha ) & \\ s.t.\alpha _{i}\geqslant 0 & \end{matrix}\right.\Rightarrow对w,b无约束

 接下来对该式子求解的过程中我们又引入了对偶的方法,使在满足一定条件下, 将min和max的位置进行交换,从而使求解更简单。

 对偶问题(最小和最大位置交换):

对偶关系

\left\{\begin{matrix} \underset{w,b}{min}\underset{\alpha }{max}L(w,b,\alpha )& \\ s.t.\alpha _{i}\geqslant 0 & \end{matrix}\right.\Rightarrow\left\{\begin{matrix}\underset{\alpha }{max} \underset{w,b}{min}L(w,b,\alpha )& \\ s.t.\alpha _{i}\geqslant 0 & \end{matrix}\right. 

当两者相等时,在对偶关系中被称为强对偶关系,而在我们讨论的问题中,我们正需要这种强对偶关系下的转化,使两者的最优解相等①优化问题为凸优化问题(已满足)②满足KKT条件

KKT条件下面会讲到,现在我们先假设在已经满足这种强对偶关系后,我们怎么继续求解,现在相当于要对函数式进行小值再求最大值的过程。

你可能感兴趣的:(支持向量机,机器学习,算法)