机器学习:支持向量机

支持向量机(SVM)基本原理

支持向量机(support vector machines, SVM)是一种二分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核方法,核方法技巧使它成为实质上的非线性分类器。

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。

SVM的的学习策略就是间隔最大化,找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解,得到求解规划的最优化算法。

最大间隔与分类

如上图在二维空间上,两类点被一条直线完全分开叫做线性可分。在样本空间中寻找一个超平面, 将不同类别的样本分开.便得到一个线性模型;
最大化决策边界的边缘:

从二维扩展到多维空间中时,将训练样本分开的超平面可能有很多。为了使得到的超平面更具鲁棒性,泛化能力最强,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。

两类样本分别分割在该超平面的两侧;

两侧距离超平面最近的样本点到超平面的距离被最大化了

对偶问题

我们将SVM要求得最大间隔的凸二次规划问题转变成了拉格朗日函数求解问题, 将上述拉格朗日函数转为求其对偶问题,即将 、min、max  ​求解顺序对调,变为 、max、min 
原始问题转换
拉格朗日乘子之后的公式为:

优化问题为:

转换问题为m i n − m a x min-maxmin−max问题:

若原始问题和对偶问题都有最优值,则对偶问题最优值d  小于或等于原始问题最优值p  

minw​F(w,b,ai​) 对w、b求偏导,偏导等于零,求极值,得到:

将w、b结果代入到原公式中得到:

核函数

基本想法:不显式地构造核映射 , 而是设计核函数
Mercer 定理 ( 充分非必要 ) :只要对称函数值所对应的核矩阵半正
, 则该函数可作为核函数 . 核函数其实是一种运算技巧而已

软间隔与正则化

基本思路:最大化间隔的同时 , 让不满足约束的样本应尽可能少
因为 0/1 损失函数非凸、非连续 , 不易优化,故而找到其替代损失函数

支持向量回归

特点: 允许模型输出和实际输出间存在 2 ε 的偏差 .

三种模型

  • 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机

给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:
在这里插入图片描述
以及相应的分类决策函数为:
在这里插入图片描述
称为线性可分支持向量机。

间隔最大化和支持向量

在超平面w ∗ x + b = 0 w*x+b=0w∗x+b=0确定的情况下,∣ w ∗ x + b ∣ |w*x+b|∣w∗x+b∣能够相对的表示点x距离超平面的远近。而w ∗ x + b w*x+bw∗x+b的符号与类标记y的符号是否一致能够表示分类是否正确。所以可用y ( w ∗ x + b ) y(w*x+b)y(w∗x+b)来表示分类的正确性及确信度,这就是函数间隔(functional margin)的概念。

对于给定的训练数据集T和超平面( w , b ) (w,b)(w,b),定义超平面( w , b ) (w,b)(w,b)关于样本点( x i , y i ) (xi,yi)(xi,yi)的函数间隔为:

定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点( x i , y i ) (xi,yi)(xi,yi)的函数间隔最小值,即:

对分类超平面的法向量w加某些约束,如规范化,||w||=1,使得间隔确定,此时函数间隔为几何间隔(geometric margin):

欲找到具有最大间隔的划分超平面,也就是γ最大:

支持向量机的学习策略是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)。

仅需最大化

这等价于最小化

上式可重写为:(1)

这是支持向量机的基本型,其本身为一个凸二次规划问题。

使用拉格朗日乘子法可得到其“对偶问题”(dual problem),其拉格朗日函数可写为(其中α i αiαi是拉格朗日乘子):(2)

利用对偶性的结论, 对L ( ω , b , α ) L(ω,b,α)L(ω,b,α)关于ω ωω和b bb求偏导数:(3)

将(3)代入(2)得到(1)对偶问题:

求出 ω 与 b即可得到模型:

  • 当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机

线性不可分意味着某些样本点( x i , y i ) (xi,yi)(xi,yi)不能满足间隔大于等于1的条件,样本点落在超平面与边界之间。为解决这一问题,可以对每个样本点引入一个松弛变量 ξ i ≥ 0 ξi≥0ξi≥0,使得间隔加上松弛变量大于等于1,这样约束条件变为:

同时,对于每一个松弛变量ξ i ≥ 0 ξi≥0ξi≥0 ,支付一个代价ξ i ≥ 0 ξi≥0ξi≥0

目标函数变为:

其中 C>0为惩罚参数,C值大时对误分类的惩罚增大, C值小时对误分类的惩罚减小。

有了目标函数,可以和线性可分支持向量机一样考虑线性支持向量机的学习过程,此时线性支持向量机的学习问题变成如下凸二次规划问题的求解

与线性可分支持向量机的对偶问题解法一致,上式的拉格朗日函数为:

求得偏导解出a,可以得到模型:

  • 当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机

代码实现

实验总结

SVM算法的主要优点有:

解决高维特征的分类回归问题很有效,在特征维度大于样本数时依然有很好的效果。

使用核函数可以灵活的来解决各种非线性的分类回归问题。

样本量不是海量数据的时候,分类准确率高,泛化能力强。
缺点

对参数调节和和函数的选择敏感。

特征维度远大于样本数时,SVM表现一般。

对偶问题往往更易求解。寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值