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

线性可分支持向量机

一、概述

模型:

(1)原始模型:

 (2)对偶问题的模型:

策略:

(1)最优化问题:

求解最优解w和b

(2)对偶最优化问题:

机器学习:支持向量机(上)_第1张图片

 求解再由求解出w,b

 机器学习:支持向量机(上)_第2张图片

算法:

见下文

二、主要内容

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

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

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

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

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

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

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

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

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

机器学习:支持向量机(上)_第3张图片

 1、模型

 2、策略

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

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

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

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

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

 几何间隔即为:

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

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

    

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

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

机器学习:支持向量机(上)_第4张图片

式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没有影响。 

 而且等价于

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

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

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

机器学习:支持向量机(上)_第5张图片

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

 3、算法

机器学习:支持向量机(上)_第6张图片

 补充:

机器学习:支持向量机(上)_第7张图片

机器学习:支持向量机(上)_第8张图片

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

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

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

 机器学习:支持向量机(上)_第9张图片

原始问题是:

先优化求出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。这样对偶问题和原始问题的结果是等价的。

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

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

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

机器学习:支持向量机(上)_第10张图片

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

 机器学习:支持向量机(上)_第11张图片

等价于求min a 

 机器学习:支持向量机(上)_第12张图片

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

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

 机器学习:支持向量机(上)_第13张图片

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

写成

  

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

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

算法:

机器学习:支持向量机(上)_第14张图片

 

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

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

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

你可能感兴趣的:(机器学习-原理篇,机器学习,支持向量机,人工智能)