支持向量机1—线性可分支持向量机与硬间隔最大化

支持向量机(support vector machine, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法时求解凸二次规划的最优化算法。

凸规划   

设S为n维欧式空间Rn(R的n次方)中的一个集合,若对S中任意两点,连接它们的线段中任一点仍属于S,那么就说S为一个凸集。

对于S中的任意两点x1,x2,对于任意的λ∈[0,1], 都有λx1+(1−λ)x2∈S,称S为一个凸集。

x1,x2 为凸集中的任意两点,λ∈[0,1],若满足 f(λx1+(1−λ)x2)≤λf(x1)+(1−λ)f(x2),则称函数为凸函数。线性函数是凸函数也是凹函数。

若最优化问题的目标函数为凸函数,不等式约束函数也为凸函数,等式约束函数是仿射的,则称该最优化问题为凸规划。凸规划的可行域为凸集,因而凸规划的局部最优解就是它的全局最优解。当凸规划的目标函数为严格凸函数时,若存在最优解,则这个最优解一定是唯一的最优解。



KKT条件

对于含有不等式约束的优化问题,如何求取最优值呢?常用的方法是KKT条件,同样地,把所有的不等式约束、等式约束和目标函数全部写为一个式子L(a, b, x)= f(x) + a*g(x)+b*h(x) (a0,b0),KKT条件是说最优值必须满足以下条件:(1) g(x)≤0; (2) a≥0; (3) a*g(x)=0; 

综述

支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,学习一个线性的分类器,即线性支持向量机,又称软间隔支持向量机;当训练数据线性不可分时,可通过使用核技巧及软间隔最大化,学习非线性支持向量机

当输入空间为欧氏空间或离散集合,特征空间为希尔伯特空间时,核函数表示将输入从输入空间映射到特征空间得到的特征向量之间的内积,通过使用核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。这样的方法称为核技巧。核方法是比支持向量机更为一般的机器学习方法。

线性可分支持向量与硬间隔最大化

1、线性可分支持向量机

对一个二类分类问题,假设输入空间与特征空间为两个不同的空间。输入空间为欧氏空间或离散集合,特征空间为欧氏空间或希尔伯特空间。线性可分支持向量机、线性支持向量机假设这两个空间的元素意义对应,并将输入空间中的输入映射为特征空间中的特征向量。非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量。所以输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间进行的。

假设给定一个特征空间上的训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈χ=Rn,yi∈γ={-1,+1}。学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同类。分离超平面对应于方程 w*x+b=0,由法向量w和截距b决定。线性可分支持向量机利用间隔最大化求最优分离超平面,这时解是唯一的。

给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面以及相应的分类决策函数如下。

            

称为线性可分支持向量机。

2、函数间隔与几何间隔

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


函数间隔可以表示分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够,因为只要成比例地改变w和b,如改为2w和2b,超平面并没有改变,但函数间隔却成为原来的2倍。所以可以对分离超平面的法向量w加某些约束,如规范化||w||=1,使得间隔是确定的。这时函数间隔成为几何间隔。

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


超平面(w,b)关于样本点(xi,yi)的几何间隔一般是实例点到超平面的带符号的距离,当实例点被超平面正确分类时就是实例点到超平面的距离。

几何间隔与函数间隔之间的关系如下


3、间隔最大化

支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个,但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化。

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

所以间隔最大化问题可以表示为下面的约束最优化问题:

......................................................................(1)

....................................................................................(2)

..............................................................................(3)

对(1)式中的约束条件表示超平面(w,b)对每个样本点的距离至少为y。根据几何间隔与函数间隔的关系可以得到(2)式。由于函数间隔y_hat的取值并不影响优化问题的解,所以将y_hat设为1。另外,最小化1/||w||与最大化1/2*||w||2相同,所以可得(3)式。这是一个凸二次规划问题。


4、学习的对偶算法

为了求解线性可分支持向量机的最优化问题(式(3)),将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法。这样做的优点,一是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。

构建拉格朗日函数。为此,对不等式约束引入拉格朗日乘子αi≥0,i=1,2,...,N,定义拉格朗日函数:


其中α=(α1,α2,...,αN)的转置,为拉格朗日乘子向量。

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题: 

所以为了得到对偶问题的解,需要先求L(w,b,a)对w,b的极小,再求对α的极大。




用SMO算法求出上式最小时对应的α向量的值α∗向量







参考:《统计学习方法》李航

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值