ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[DM]分类-支持向量机

2021-03-24 22:07:18  阅读:220  来源: 互联网

标签:分割 SVM 分类 DM 超平面 维度 margin 向量


文章目录

一、间隔margin最大化

二、线性问题求解

三、非线性问题求解

四、matlab实现

五、Soft Margin

支持向量机(support vector machines,SVM)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则间隔最大化最终转化为一个凸二次规划问题来求解

分割的前提是样本已经进行过分类,有各自的样本标签。SVM处理线性不可分问题时,将数据点从低维度空间向高维度空间进行映射,然后再利用超平面进行分类。有点类似于神经网络(从原始空间映射到新空间)。

图片


一、间隔margin最大化

SVM是线性分类器,通过形成一个超平面来对样本划分。如下图,虽然每条分割线都能将数据完美分隔开,但很明显并不是每一种划分方式都是最好的。

我们引入margin的概念,如下图:

如上图,正好卡住分界面的点叫做支持向量

margin指用于分割的超平面能够在不同类支持向量间平移的距离margin越大,表示用于分割的超平面容错的能力越强

中间margin这部分是没有点的。很明显如果上图中分割线旋转一些角度,margin就减少了。SVM问题的目标就是找到使margin最大的分割面

如下图样本的红点,蓝点,分割线处。其中,w方向和分割超平面垂直。

所以为求解SVM问题,我们需先知道点到分割面的距离怎么求。

表示投影到分割面上的点。

图片

点到直线的距离为图片的绝对值比w的模。

图片

因为支持向量到分割面的图片差的绝对值都是1,

图片

所以margin的长度为:

图片


二、线性问题求解

我们把分割面以上点称为+1类(y=+1),以下的点称为-1类(y=-1)(没有明确规定)。

图片


求margin最大:

图片

等同于求下式最小:

图片

约束条件:

图片

拉格朗日乘数法:

把(2)、(3)式代回(1)式

我们的目标函数可以转化为求下式的最小值:

其中

对于式(4)的求法我们可以直接调用matlab中的二次规划函数quadprog求解。所以虽然看起来上述的公式推导很繁琐,但在matlab代码里表示的却很简单。

根据求解出的α值代入式(2),我们就得到了向量w。

因为每一个支持向量都满足:

其中下标s表示支持向量。我们把w代入随便一个支持向量,就求解出了b值。

分割超平面:

也就求出来了。


三、非线性问题求解

对于无法通过线性划分来分类的问题,我们最容易想到的是将数据点映射到新的维度空间。如图所示。

数据就可以被线性划分了。

将原始数据向高维度空间投影无疑会帮助我们对问题的求解,但也带来了运算维度高,计算量大的问题。

SVM通过使用核函数巧妙的解决了巨额运算量的问题。

如下图,我们把某m维的向量x映射到高维空间,对应的新向量:

新向量的维度大概为m平方的数量级:

将两个高维向量做内积,维度仍为m平方数量级:

式子很繁琐,但我们惊喜地发现上式和相等:

所以我们取核函数

式子就简单多了。

通过引入核函数,把m平方数量级维度的运算转化为m数量级维度的运算。这就是大名鼎鼎的Kernel Trick

所以对于线性不可分SVM问题,我们还是求

只不过要对H做一点转换:

划分超平面为

在解决实际问题中,除上述核函数外我们还有其他核函数可以选择:


四、matlab实现

1.线性SVM(画圈的点为支持向量):

图片

2.非线性SVM(画圈的点为支持向量):

图片


五、Soft Margin

实际问题中,并不是所有的数据点都可以被一刀切,如图:

图片

实心堆里有空心的,空心堆里有实心的,我们加入一个缓冲参数,惩罚量。

图片

还是拉格朗日乘数法:

图片图片

图片

转化为

图片

殊途同归,注意这里图片要小于图片了。


标签:分割,SVM,分类,DM,超平面,维度,margin,向量
来源: https://blog.51cto.com/15057852/2671190

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有