svm 支持向量机 回归 预测_支持向量机算法SVM研究

一,SVM背景介绍:

SVM(support vector machines) 支持向量机, 简单来讲是一种二分类的算法,使得分类的间隔最大化,可形式化为一个求解凸二次规划的问题。下面是其数学定义:

假设给定的一个特征训练集

为第i个实例,
的类标签,当
为1 时为正例,为-1时为负例。学习的目标就是在特征空间上找到一个分离的平面,能将实例分开,相应的分离平面方程为
一般可以把数据分离,有分类函数:

6f3725498e95f296544e7b9954120154.png

支持向量机要解决的问题就是找到最好的分类超平面,在二维中就是找到一根直线,样本与直线的距离越大越好。

二,定义几何距离:

在SVM中表示距离的东东有,函数间隔和几何间隔。函数间隔简单理解就是点到平面的距离,函数间隔会随着超平面比例系数的变化而变化,几何距离是真正的空间中点到平面的距离。超平面f(x) 关于样本点的函数间隔为:

989cf6e41c0be1ad6147f842acf1f32d.png

第i个样本点到超平面

的距离为
。因为距离为正值,但有时候
可能为负值,所以结合标签y值,两者相乘后可以作为表达函数距离的表达式。

f635b7055494e7cea7ec9b09435c67bd.png

出现的问题:

如果同比例的扩大缩小w和b时,超平面的位置并没有变化,但是函数间隔却发生了变化,即函数间隔并不能真正的表示样本与超平面的距离,所以定义几何间隔,就是除以一个归一化的系数

8c9610d074ae8addadf2db58fc7f4941.png

函数间隔与几何间隔的关系是:

433cb00431625d7680a419d18f252252.png

当||w||=1时,保证了几何间隔和函数间隔形同。

此时我们要找到距离超平面最近的点的边距最大,可以用方程式表达为:

4adba02f46a1a26dc5805d305b4c07b6.png

三,定义目标函数以及求解

SVM 终极任务:使得离超平面函数距离最近的点到超平面的几何间距最大化。

对于函数距离来讲,我们可以令

,无论函数间隔为多少,都可以调整w和b得到。所以最大化
变为最大化
,最大化
相当于最小化
就得到优化后的最终表达式:

e04abdaf454df2a1fb5d03176bdb28f6.png

间隔有效的点就是支持向量点,即符合函数间隔等于1 的点。

此时问题转化成了一个凸函数优化问题,因为现在的目标函数是二次的,约束条件是线性的,所以是一个凸二次函数规划问题: 在一定的约束条件下,目标最优,损失最小。

通过拉格朗日函数求解最优解:

4f19972d53af2f4585be10182cd36fb1.png

由于引入了拉格朗日乘子现在目标变成了:

c079e9127f4bd0f539f811f5edbf6d2b.png

对公式的理解为:样本为支持向量(满足约束条件),最大的集合间隔中取最小值。因为优化函数满足KKT条件,可以通过拉格朗日对偶将优化的目标函数转化为其对偶问题来求解。也就是转化为下面公式的求解问题:

031c6537b4c961bf3068c6f05e7b1a2d.png

首先求

基于w和b的极小值,可以通过求偏导来求得。固定拉格朗日系数,分别对w和b求偏导并令其为0 得到:

9b3da8504851719578dc3a2a47ac2041.png

将结果带回到L式子中得到最终的目标函数表达式:

bb4059438e72e728415f4321f9f5e5bc.png

这是一个没有w和b的函数表达式,只要极大化

,就可以求出对应的
,进而求出w和b。极大化公式如下:

18987acbea5b4b5b5fb94c23a6d46d1a.png

把负号提出,转化为极小化同时符合以下限制条件:

e409fd64433ba966dbe9993e295497de.png

只要求出以上极小化时,对应的

向量,就可以求出w和b了。求解极小化的
需要利用SMO算法,假设我们求得对应的
的值为

求解W,通过以下公式:

b74860a4fcabb5a65c9d86daa26122a0.png

求解b,通过以下公式:对于任意的支持向量,

都有:

74742897da910dcfdb4dff03333faf5d.png

那样的点才是支持向量:只要满足函数距离为1的向量,都是支持向量,再带入上述的公式,理论上每个支持向量对应的b都可以作为最终的结果,不过一般取所有b的平均值,对应严格的线性可分的SVM,求得的b是一样的。

四,SVM 算法总结:

输入是:线性可分的m个样本

其中x为n维特征向量。Y为二元的输出值为1,或是-1.

输出是:分离超平面参数

和分类决策函数。

算法的过程如下

1)构造约束优化问题目标函数:

1df58e43a7d382f22973a02ffdcbd014.png

2) 用SMO算法求出上式最小时对应的

向量。

3)计算

4) 找出所有的S个支持向量,即满足

对应的样本
,通过

955ed2bdb961589c234019a5f81db58f.png

计算出每个支持向量

对应的
所有的

对应的平均值即为最终的

这样最终的分类超平面和决策函数为:

06d9b5fda6bc7bf611cc5e1fd390be9b.png

线性SVM面临的问题:

对于线性可分的样本点,以上将的理论是完全的试用的,但是当有几个的离群点的时候,线性支持向量机就不起作用了。这时候有必要引入软间隔,对这些异常点进行分类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值