统计学习方法——支持向量机

在这里插入图片描述
之前讲到了感知机模型,并学习了找到超平面的方法,在之前的学习中,我们发现方法不一样,数据不一样,顺序不一样都可能导致找到的超平面是不一样的,那么再找到的超平面中怎么找出那个最优的,就是今天要学习的支持向量机里的内容。

支持向量机SVM (support vector machines)

二分类模型。它的基本型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。

间隔最大化:

一个超平面中,使得与它最近的样本点的距离都要大于任何一个超平面中与样本点最远的距离。
在这里插入图片描述

所有的所有的数据集都一定线性可分吗?

在这里插入图片描述
所以说,我们一当可以通过增加维度的方式把数据集区分开来,反过来把高维中的超平面映射到低维中,就可能出现变成曲线的超平面。
在这里插入图片描述
所以说,SVM是可以划分非线性的,但是它的本质还是线性超平面,只不过是相对于高维的来讲。

那么升维一定可以使得数据集线性分开吗?会不会升到无穷维也不能划分???

不会的,只要是不是一模一样的数据,就一定可以存在一定的维度把它区分开来。

那么会不会存在n维可分,n+1维不可分了?

不会,随着维度的上升,即也就是数据特征不断增减,当存在n个特征就已经线性可分的时候,后面加的条件一定是可有可无的,所以一定会可分。

SVM的特点:

1、最优超平面是通过最大化思想构造出来的。
2、SVM可划分线性不可分的数据集。
3、升维也可分
4、只要数据有差异,就一定可分,只不过是维度不一样就可以了。(非线性通过核函数找出那个非线性的超平面,直观来讲就是升维操作)

函数间隔和几何间隔

一般情况,一个点与超平面的距离可以表示 该点分类预测的确信程度,在超平面确定为ωx+b=0的情况下|ωx+b|在某种成功情况下就可以表示点与x的远近,可ω*x+b 的符号与类标记yi的符号是否 致能够表示分类是否正确,这样的一种方式就是函数间距。
函数间隔可以衣机分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变ω和b的大小,例如将它们改为 2ω和2b,此时超平面并不会发生改变但函数间隔却成为原来的2倍事实启示我们,可 以对分离超平面法向量ω加某些约束,如规范化 ,比如|ω|= 1,使得间隔是确定的 。这时函数间隔成为几何间隔。
在这里插入图片描述怎么使用最大间隔确定超平面?在这里插入图片描述
在这里插入图片描述
但是我们通过分析上面的约束条件,式子中的二范数w其实还是很复杂的,能否考虑通过几何间距与函数间距之间的关系使用函数间距优化?

在这里插入图片描述
在这里插入图片描述
上面式子中的函数间隔γ的取值并不影响最优化问题的解,也就是通过将ω和b按比例改写λω和λb 这时函数间隔成为λγ。函数间隔的这改变对上面最优化问题的等式约束没有影响,对目标函数的优化也没有影响。这样,就可以另λγ=1,就变成
在这里插入图片描述
又考虑到max(1/ω)等价于min(ω),又牵扯到后面的拉格朗日上的计算问题,继而它与min1/2w^2等价,整理后如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过拉格朗日方法就可以求出上面式子的极值(对偶算法)
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
通过这样的代换之后,最开始的求解极值问题中的变量w和在现在这个式子中以及就剩下唯一变量a,然后通过求解它的极值进一步确定出a的取值,然后再通过前面的式子求解出w,b,那么超平面就可以被确定出来了。

整体思路:

间隔最大法:
在这里插入图片描述
对偶形式——支持向量算法
在这里插入图片描述

eg

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们发现随着b的变化,它们的区域逐渐开始重叠,那么什么时候它的(ω1方+ω1方)最小呢,很显然就是它们距离远点最小的时候,也就是1,3重合的边界,那么联立1.3作为方程组,具体如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

软间隔最大化

在这里插入图片描述
假如训练集中有一特异点 ,将这些特异点除去后,剩下大部分的样本点组成的集合是线性分的。线性不可分意味着某些样本点 (Xi Yi) 不能满足函数间隔大于等于 的约束条为了解决这个问题,可以对每个样本点 (Xi Yi) 引进一个松弛变量 ζi大于等于0,函数间隔加上松弛变量大于等于1 。这样,约束条件变为
在这里插入图片描述
此时与之对应的目标函数就变为
在这里插入图片描述
其中 C(c>0) 称为惩罚参数,一般由应用问题决定,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小。最小化目标函数包含两层含义:使 1/2||ω1||尽小,即间隔尽量大,同时使误分类点的个数尽量小,那么C是调和二者的系数。然后就可以把这种线性不可分的问题转换成线性可分的问题,比较与前面的方式,这种方式就被称为是硬间隔最大化。然后再把它通过与上面相同的拉格朗日乘数法进行计算就得到了最终的化简结果,与前面的区别就是对αi的范围做出个更进一步的要求,这就是软间隔最大化的最终结果。
在这里插入图片描述

核函数

我们观察上面的式子,很明显计算xixj十一个很复杂的工序,尤其是处于越高维的维度中,这样的计算的复杂度是很明显的增加的,那么是否有一种方式可以解决这样复杂的计算呢?
所以我们希望存在一个函数 K(xi,xj)=xi
xj,还得要保证函数k计算起来足够简单,最好可以实现通过一个公式就可以搞定。所以我们引入了核函数的概念,把形如k(xi,xj)这样的函数就称为核函数。

高斯核函数

在这里插入图片描述
在计算xi*xj的时候直接就可以通过这个公式代替。
在这里插入图片描述
现在上面式子中就剩下了α还没求解了,如何去求解,所以方法就是SMO(序列最小最优化算法)算法

SMO算法

我们最后求解出来的α一定是满足kkt条件的,如果不满足那么一定不是最优解,所以我们每一次都需要进行不断的调整α的值,知道所有的α都满足kkt条件,这时候得到的一定就是最优解,那么这个过程就是SMO完成的。

kkt条件以及kkt条件的理解

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SMO算法的理解以及思路:

如果所有变量的解都满足此最优问题的 KKT 条件,那么这个最优化问题的解得到了。因为 KKT 条件是该最优化问题的充分必要条件。否则,选择两个变量,定其他变量,针对这两个变量构建二次规划问题。这个二次规划问题关于这两个变量的解应该使得这个方程更加接近原始的二次规划问题,所以就把原问题不断分解为子问题进行确认α的过程,从而达到求解的过程,需要注意的是此时必须同时更新两个变量,一次只更新一个变量时无法满足的,具体如下;
在这里插入图片描述
通过发现,这个参数它是可以通过其它参数给求解出来,因此不能达到参数优化的目的,所以要通过两个变量。
在这里插入图片描述

两个变量二次规划求解

假如我们只保留α1,α2两个变量,其余均当作是常量,于是就有
在这里插入图片描述
就得到这个式子
在这里插入图片描述
在这里插入图片描述
同时,还存在以下的情况:
在这里插入图片描述
所以通过第一个条件的约束,保证α1,α2在矩形平面内,然后后面的第二个等式约束保证了α1,α2在直线上,这样就使得两个变量的问题变为一个变量。
在具体一点讲约束条件,如下;
在这里插入图片描述

总结

1、SVM首先是通过最大间隔的角度出发,设计出了构造最优超平面的线性模型;
2、再计算的过程中,我们发现有极个别的噪音点的处理是很让人为难的,对此我们加入了软间隔,变成了具有软间隔功能的线性模型;
3、通过对数据的升维,确实是解决了非线性可分的模型,但是升维后出现的点积运算计算是比较复杂的,为了解决这个问题,我们引入了核函数的方式,通过公式来进行优化计算;
4、然后就剩下了如何去寻找参数α的过程,也就是通过SMO序列最小化算法确定出每一个α。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值