码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习笔记——SVM之一

时间:2014-05-18 10:17:23      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:机器学习   svm   

SVM(Support Vector Machine),中文名为 支持向量机,就像自动机一样,听起来异常神气,最初总是纠结于不是机器怎么能叫“机”,后来才知道其实此处的“机”实际上是算法的意思。

支持向量机一般用于分类,基本上,在我的理解范围内,所有的机器学习问题都是分类问题。而据说,SVM是效果最好而成本最低的分类算法。

SVM是从线性可分的情况下最优分类面发展而来的,其基本思想可以用下图表示:

bubuko.com,布布扣

(最优分类面示意图)

图中空心点和实心点代表两类数据样本,H为分类线,H1、H2分别为过各类中离分类线最近的数据样本且平行与分类线的直线,他们之间的距离叫做分类间隔(margin)。最优分类线,就是要求分类线不但能将两类正确的分开,使训练错误率为0,而且还要使分类间隔最大。推广到高维空间,最优分类线就叫做最优分类面了。

bubuko.com,布布扣为两类线性可分的样本集合。对应的线性判别函数的一般形式为bubuko.com,布布扣,对应的分类方程为bubuko.com,布布扣将判别函数进行归一化,使所有样本都满足bubuko.com,布布扣,此时离分类面最近的样本bubuko.com,布布扣,要求分类面对所有样本都能正确分类,即满足bubuko.com,布布扣 (记为A),

此时分类间隔等于bubuko.com,布布扣,间隔最大等价于bubuko.com,布布扣最小。最优分类线H就是满足式A且使bubuko.com,布布扣最小的分类面。

两类数据样本中立分类面最近的样本,且平行于分类面H的超平面bubuko.com,布布扣bubuko.com,布布扣上的数据就是式A中使等号成立的那些数据样本,这些数据样本叫做支持向量(support vector,SV)。

由上可知,最优分类面问题可以表示为约束优化问题,在式A的约束下,求如下函数的最小值

bubuko.com,布布扣

为此,定义如下Lagrange函数

bubuko.com,布布扣 (记为式B)

式中,bubuko.com,布布扣拉格朗日函数的乘子(Lagrange Multiplier) bubuko.com,布布扣,要求式B的最小值,对各个参数求偏导数,且偏导数为0,结果如下

bubuko.com,布布扣

根据A式和B式的约束条件,可以将上述分类面的求解问题问题转化为如下凸优化的问题

bubuko.com,布布扣                                                                      

式中,bubuko.com,布布扣对应的为拉格朗日乘子 ,这是一个二次寻优问题,存在唯一解。若bubuko.com,布布扣为最优解,则有

bubuko.com,布布扣

式中,bubuko.com,布布扣为不为0的样本,即为支持向量。因此,最优分类面的权系数向量是支持向量的线性组合。

bubuko.com,布布扣为分类阀值,可由约束条件bubuko.com,布布扣求解,解上述问题后得到的最优分类面函数为

bubuko.com,布布扣

bubuko.com,布布扣,x就属于该类,否则不属于。

概括地说,SVM就是首先通过用内积函数定义的非线性变换将输入控件变换到一个高维空间,然后在这个空间中求广义的最优分类面。

机器学习笔记——SVM之一,布布扣,bubuko.com

机器学习笔记——SVM之一

标签:机器学习   svm   

原文地址:http://blog.csdn.net/laozhaokun/article/details/25562165

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!