统计学习方法笔记:1.2 线性支持向量机与软间隔最大化
感想
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),将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。
Yi(w*xi+b)>=1-ξi
同时,对每个松弛变量ξi,支付一个代价ξi。目标函数由原来的1/2||w||^2变为
有了上面的思路,可以和训练数据集线性可分时一样来考虑训练数据集线性不可分时的线性支持学习问题。相应于硬间隔最大化,它称为软间隔最大化。
线性不可分的线性支持向量机的学习问题变成如下凸二次规划(convex quadratic programming)问题(原始问题):
设上述问题的解是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,构造并求解凸二次规划问题
(2) 计算
选择α*的一个分量α*j适合条件0<α*j<C,计算
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范数,是正则化项。
定理:线性支持向量机原始最优化问题:
1-yi(w*x+b)=ξi, ξi≥0
图中还画出0-1损失函数,可以认为它是二类分类问题的真正的损失函数,而合页损失函数是0-1损失函数的上界。由于0-1损失函数不是连续可导的,直接优化由其结构的目标函数比较困难,可以认为线性支持向量机是优化0-1损失函数的上界(合页损失函数)构成的目标函数。这时的上界损失函数又称为代理损失函数(surrogate loss function).