统计学习方法笔记:1.2 线性支持向量机与软间隔最大化

来源:互联网 发布:电话轰炸机软件免费版 编辑:程序博客网 时间:2024/06/04 00:30

感想

支持向量机的理论太多了,特别是KKT条件,不怎么好懂,书上讲得还算可以,但是细节还是不够深入,推导过程应该不难,要特别理解对偶这个概念,min max=max min,在取最优值时是相等的,这里面包含了很多数学问题,如果想研究的话,后面的路就靠自己了,这篇文章帮不到忙了。

1.2 线性支持向量机与软间隔最大化


1.2.1线性支持向量机

线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能都成立。怎么才能将它扩展到线性不可分问题呢?这就需要修改硬间间隔最大化,使其成为软间隔最大化。

假设给定一个特征空间上的训练数据集
T={(x1,y1),(x2,y2),…,(xN,yN)}
其中,xi∈X∈Rn,yi∈Y={+1,-1},i=1,2,…,N,xi为第i个特征向量,yi为xi的类标记。再假设训练数据集不是线性可分的。通常情况是,训练数据中有一些特异点(outlier),将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。

线性不可分意味着某些样本点(xi,yi)不能满足函数间隔大于等于1的约束条件。为了解决这个问题,可以对每个样本点(xi,yi)引进一个松弛变量ξi>=0,使函数间隔加上松弛变量大于等于1.这样,约束条件变为
Yi(w*xi+b)>=1-ξi
同时,对每个松弛变量ξi,支付一个代价ξi。目标函数由原来的1/2||w||^2变为

这里,C>0称为惩罚参数,一般由应用问题决定,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小。最小化目标函数包含两层含义:使1/2||w||^2尽量小即间隔尽量大,同时使误分类点的个数尽量小,C是调和二者的系数。

有了上面的思路,可以和训练数据集线性可分时一样来考虑训练数据集线性不可分时的线性支持学习问题。相应于硬间隔最大化,它称为软间隔最大化。

线性不可分的线性支持向量机的学习问题变成如下凸二次规划(convex quadratic programming)问题(原始问题):

原始问题是一个凸二次规划问题,因而关于(w,b,ξ)的解是存在的。可以证明w的解是唯一的,但b的解不唯一,b的解存在于一个区间。


设上述问题的解是w”,b”,于是可以得到分离超平面w”*x+b”=0及分类决策函数f(x)=sign(w”*x+b”)。称这样的模型为训练样本不可分时的线性支持向量机,简称为线性支持向量机。显然,线性支持向量机包含线性可分支持向量机。由于现实中训练数据集往往是线性不可分的,线性支持向量机具有更广的适用性。


线性支持向量机:对于给定的不可分的训练数据集,通过求解凸二次规划问题,即软间隔最大化问题,得到的分离超平面为
                                 w”*x+b”=0
以及相应的分类决策函数
F(x)=sign(w”*x+b”)
称为线性支持向量机。

1.2.2学习的对偶算法

原始问题的对偶问题是


原始最优化问题的拉格朗日函数是



对偶问题是拉格朗日函数的极大极小问题。首先求L(w,b,ξ,α,μ)对w,b,ξ极小,由



将上式入原式得


再对 minL(w,b,ξ,α,μ)求α的极大,即得对偶问题:



将对偶最优化问题(7.44)~(7.48)进行变换:利用等式约束(7.46)消去μ1,从而只留下变量αi,并将约束(7.46)~(7.48)写成

                          0≤αi≤C

再将对目标函数求极大转换为极小,于是得到对偶问题。
可以通过求解对偶问题而得到原始问题的解,进而确定分离超平面和决策函数。为此,就可以定理的形式叙述原始问题的最优解和对偶问题的最优解的关系。
定理:设α*=(α1*,α2*,…, αN*)T是对偶问题的一个解,若存在α*的一个分量αj*,0≤αj*≤C,则原始问题的解w*,b*可按下式求得:


证明 原始问题是凸二次规划问题,解满足KKT条件。即得



由式(7.52)易知式(7.50)成立。再由式(7.53)~(7.54)可知,若存在α*j,0<α*j<C,则yi(w”*xi+b”)-1=0.由此即得式(7.51)。

由此定理可知,分离超平面可以写成


分类决策函数可以写成

为线性支持向量机的对偶形式。


线性支持向量机学习算法
输入:训练数据集T={(x1,y1),(x2,y2),…,(xN,yN)},其中,xi∈X∈Rn,yi∈Y={+1,-1},i=1,2,…,N;
输出:分离超平面和分类决策函数。
(1)选择惩罚参数C>0,构造并求解凸二次规划问题

求得最优解α*=(α1*,α2*,…, αN*)T。

(2)    计算



选择α*的一个分量α*j适合条件0<α*j<C,计算



(3) 求得分离超平面
                 W”*x+b”=0
分类决策面:
                F(x)=sign(w”*x+b”)
步骤(2)中,对任一适合条件0<α*j<C的α*j,按式(7.51)都可以求出b”,但是由于原始问题对b的解并不唯一,所以实际计算时可以取在符合条件的样本点的平均值。

1.2.3支持向量

在线性不可分的情况下,将对偶问题(7.37)~(7.39)的解α*=(α1*,α2*,…, αN*)T中对应于α*i>0的样本点(xi,yi)的实例xi称为支持向量(软间隔支持向量)。



如图,分离超平面由实线表示,间隔边界由虚线表示,正例点有小圆圈表示,负例点由叉表示。图中还标出了实例xi到间隔边界的距离ξi/||x||。

软间隔的支持向量xi要么在间隔边界上,要么在间隔边界与分离超平面之间,要么在分离超平面误分一侧。若α*i=C,0<ξi<1,则分类争取,xi在间隔边界与分离超平面之间;若α*i=C,ξi=1,则xi在分离超平面上;若α*i=c,ξi>1,则xi位于分离超平面误分一侧。


1.2.4合页损失函数

对于线性支持向量机学习来说,其模型为分离超平面w”*x+b”=0及决策函数f(x)=sign(w”*x+b”),其学习策略为软间隔最大化,学习算法为凸二次规划。

线性支持向量机学习还有另外一种解释,就是最小化以下目标函数。


目标函数的第1项是经验损失或经验风险,函数


称为合页损失函数(hinge loss function).下标“+”表示以下取正值的函数。


这就是说,当样本点(xi,yi)被正确分类且函数间隔(确信度)yi(w*xi+b)大于1时,损失是0,否则损失是1-yi(w*x+b),注意到在图7.5中的实例点x4被正确分类,但损失不是0.目标函数第2项是系数为λ的w和L2范数,是正则化项。

定理:线性支持向量机原始最优化问题:


等价于最优化问题

证明 可将最优化问题写成问题(7.60)~(7.62)。令
1-yi(w*x+b)=ξi, ξi≥0

反之,也可将最优化问题(7.60)~(7.62)表示成问题(7.63)。

上图为合页损失函数的图形,横轴是函数间隔y(w*x+b),纵轴是损失。由于函数形状像一个合页,故名合页损失函数。

图中还画出0-1损失函数,可以认为它是二类分类问题的真正的损失函数,而合页损失函数是0-1损失函数的上界。由于0-1损失函数不是连续可导的,直接优化由其结构的目标函数比较困难,可以认为线性支持向量机是优化0-1损失函数的上界(合页损失函数)构成的目标函数。这时的上界损失函数又称为代理损失函数(surrogate loss function).



阅读全文
0 0