SVM支持向量机一(入门)

原创 2013年12月02日 11:07:24

SVM支持向量机一



      经过上南京理工大学夏睿的机器学习课程,下文也主要借助了夏老师的PPT截图进行讲解 和美国 Stanford Andrew Ng Machine Learning的网络公开课的视频及PPT之后,又参照了很多网友的博客园及CSDN的博客,自己又推导了一边,相信的总结了,SVM的面纱逐渐揭开了,我也尝试着把而为空间的SVM的SMO方法的启发式学习用python编写出来了后面后附带上实验的数据和代码,SVM由于很多,想讲解的细致一点,我打算分为3-5章来讲解,逐步推进!

参考:Rui Xia‘s Homepage Machine Learning Course:http://msrt.njust.edu.cn/staff/rxia/ml/

本文一主要讲解,SVM提出的初衷。

1.最大间隔的提出
2.点到平面距离的向量表示,函数距离,几何距离
3.最大Margin的三种递进表达式(等价性
-----------------------------------------------------------------------------------------
1.最大间隔的提出

首先我们先来看一个分类的图

从上图中,我们看到有7条红色的线都可以把两类点分的很好,但是很多时候,随着样本的增加之后,有些直线分类效果就会越来越差,例如y1,y2,y3,这3条红线,有些地方很靠近被分类的点,虽然目前分类效果很好,但是不是最理想的,我们可以看到最理想的应该是y直线,通俗的讲,就是这条直线即把点分开,又使得最靠近他的点距离直线最大
如上图就是y绿线距离圆形蓝点,和方形的红点距离最大化的情况,其中圆形蓝点和2个方形红点就是支撑了这个超平面,2条虚线的距离就是我们要找的最大距离 Maximum margin,因为这种不仅可以把点分开,也是分开最理想的情况,我们的出发点或者是SVM的初衷就是要找到这样的Maximum margin!!


2.点到平面距离的向量表示,函数距离,几何距离

首先我们先不看被分类的点,先看 假如这条理想的直线 现在已经求解了出来,我们先看一个分类点X到这条最优分类直线的距离,即点到平面距离的向量表示:

图中,X为某一个分类点,为由点X做y=0垂线的垂足,r为X到直线y=0的几何距离,直线的方程为:y(x)= WTX+b,有的是y(x)= WTX-b (W = [theta1,theta2]),实质一样,没有区别!
即我们最终求出的直线为y=0  即,   theta1*X1 + theta2*X2 + b =0 
即直线的公式就更形象化的表示为:X2 =  -(theta1/theta2)*X1 - b/theta2
现在很清楚了吧,而且以后注意W是向量可能是高维

好了下面进行x到y=0几何距离的推导(注意都是向量,用坐标表示):


上图的说明,因为很多公式不好打出来所以只能用图片了,大家见谅哈!

(1.)我们的线性模型假设为 y = WTX + b,他的用处是最后我们的理想直线为:Y = 0 上面已经说明不再赘述。还有一个就是当我们用训练集训练出来参数,也就是y = 0后,预测其他数据时, 若得出 y > 0 则为第一类,y < 0 为第二类,有人如果问 y=0呢,这种情况很少,可以算第一类,也可以算第二类,以后会讲到,因此SVM是一直种判别式模型,而非生成式或产生式模型,什么模型参考:http://blog.csdn.net/lch614730/article/details/17031145 :朴素贝叶斯分类算法(Naive Bayesian classification)中的(1)

(2.)上式红色1-->2的推导为:在“红色1式”两端左乘 WT后,再加上 b,因为上面“画下划线”的在直线 y = 0 上,所以整体为 0

(3)上面的 r 还有一种情况就是X-的情况 ,整合到一起 r*y(i)叫做 几何距离(geometric distance),因为到时候我们的样本标签给出的y 的值为第一类 == 1,第二类 == -1 ,y属于{1,-1}

        



3.最大Margin的三种递进表达式(等价性

(1)几何距离的不变性 和 函数距离的相对缩放性
 由上图我们可以看到,几何距离我们缩放 W,b 为 CW,Cb,对几何距离没有影响,直观上我们也知道几何距离本来就不会变的,几何距离的不变性!!!
但是这个时候函数距离 r~变了,变为Cr~,这个很重要,他的通俗意思我们可以理解为,W和b的值是不会变的,只要给他们放大或者缩小了系数C倍,函数距离可以变为任意值(这个性质很重要)!!!

至此,最大margin的数学表达式就可以出炉了!

规则1
             
PS:上图说明:我们要使margin最大,约束条件就是所有样本点到这天直线的距离都要>=这个最大margin(或者就是虚线上支持向量到直线的距离),还有个问题隐含了起来就是这条直线到两条虚线距离应该是相等的!!!

规则2
                   
规则3


有人问:为什么函数距离 r~缩放为 1呢?

答:在上面的:(1)几何距离的不变性 和 函数距离的相对缩放性
中我们 已经推到证明了结论,因为缩放函数距离 r~,只是缩放了W,b变为 CW,Cb,并不影响W,b本身的值,几何距离的 不变性也知道W,b不会变!!!,r~调整C变为1对命题没有任何影响不是吗?而且好计算,化简问题使我们解决问题的手段、
                   
至此,SVM 1结束,就是我们得到了最终原问题的化简形式这个唯一结论,记住他有约束条件S.T.
这种问题的解决我们要用到 Lagrange Duality(拉格朗日对偶性)数学方法进行解决,下节我们将重点讲解这个数学方法的 等式约束 和不等式约束 最小最大值问题求解!!!


相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

支持向量机总结

机器学习总结——支持向量机 现在介绍支持向量机的文档很多,以下只是我个人对于支持向量机算法的认识,有认识不到位的地方请各位大牛多指正。支持向量机属于一种二类分类模型,它的模型是定义在特征空间上的间...
  • wazwx
  • wazwx
  • 2016年03月09日 11:12
  • 1756

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

支持向量机(SVM)PPT

Stanford机器学习---第八讲. 支持向量机SVM

本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学...

支持向量机通俗导论(理解SVM的三层境界)

支持向量机通俗导论(理解SVM的三层境界) 作者:July、pluskid ;致谢:白石、JerryLead 出处:结构之法算法之道blog。 前言  ...
  • macyang
  • macyang
  • 2014年08月23日 22:09
  • 181324

Andrew Ng机器学习入门学习笔记(六)之支持向量机(SVM)

一.支持向量机的引入支持向量机(SVM)是一种极受欢迎的监督学习算法,为了引入支持向量机,我们首先从另一个角度看逻辑回归。1.从单个样本代价考虑假设函数hθ(x)=11+e−θTxh_\theta(x...

北美18名校的数据挖掘,数据分析,人工智能及机器学习课程汇总

北美18名校的数据挖掘,数据分析,人工智能及机器学习课程汇总 问答 http://www.quora.com/What-is-data-science  数据科学是什么? http://ww...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SVM支持向量机一(入门)
举报原因:
原因补充:

(最多只允许输入30个字)