浅谈SVM

来源:互联网 发布:淘宝网建达巧克力 编辑:程序博客网 时间:2024/06/08 06:18


173人阅读 评论(0)收藏举报
分类:

一、了解SVM

SVM是一机器学习中的一种分类方法,是一种二分类方法。它的目的便是在求得一组权值w1,w2,.....wn,b,使得两个分类的间隔达到最大,也就是能很好地将两个类别分开。

1、从逻辑回归引入SVM

此处使用Logistic Regression做为一个因子,来引入SVM

逻辑回归也是一个分类模型,它采用的映射函数为Sigmod函数,也就是把属于负无穷到正无穷的自变量映射到(0,1)之间。


函数图像如图所示。sigmod函数为,函数的输出是概率估计,输出代表1的概率。输出值>0.5为类别1,<0.5为类别0,。因此可以用概率模型来表示输出属于各个类别的值:, 

逻辑回归的目的是要求得到一组,使得属于类别y=1的特征满足>>0,即,使得属于类别y=-1的特征满足<<0,即

2、逻辑回归变形为SVM

 -->

。同时y也由原来的类别1,0变为了1,-1.   针对输入x我们会得到,以下图为例


中间实线为我们要找的超平面,上面虚线代表,也就是类别为-1,下面代表类别为1.

注:类别为1 ,-1的由来:

1、二分类的标签是任意取的,只要能区分两个不同的类别即可。;

2、SVM为二分类模型,超平面分开的两个类的函数值相应于超平面是相反的;

3、既然是两个数,而且是相反数,那就去1和-1便于计算。

我们的目的是求得一组w和b,使得两个分类的间隔最大。也就是上图中虚线上的点到=0的距离最小,实际距离表示为,实际上式为,因为对于虚线的点满足,因为虚线上的点事支持向量的,所以两边虚线之间的间隔也就是。求得max,即可找到一组最优的w,下面对这个式子做一下变换,max等价于min   s.t   

注:能够表示x到超平面的距离远近,通过观察i的符合是否一致就可以判断分类是否正确。

二、参数求解

在求解w的过程中,一直有一个约束条件即,可以引入拉格朗日函数约束。


求函数的极值,对三个未知数分别求偏导可得出:    

这样就找到了三者之间的关系,求出就相当于求出了w,b。

。只有一个参数,采用SMO方法,即每次只求两个,固定除了这两个以外所有的(视为常数),不断的任意抽取,然后求解上面关于的函数值直到收敛。

求出以后,w,b也就迎刃而解了,则超平面也就确定了。



1、SVM中涉及的核函数是处理非线性情况,直接映射到高维空间维度太高时计算量太大,所以核函数是在低维空间计算。(此处摘抄自某资料,在下现在还不明白?)

2、松弛变量是为了满足少量不严格满足的因子而设计的(即对不好分类的点的一种约束)。


经验风险,结构风险:

1、经验风险就是真实存在的风险,即真实值与预测值差的平均

SVM采用的是合页损失,max(1,1-z),

2、结构风险(加入正则化之后的风险值),

是对参数w的一种约束,分为L1正则化和L2正则化

L1正则化就是趋向于产生更少的特征,其它的特征的wi均为0;

L2正则化趋向于选择更多的特征,使得特征wi都接近于0;L2可以防止过拟合,提升泛化能力。SVM默认采用L2正则化。


以上对SVM的理解还是比较浅显的,以后有了更深的理解会继续更新。希望批评指正。


另外推荐一个可以网页版编辑公式的的东西:http://www.codecogs.com/latex/eqneditor.PHP

原创粉丝点击