机器学习:支持向量机(上)

线性可分支持向量机

一、概述

模型:

(1)原始模型:

机器学习:支持向量机(上)

 (2)对偶问题的模型:

机器学习:支持向量机(上)

策略:

(1)最优化问题:

机器学习:支持向量机(上)

求解最优解w和b

(2)对偶最优化问题:

机器学习:支持向量机(上)

 求解机器学习:支持向量机(上)再由机器学习:支持向量机(上)求解出w,b

 机器学习:支持向量机(上)

算法:

见下文

二、主要内容

支持向量机解决二分类问题。

支持向量机包括:线性可分支持向量机、线性支持向量机、非线性支持向量机。

线性可分支持向量机只能区分线性可分的数据集,使用硬间隔最大化的方式确定模型。

线性支持向量机可以区分近似线性可分的数据集,使用软间隔最大化的方式确定模型。

非线性支持向量机可以使用核函数将数据映射到非线性特征空间,实现非线性的分割。

  • 线性可分直线向量机(硬间隔支持向量机)

线性可分直线向量机和感知机的区别:

一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。 感知机利用误分类最小的策略,求得分离超平面,不过这时的解有无穷多个。线性可分支持向量机利用间隔最大化求最优分离超平面,这时,解是唯一的。

这里的间隔最大化又称为硬间隔最大化。

机器学习:支持向量机(上)

 1、模型

机器学习:支持向量机(上)

 2、策略

我们的策略是最大化间隔,就是不但要像感知机一样把所有点都正确分开,还要和点的间隔尽可能大。

间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大 的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例 点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新 实例有很好的分类预测能力。

//===============预备知识======================//

设任一数据点到超平面的距离的函数间隔为:

机器学习:支持向量机(上)

 其中距离最小的点的距离为:

机器学习:支持向量机(上)

 几何间隔即为:

机器学习:支持向量机(上)

 其中距离最小的点的距离为:

机器学习:支持向量机(上)

 所以几何间隔和函数间隔的关系是:

机器学习:支持向量机(上)    

//======================================//

所以我们最大化间隔的策略可以描述成:

机器学习:支持向量机(上)

式7.9,意思是通过确定参数w和b的值,使距离超平面最近的点min ri也尽可能的远离分割平面,即max min ri

当然约束条件7.10就是所有的点到平面的距离显然都要大于这个最小几何距离。

由于:

机器学习:支持向量机(上)

 所以上面可写成:

 机器学习:支持向量机(上)

又由于机器学习:支持向量机(上)是函数间距。 

 即Min机器学习:支持向量机(上)

假设将w和b按比例改变为aw,ab,这时函数间隔变为ar,所以我们可以使a=1/r,这样就可以使间隔固定为1,w/r和b/r还是记作w和b没有影响。 

 而且机器学习:支持向量机(上)等价于机器学习:支持向量机(上)

这样把约束优化问题的式子变为这样:

机器学习:支持向量机(上)

最终将求解的最优化问题变为了上面的式子。这是一个凸二次规划问题。

//================补充================//

机器学习:支持向量机(上)

 //====================================//

 3、算法

机器学习:支持向量机(上)

 补充:

机器学习:支持向量机(上)

机器学习:支持向量机(上)

 在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用。如果移动支持 向量将改变所求的解;但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解 是不会改变的。由于支持向量在确定分离超平面中起着决定性作用,所以将这种分类模型 称为支持向量机。支持向量的个数一般很少,所以支持向量机由很少的“重要的训练样本 确定。

//=========================================================//

上面的原始形式优化问题难以求解,所以介绍对偶形式。

 机器学习:支持向量机(上)

原始问题是:

先优化机器学习:支持向量机(上)求出max L(w,b,a) = f(w,b) ,确定了之后函数式中只剩下w,b。再求min f(w,b),求出最优的参数w和b。

 即:机器学习:支持向量机(上)

对偶问题是:

先优化w,b 求出min L(w,b,a) = f(a) ,确定了w,b之后函数式中只剩下机器学习:支持向量机(上)。再求max f(a),求出最优的参数a。

 即:机器学习:支持向量机(上)

而a和w,b的关系式子可以得到,所以就通过求解a来得到模型的解w,b。这样对偶问题和原始问题的结果是等价的。

//==========================================//

关于对偶问题和原始问题可以看另一篇文章:

//======================//=================//

机器学习:支持向量机(上)

 因此对偶问题就变成了求解以下优化问题:

 机器学习:支持向量机(上)

等价于求min a 

 机器学习:支持向量机(上)

因此对比一下:原始问题需要求解a,p,w对偶问题只需要求解a,p。更简单了

有如下定理,这里不证明了:

 机器学习:支持向量机(上)

有了用a表示的w,b,可以将分离超平面 

机器学习:支持向量机(上)写成

 机器学习:支持向量机(上) 

 因此对偶问题下的分类模型可写成:

机器学习:支持向量机(上)

 综上所述,对于给定的线性可分训练数据集,可以首先求对偶问题的解a*;再利用公式求得原始问题的解w*,b*;从而得到分离 超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法,是线性可分 支持向量机学习的基本算法。

算法:

机器学习:支持向量机(上)

 机器学习:支持向量机(上)

因为约束条件是ai>=0,所以所有样本点的系数ai=0的点对结果没有影响。

第(2)步计算b*的意思是,从系数ai中选择一个大于0的数据点,也就是其中的一个支持向量当做(xj,yj)代入式子得到b*.

所有a*>0的点是支持向量,才对决策函数有影响,其他数据点没有影响。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年6月13日 上午11:54
下一篇 2022年6月13日 上午11:57

相关推荐