SVM推导--硬间隔线性可分

SVM基本原理:最小距离最大化

SVM推导--硬间隔线性可分

推导过程以二维空间为例

1 最大间隔模型

1.1 w^T*x+b=0表示方法

二维空间中一条直线的表示方法:Ax+By+C=0

将式中的x,y换成x1,x2,得到:Ax1+Bx2+C=0

转换成矩阵乘法的形式:SVM推导--硬间隔线性可分

设向量w = SVM推导--硬间隔线性可分,向量x = SVM推导--硬间隔线性可分,b = C,则有二维空间中一条直线可表示为   SVM推导--硬间隔线性可分

(机器学习中的向量默认是列向量,要是想令w=(A,B),方程写成wx+b=0也可以)

1.2 支持向量平面的表示

(支持向量平面:超平面平移到两个类别的支持向量,得到的两条直线,图像里的w^T*x+b=±1两条直线,没有找到这两个平面的名称,就先这样叫吧)

将直线进行平移,只改变Ax+By+C=0中的C,即SVM推导--硬间隔线性可分中的b参数,超平面到两类支持向量的距离相同,则平移量相同

支持向量所在的平移直线为SVM推导--硬间隔线性可分,对不同的数据样本m的数值是不相同的

为了计算方便,对数据进行归一化,将数据统一到同一个空间,等比例的缩放成±1

1.3 距离的表示

数学中点(x,y)到直线Ax+By+C=0的距离为:SVM推导--硬间隔线性可分(几何距离)

前面设了w = SVM推导--硬间隔线性可分,向量x = SVM推导--硬间隔线性可分,b = C,则||w|| = SVM推导--硬间隔线性可分 (向量的模),|Ax+By+C| = SVM推导--硬间隔线性可分

则点到直线的距离可表示为:SVM推导--硬间隔线性可分(函数距离)

1.3.1去掉绝对值

设图像中“+”一类为正例,即SVM推导--硬间隔线性可分 = 1,SVM推导--硬间隔线性可分,“-”一类为负例,即SVM推导--硬间隔线性可分 = -1,SVM推导--硬间隔线性可分

对于每一个样本数据,满足:SVM推导--硬间隔线性可分

则当SVM推导--硬间隔线性可分为正例,SVM推导--硬间隔线性可分

  当SVM推导--硬间隔线性可分为负例,SVM推导--硬间隔线性可分

距离可表示为:SVM推导--硬间隔线性可分

1.4 模型函数

最大间隔即max mariage(w,b),对所有的样本又满足SVM推导--硬间隔线性可分

两类样本的间隔即样本中每个点到直线的最小距离,即SVM推导--硬间隔线性可分

间隔中的最小值是和SVM推导--硬间隔线性可分相关的,与w无关,则SVM推导--硬间隔线性可分

再对间隔的表示形式做变换,SVM推导--硬间隔线性可分

得到,模型函数为:SVM推导--硬间隔线性可分

由于约束条件的标准形式是...≤0的形式,将约束条件移项,SVM推导--硬间隔线性可分  

2 对偶问题

求多元函数的极值,可借助高等数学中的拉格朗日函数。

SVM推导--硬间隔线性可分 ,SVM推导--硬间隔线性可分SVM推导--硬间隔线性可分

结合上面的这些,可将模型函数转换成:

     SVM推导--硬间隔线性可分      SVM推导--硬间隔线性可分      SVM推导--硬间隔线性可分

从对所求参数w,b有限制条件的极值,变成了无条件极值。

2.1 转换过程的解释

SVM推导--硬间隔线性可分,对于w和b的不同取值,SVM推导--硬间隔线性可分要么>0,要么≤0。

    ①如果SVM推导--硬间隔线性可分>0,SVM推导--硬间隔线性可分,其最大值为正无穷

    ②如果SVM推导--硬间隔线性可分 ≤ 0,SVM推导--硬间隔线性可分最大值在SVM推导--硬间隔线性可分取0的时候取到,即SVM推导--硬间隔线性可分

SVM推导--硬间隔线性可分

相当于,新的函数SVM推导--硬间隔线性可分去掉了SVM推导--硬间隔线性可分>0对应的w和b的取值情况,等价于,原函数SVM推导--硬间隔线性可分添加上限制条件SVM推导--硬间隔线性可分

2.2 转换成对偶形式

将模型函数(2)转换成对偶形式为:

SVM推导--硬间隔线性可分

(对于任意一个表达式,对偶的转换满足:min max L ≥ max imn L(弱对偶),凸优化中都是强对偶性,则min max L =max imn L)

2.2.1 为什么要转换成对偶形式

   (1) 原问题是先求最大再求最小,对偶问题是先求最小再求最大,习惯上是先求最小再求最大。

  (2) 原问题先求最大,确定了λ的值之后,还有两个w和b*度,再求最小值的时候,需要对w和b分情况讨论;而对偶问题先求最小,确定了w和b的值,再求最大的时候只有λ一个*度,不需要分情况讨论,更为简单。

2.3 求解w,b

转换成对偶问题之后,要先对拉格朗日函数求出w,b的值

2.3.1 对w求偏导

SVM推导--硬间隔线性可分   , 则  SVM推导--硬间隔线性可分

这里是对向量求偏导,可以去查一下向量求导公式

SVM推导--硬间隔线性可分,而SVM推导--硬间隔线性可分

SVM推导--硬间隔线性可分

SVM推导--硬间隔线性可分得,SVM推导--硬间隔线性可分

2.3.2 对b求偏导

SVM推导--硬间隔线性可分

SVM推导--硬间隔线性可分,得SVM推导--硬间隔线性可分

2.3.3 代入拉格朗函数

SVM推导--硬间隔线性可分

              SVM推导--硬间隔线性可分

              SVM推导--硬间隔线性可分

              SVM推导--硬间隔线性可分

              SVM推导--硬间隔线性可分

              SVM推导--硬间隔线性可分

则模型函数SVM推导--硬间隔线性可分转换成SVM推导--硬间隔线性可分SVM推导--硬间隔线性可分

3 模型求解

原问题和对偶问题是强对偶 SVM推导--硬间隔线性可分 满足KKT条件

3.1 KKT条件形式

SVM推导--硬间隔线性可分

其中第二个表达式为互补松弛条件。

结合后三个表达式,当样本点在SVM推导--硬间隔线性可分这两个超平面上的时候,SVM推导--硬间隔线性可分才能够不为零;对于其他的样本点,SVM推导--硬间隔线性可分的取值只能为0。即只有在SVM推导--硬间隔线性可分这两个超平面上的样本点才对模型参数的取值有影响,其他的点则不影响模型参数,故,将这些样本点称为支持向量。

3.2 求解

w的值使用SVM推导--硬间隔线性可分即可求得SVM推导--硬间隔线性可分

对于参数b,取样本点SVM推导--硬间隔线性可分,满足SVM推导--硬间隔线性可分,(即样本点在支持向量的超平面上),则SVM推导--硬间隔线性可分

等式两边同乘SVM推导--硬间隔线性可分,得到SVM推导--硬间隔线性可分,(由于SVM推导--硬间隔线性可分)

SVM推导--硬间隔线性可分

模型:SVM推导--硬间隔线性可分

上一篇:机器学习主要知识点整理


下一篇:【Python机器学习实战】感知机和支持向量机学习笔记(二)