SVM算法1

    支持向量机(support vector machines,SVM)是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quardratic)的问题,也等价于正则化的合页损失函数的最小化问题。
    支持向量机学习方法包含构建由简到繁的模型,线性可分支持向量机,线性支持向量机及非线性支持向量机。简单模型是复杂模型的基础,也是复杂模型的特殊情况。
    当训练数据线性可分时,通过硬间隔最大化(hard margin maximization),学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;
    当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization)学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;
    当训练数据线性不可分时,通过使用核技巧(kernel trick)及软间隔最大化,学习非线性支持向量机。
    当输入空间为欧式空间或离散集合,特征空间为希尔伯特空间时,核函数(kernel function)表示将输入从输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数可以学习非线性向量机,等价于隐式地在高维的特征空间中学习线性支持向量机。这样的方法称为核技巧。核方法(kernel method)是比支持向量机更为一般的机器学习方法。

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

1.1线性可分支持向量机
    考虑一个二类分类问题,假设输入空间与特征空间为两个不同的空间,输入空间为欧氏空间或离散集合,特征空间为欧氏空间或希尔伯特空间,线性支持向量机假设这两个空间的元素一一对应,并将输入空间中的输入映射为特征空间中的特征向量。所以,输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间里进行的。
    假设给定一个特征空间上的训练数据集

T={(x1,y1),(x2,y2),...,(xN,yN)}
其中, xiRn,yi{+1,1}
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类,分离超平面对应于方程 wx+b=0 ,它由法向量 w 和截距b决定,可用 (w,b) 来表示。分离超平面将特征空间划分为两部分。一部分是正类,一部分是负类,法向量指向的一侧为正类,另一类是负类。
一般地,当训练数据集线性可分时,存在无穷多个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求的分离超平面,不过这时的解有无穷多个。线性可分支持向量机利用间隔最大化求最优分离超平面,这时,解是唯一的。

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

wx+b=0
以及相应的分类决策函数
f(x)=sign(wx+b)
称为线性可分支持向量机

1.2函数间隔和几何间隔

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

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

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

γ̂ =mini=1,...,Nγi^
函数间隔可以表示分类预测的正确性及确信度,但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变 w b,超平面并没有改变,但函数间隔缺称为原来的2倍,这一事实启示我们,可以对分离超平面的发向量 w 加某些约束,如规范化,||w||=1,使得间隔是确定的。这时函数间隔称为几何间隔(geometric margin)

1.3定义(几何间隔)对于给定的训练数据集 T 和超平面(w,b),定义超平面 (w,b) 关于样本点的几何间隔为
γi=yi(w||w||xi+b||w||)
定义超平面 (w,b) 关于训练数据集 T 的几何间隔为超平面(w,b)关于 T 所有样本点(wi,yi)的几何间隔之最小值,即
γ=mini=1,..Nγi

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

1.3间隔最大化

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

1.3.1最大间隔分离超平面

最大间隔分离超平面可以表示为下面的约束最优化问题:

maxw,bγ

s.t.yi(w||w||xi+b||w||)γ,i=1,2,...,N
即我们希望最大化超平面 (w,b) 关于训练数据集的几何间隔 γ ,约束条件表示的是超平面 (w,b) 关于训练样本点的几何间隔至少是 γ
考虑几何间隔和函数间隔的关系式,可将这个问题改写为
maxw,bγ̂ ||w||
s.t.yi(wxi+b)γ̂ ,i=1,2,..,N
函数间隔 γ̂  的取值并不影响最优化问题的解。事实上,假设将 w b按比例改变为 λw λb ,这时函数间隔称为 λγ̂  ,函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是说它产生一个等价的最优化问题。这样,就可以取 γ̂ =1 ,注意最大化 1||w|| 和最小化 12||w||2 是等价的。于是就得到过下面的线性可分支持向量机学习的最优化问题
minw,b12||w||2
s.t.yi(wxi+b)10,i=1,2,...,N
这是一个凸二次规划问题。
凸优化问题是指约束最优化问题
minwf(w)
s.t.gi(w)0,i=1,2,..,k
hi(w)=0,i=1,2,..,l
其中,目标函数 f(w) 和约束函数 gi(w) 是连续可微的凸函数,约束函数 hi(w) Rn 上的仿射函数。
如果求出了约束最优化问题的解 w,b ,那么就可以得到最大间隔分离超平面 wx+b=0 及分类决策函数 f(x)=sign(wx+b) ,及线性可分支持向量机模型。
综上所述,就有了线性可分支持向量机的学习算法—最大间隔法

1.3.2支持向量和间隔边界

在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector)。支持向量是使约束条件式 yi(wxi+b)1=0 成立的点。在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用,如果移动支持向量则将改变所求解的解;但如果在间隔边界以外移动其他实例点,则解是不会改变的

1.4 拉格朗日对偶性

在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解

1.4.1原始问题

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

minxRnf(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(w)0那么就有
ΘP(x)=maxα,β:αi0[f(x)+i=1kαici(x)+j=1lβjhj(x)]=+
如果满足约束条件,则 ΘP(x)=f(x) ,否则 ΘP(x)=+
所以如果考虑极小化问题:
minxΘP(x)=minxmaxα,β:αi0L(x,α,β)
称为广义拉格朗日的极小极大问题。为了方便,定义原始问题的最优解为 p=minxΘP(x)

1.4.2对偶问题

定义 ΘD(α,β)=minxL(x,α,β) ,再考虑极大化 ΘD(α,β) ,即

maxα,β:αi0ΘD(α,β)=maxα,β:α0minxL(x,α,β)
问题 maxα,β:α0minxL(x,α,β) 称为广义拉格朗日函数的极大极小问题。定义对偶问题的最优解 d=maxα,β:α0ΘD(α,β) 为对偶问题的值。

1.4.3原始问题和对偶问题的关系

若原始问题和对偶问题都有最优解,则

d=maxα,β:αi0minxL(x,α,β)minxmaxα,β:αi0L(x,α,β)=p

x,α,β
分别是原始问题和对偶问题的解的充分必要条件是 x,α,β 满足下面的KKT条件
xL(x,α,β)=0
αL(x,α,β)=0
βL(x,α,β)=0
αici(x)=0,i=1,2,...,k
ci(x)0,i=1,2,...,k
αi0,i=1,2,...,k
hj(x)=0,j=1,2,...,l

1.5学习的对偶算法

首先,构建拉格朗日函数。为此,对每一个不等式约束引进拉格朗日乘子, αi0,i=1,2,...,N 定义拉格朗日函数:

L(w,β,α)==12||w||2i=1Nαiyi(wxi+b)+i=1Nαi

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
maxαminw,bL(w,β,α)
所以为了得到对偶问题的解,需要先求 L(w,β,α) w,b 的极小,再求对 α 的极大
(1)求 minw,bL(w,β,α)
将拉格朗日函数 L(w,β,α) 分别对 w,b 求偏导并令其等于0.
wL(w,β,α)=wi=1Nαiyixi=0
b(w,β,α)=iNαiyi=0
或者
w=i=1Nαiyixi
i=1Nαiyi=0

L(w,β,α)=12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi[(j=1Nαiyixj)xi+b]+i=1Nαi
=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

minw,βL(w,β,α)=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

(2)求 minw,βL(w,β,α) α 的极大,即对偶问题
maxα[12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi]
s.t.i=1Nαiyi=0,αi0

将此问题由求极大变为求极小,就等到下面与之等价的对偶最优话问题:
minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi
s.t. i=1Nαiyi=0
αi0,i=1,2,..,N

求解最优化问题的解 w , b

w=i=1Nαiyixi
b=yji=1Nαiyi(xixj)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值