【机器学习】SVM漫谈

来源:互联网 发布:中国软件评测中心 户口 编辑:程序博客网 时间:2024/06/06 00:01

SVM对于中小规模的数据来说是非常好的模型。由于其可以用数学严谨的推导出结果,可解释性比较强,所以在工业上应用的比较广。

一,SVM的推导

简单起见先考虑SVM在线性的二分类中的应用。
这里写图片描述

如图1所示svm的目的就是找到一条直线能够很好的将正、负样本“很好的”分开。这个“很好的”是指对于样本的鲁棒性比较好,及时样本点受到一点噪声也不会影响分类的结果,比较直观的看就是正负样本点离分割线的距离比较远。这就是svm的关键点之1:
KEY 1:分割线与正负样本的间隔越大越好。
那么就有如下公式:
这里写图片描述
w为分割线的法向量,u为要判断的样本点,通过公式来判断样本对是正样本还是负样本。
此时svm的目标是找到合适的w ⃗和b来使对新样本的判断比较正确。
在训练样本中,对于正负样本的存在如下的不等式,即svm的最大间隔假设:
这里写图片描述

其中离分割线最近的正负样本点(就是图1中出现在分割线两遍绿色边界线上的点)称作“支持向量点”,Vector Point,这些点能够使公式(3)上的等号成立。
图1中的边界的距离margin为,正样本向量减去负样本的向量然后向边界的法向量上的投影:如图2:
这里写图片描述
如图2所示,margin长度d为正样本X+与负样本X-的差并在分割线法向量w上的投影,距离d的计算如下:
这里写图片描述

这里写图片描述

公式(9)成立的条件是:
这里写图片描述

也就是说只有“支持向量点”对应的α_i才不为0,其他的α_i都为0。可以使用QP或者是SMO来求得一组α_i的值及其对应的x_i的值来,这样就能得到要求的支持向量模型。

二,SVM核函数

若训练集为非线性的,那么与线性的类似,我们需要将样本从不易划分的原始空间映射到容易划分的高维空间,如下图所示:
这里写图片描述

如上图所示在二维空间中不好划分,但是映射到三维空间就好划分了。
那么之前的线性模型就可以写成这样:
这里写图片描述
那么其对偶问题的解为:
这里写图片描述

其中∅(x_i )∅(x_j )表示样本x_i与x_j 映射到特征空间的内积。在非线性中关心的就是变换之后的样本点的内积,而核函数是两个线性变化之后的内积,定义为:k(x_1,x_2 )=ρ(x_1 )*ρ(x_2)。
只要一个对称函数所对应的核矩阵半正定,它就能作为核函数。常用的作为核函数的函数有:
这里写图片描述
另外还可以函数组合得到核函数,若k_1和k_2为核函数,那么他们的线性组合也是核函数:a*k_1+b*k_2。

三,软间隔

软间隔是值允许有些样本在支持向量机上出错。就是有些样本不满足公式(3).在最大化间隔的同时不不满足约束条件的点应该尽可能的少。于是优化目标为:
这里写图片描述
而将之转化为对偶问题的结果为:
这里写图片描述
其中C是一个常数,当C无穷大时迫使所有样本都满足公式(3) 那么就不是“软间隔”了,当C为有限值时就允许有些样本不满足约束条件(3)。C越大不满足约束条件的点越少,满足约束条件的点就越多,所以拟合能力越强,但是容易过拟合。
注意:还有一个重要参数是当把核函数定义为RBF核时的高斯核σ,当σ越大,f越平滑,非线性效能越小,对噪声越不敏感。σ 隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的个数影响训练与预测的速度。
在RBF核中,σ对函数的影响,如下图:
这里写图片描述

四,SVM简约版(面试专用)

1,svm是基于训练样本这里写图片描述在样本空间中找到一个划分超平面,将不同类别划分开。
超平面可以使用如下方程描述:这里写图片描述,其中这里写图片描述表示的是超平面的法向量。
2,若超平面可以将样本正确分类,那么有:这里写图片描述,那么存在缩放变换,可以将w,b进行缩放得到如下公式:这里写图片描述

说明:若有f(x1,x2)=x1+x2-0.6,满足负样本(0,0),有f(0,0)<0;正样本(1,1),有f(2,2)>0.那么有f(x1,x2)=2*x1+2*x2-1.2,使f(0,0)<-1,f(1,1)>1,仅仅是方程的系数改变了而已。

3,可以将上式改写成:这里写图片描述

4,任意一点到超平面的距离为:这里写图片描述,那么两个异类支持向量到超平面的距离(可以理解为到超平面法向量上的投影)为:这里写图片描述,称之为“间隔”。

5,“间隔”越大那么超平面分割的效果就越好。那么有如下转换:这里写图片描述,将最大化问题转化成了最小化问题。于是就得到第一个关键公式:这里写图片描述

6,使用拉格朗日乘子法可以将其转化成“对偶问题”:
这里写图片描述
说明:上式的第二项为正数,减去一个正数肯定不大于原来的树,所以要找到a能使L的值达到最大(L的第二项达到最小),然后再找到w,b使L最小,即这里写图片描述。转化之后就可以得到其对偶问题了:这里写图片描述,即先寻找w,b得到L的最小值,然后寻找a使L达到最大。

7,对L(w,b,a)对w,b求偏导,并令之为0,得到:
这里写图片描述
将(2)式带入到(1)中并化简可以得到:
这里写图片描述

原创粉丝点击