机器学习-----支持向量机

今天接着总结西瓜书的支持向量机(support vector machine)

    1. 支持向量机的概念理解
      本质上就是我们希望找到一条线(二维)或者一个超平面,使得离这条线或者这个平面最近的点,他们能够离这条线或者这个超平面的距离尽可能的远 (这条线或者超平面我们把它术语化为分割面,而样本到分割面的距离为间隔 ,把距离超平面最近的那些点叫做支持向量
  • 2.公式的一步步推导
    (1) 空间中的任意一个点x,到超平面(w,b)的距离如何表示呢?
    大家是否还记得初中学的点到直线的距离公式呢?



    比对上边的的公式和下边的解释,不难得出,该距离为
    r=|wTx+b|/||w|| 除此之外,我们由上述的解释还能知道,对于所有的样本集合,yig(xi)>0均成立。 对于这一点,在书《机器学习实战实战》一书中,有这样的描述:如果数据处于正方向(即+1类)并且离分隔超平面很远的位置,wTx+b 会是一个很大的值,同时yig(xi)也会是一个很大的正值,反之,如果数据点处于负方向(-1类)并且离分割超平面很远的位置时,此时由于类别标签为-1,yig(xi)仍然是一个很大的正数*

(2) 支持向量机基本模型的由来



上述解释换句话说,就是加入一个约定条件:yi(wTx+b)>=1
这样一来,就转化为了一个拉格朗日问题 , 该问题如下
离分隔平面近的点的距离最远 max 2/||w||
其中约束条件为:yi(wTx+b)>=1 i=1,2,3,4,.....m
显然,为了最大化间隔,仅需要最大化||w||-1,这就等价于最小化(||w||)^2, 所以上式可以改写为
min 1/2*||w||^2
s.t yi(wTx+b)>=1 i=1,2,3,4,.....m

(3)拉格朗日函数的构造,对偶问题,KKT约束条件

把上述求偏导的数据带回到拉格朗日原始式子之后,得到如下的结果


这样原来的问题就变成了只有一个变量α的求解问题

  1. 线性问题
    有时候会遇到二维空间的非线性问题,这时候就需要进行升维操作,也就是说于低维空间中非线性的线(面),在映射到高维空间中时,就能变成线性的。
    解决此类问题的办法就是加入核函数Kernel, 上述的问题就转化为了求解满足下列等式的αi



4.松弛变量
上面就是一个比较完整的推导过程,但是经验表明把上述条件丢给计算机进行求解,基本上是无解的,因为条件太苛刻了。因此人们想到通过加入松弛变量来解决这一问题,松弛变量的意义本质上就是使得支持向量在如下图中的两条虚线之间进行移动,从而来减小噪音



当上述式子取得极值的时候,约束条件就必须是满足KKT条件的,因此必然有


分析上述的例子可以得到如下的结论点



以上就是SVM的一些基础的推导过程

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 13,844评论 0 7
  • 本文来自同步博客。 P.S. 不知道简书怎么显示数学公式以及更好的排版内容。所以如果觉得文章下面格式乱的话请自行跳...
    chardlau阅读 2,910评论 0 0
  • 积跬步以致千里,积怠惰以致深渊 注:本篇文章整理时主要参考了 周志华 的《机器学习》。 主要内容 支持向量机会接受...
    指尖上的魔术师阅读 4,540评论 0 4
  • 本文来自同步博客。 P.S. 不知道简书怎么显示数学公式以及更好的排版内容。所以如果觉得文章下面格式乱的话请自行跳...
    chardlau阅读 3,853评论 0 3
  • 本文来自同步博客。 P.S. 不知道简书怎么显示数学公式以及更好的排版内容。所以如果觉得文章下面格式乱的话请自行跳...
    chardlau阅读 1,724评论 0 0

友情链接更多精彩内容