机器学习算法(五):支持向量机(SVM)

本文详细介绍了支持向量机(SVM),包括线性可分支持向量机、线性支持向量机、非线性支持向量机及其与核函数的关系。内容涵盖函数间隔、几何间隔、间隔最大化、支持向量、学习的对偶算法,以及序列最小最优化算法(SMO)等关键概念,旨在深入理解SVM的工作原理和优化策略。
摘要由CSDN通过智能技术生成

支持向量机(Support Vector Machine,SVM)

支持向量机是一种二分类模型。它的学习策略是间隔最大化,可以形式化为一个求解凸二次规划的问题,支持向量机的学习算法是求解凸二次规划的最优化问题。支持向量机的模型包括三种类型:线性可分支持向量机、线性支持向量机、非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,也即线性可分支持向量机;当训练数据近似可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

核函数表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。

由于支持向量机是一种二分类模型,它并不能像softmax分类器那样学习一个多分类的模型。如果想要用其来学习多分类的模型,就需要将每一个类作为正类,其他类作为负类,学习一个分类器,直到对每一个类别都学习到一个分类器。

线性可分支持向量机

给定一个特征空间上的训练数据集

T={ (x1,y1),(x2,y2),...,(xN,yN)}

其中 yi 表示训练数据的类别。当 yi=+1 时,称 xi 为正例;当 yi=1 时,称 xi 为负例。

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

wx+b=0

以及相应的分类决策函数

f(x)=sign(wx+b)

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

支持向量机中的间隔是通过几何间隔以及函数间隔来刻画的,接下来就来介绍下这两种间隔。

函数间隔

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

γi^=yi(wxi+b)

一般来说,一个点距离分类平面的远近可以表示分类预测的确信程度。在超平面 wx+b=0 确定的情况下, |wx+b| 能够相对地表示点 x 距离超平面的远近。而 wx+b 的符号与类标号 y 的符号是否一致能够表示分类是否正确。所以可以使用函数间隔来表示分类的正确性以及确信度。

但函数间隔的缺点也非常明显。只要成比例的改变 w b ,函数间隔也会随之增大,但其实分类平面并没有发生变化。所以需要对分类平面的发向量 w 加上一些约束,使得间隔是确定的,这就是接下来要介绍的几何间隔。

几何间隔

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

γi=yi(w||w||xi+b||w||)

超平面 (w,b) 关于样本点 (xi,yi) 的几何间隔一般是实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离。因为几何间隔并不会出现函数间隔的那种缺点,所以在使分类器间隔最大化时,使用的是几何间隔。

间隔最大化

支持向量机学习的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分的超平面有无穷多个,但几何间隔最大的分离超平面是唯一的(有相应的定理可以对其证明)。间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据集进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(距离分类平面最近的实例点)也有足够大的确信度将它们分开。

原始最优化问题

间隔最大化线性可分支持向量机的最优化问题为:

maxw,bγ

s.t.yi(w||w||xi+b||w||)γ,i=1,2,...,N

考虑到几何间隔与函数间隔之间的关系,可以将原问题转化为一下问题:

maxw,bγ̂ ||w||

s.t.yi(wxi+b)γ̂ 

考虑到函数间隔的性质:成比例地改变参数 w b ,函数间隔也会成比例地发生变化,但是分离超平面并不会发生变化。这表明,函数间隔的取值并不会影响最优化函数的解。因为只要改变 w b ,可以在函数间隔取任何值时,找到同一个分离超平面。为了方面,将函数间隔取1。将最大化问题转变为最小化问题,则原问题转变为以下问题:

minw,b12||w||2

s.t.yi(wxi+b)1,i=1,2,...,N

支持向量

在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量。支持向量是使下列条件等号成立的点:

yi(wxi+b)1=0

支持向量

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

学习的对偶算法

由于求解原问题并不容易,所以会通过拉格朗日函数将原问题转化为对偶问题,通过求解对偶问题使其满足KKT(Karush-Kuhn-Tucker)条件,从而求得原问题的解。接下来,就简单讨论下这里会涉及到的一些理论。

原始问题

假设 f(x),ci(x),hj(x) 是定义在 Rn 上的连续可微函数,考虑约束最优化问题

minxRf(x)

s.t.ci(x)0,i=1,2,...,k

hj(x)=0,j=1,2,...,l

称此约束最优化问题为原始最优化问题或原始问题。

引入广义拉格朗日函数

L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)

这里, αi,βj 是拉格朗日乘子, αi0 。考虑 x 的函数:

θp(x)=maxα,β:αi0L(x,α,β)

这里下标 P 表示原始问题。

假设给定某个 x 。如果 x 违反原始问题的约束条件,即存在某个 i 使得 ci(w)>0 或者存在某个 j 使得 hj(x)0 ,那么就有

θp(x)=maxα,β:α_i0[f(x)+i=1kαici(x)+j=1lβjh
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值