统计学习方法第7章支持向量机

支持向量机SVM是一种二分类模型。
支持向量机的学习策略就是间隔最大化,可形式化为求解一个凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。

函数间隔与几何间隔

一个点距离分离超平面 w ∗ x + b = 0 w*x+b=0 wx+b=0的远近|wx+b|可以表示分类预测{+1,-1}的确信程度。而wx+b的符号与类别标记y的符号是否一致能够表示分类是否正确。所以可用量y(w*x+b)来表示分类的正确性即确信度,这就是函数间隔
定义:对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为 γ ^ i = y i ( w ∗ x i + b ) \hat \gamma_i=y_i(w*x_i+b) γ^i=yi(wxi+b)
定于超平面关于训练数据集的函数间隔为超平面关于T中所有样本点的函数间隔的最小值,即 γ ^ = m i n i = 1 , … , N γ ^ i \hat \gamma = min_{i=1,\dots,N}\hat \gamma_i γ^=mini=1,,Nγ^i
函数间隔可以表示分类预测的正确性及确信度。但是成比例的改变w和b,超平面不变,但是函数间隔却会成比例的改变。所以要对超平面的法向量加以约束,如规范化,||w||=1,使得间隔是确定的。这时函数间隔成为几何间隔
定义: γ ^ i = y i ( w ∣ ∣ w ∣ ∣ ∗ x i + b ∣ ∣ w ∣ ∣ ) \hat \gamma_i=y_i(\frac{w}{||w||}*x_i+\frac{b}{||w||}) γ^i=yi(wwxi+wb),其中||w||为w的 L 2 L_2 L2范数。 γ = m i n i = 1 , … , N γ i \gamma = min_{i=1,\dots,N}\gamma_i γ=mini=1,,Nγi
如果||w||=1,这函数间隔和几何间隔相等。如果超平面参数w和b成比例的改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。几何间隔最大的分离超平面是惟一的。(不同于感知机,线性可分离的超平面,有多个解)

间隔最大化

算法:线性可分支持向量机学习算法——最大间隔法
输入:线性可分训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } , 其 中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , … , N T=\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\},其中x_i\in X=R^n,y_i\in Y=\{-1,+1\},i=1,2,\dots,N T={(x1,y1),(x2,y2),,(xN,yN)},xiX=Rn,yiY={1,+1},i=1,2,,N
输出:最大间隔分离超平面和分类决策函数
(1)构造并求解约束最优化问题:
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 min_{w,b}\quad\frac{1}{2}||w||^2 minw,b21w2
s . t . y i ( w ∗ x i + b ) − 1 ≥ 0 , i = 1 , 2 , … , N s.t.\quad y_i(w*x_i+b)-1\geq0,i=1,2,\dots,N s.t.yi(wxi+b)10,i=1,2,,N
求解得最优解 w ∗ , b ∗ w^*,b^* w,b
(2)由此得分离超平面: w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0
分类决策函数 f ( x ) = s i g n ( w ∗ ∗ x + b ) f(x)=sign(w^**x+b) f(x)=sign(wx+b)

对偶问题

首先构造拉格朗日函数,引进拉格朗日乘子 α i ≥ 0 , i = 1 , 2 , … , N \alpha_i\geq0,i=1,2,\dots,N αi0,i=1,2,,N,定义拉格朗日函数
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ∗ x i + b ) + ∑ i = 1 N α i L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w*x_i+b)+\sum_{i=1}^N\alpha_i L(w,b,α)=21w2i=1Nαiyi(wxi+b)+i=1Nαi
其中 α = ( α 1 , α 2 , … , α N ) T \alpha=(\alpha_1,\alpha_2,\dots,\alpha_N)^T α=(α1,α2,,αN)T为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题 m a x α m i n w , b L ( w , b , α ) max_\alpha min_{w,b}L(w,b,\alpha) maxαminw,bL(w,b,α)

算法:线性可分支持向量机学习算法

输入:线性可分训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } , 其 中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , … , N T=\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\},其中x_i\in X=R^n,y_i\in Y=\{-1,+1\},i=1,2,\dots,N T={(x1,y1),(x2,y2),,(xN,yN)},xiX=Rn,yiY={1,+1},i=1,2,,N
输出:分离超平面和分类决策函数
(1)构造并求解约束最优化问题
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) − ∑ i = 1 N α i min_\alpha\quad\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i*x_j)-\sum_{i=1}^N\alpha_i minα21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi
s . t . ∑ i = 1 N α i y i = 0 s.t.\quad\sum_{i=1}^N\alpha_iy_i=0 s.t.i=1Nαiyi=0
α i ≥ 0 , i = 1 , 2 , … , N \alpha_i\geq0,i=1,2,\dots,N αi0,i=1,2,,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\dots,\alpha_N^*)^T α=(α1,α2,,αN)T
(2)计算 w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi
并选择 α ∗ \alpha^* α的一个正分量 α j ∗ > 0 \alpha_j^*>0 αj>0,计算 b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ∗ x j ) b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i*x_j) b=yji=1Nαiyi(xixj)
(3)求得分离超平面 w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0
分类决策函数: f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^*) f(x)=sign(wx+b)
w ∗ , b ∗ w^*,b^* w,b只以来与训练数据中对应于 α i ∗ > 0 \alpha_i^*>0 αi>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi),而其他样本点对 w ∗ , b ∗ w^*,b^* w,b没有影响。训练数据中对应于 α i ∗ > 0 \alpha_i^*>0 αi>0的实例点 x i ∈ R n x_i\in R^n xiRn称为支持向量。支持向量一定在间隔边界上。

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

对于线性不可分的数据,引入一个松弛变量,凸二次规划问题(原始问题)。
m i n w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i min_{w,b,\xi}\quad\frac{1}{2}||w||^2 + C\sum_{i=1}^N\xi_i minw,b,ξ21w2+Ci=1Nξi
s . t . y i ( w ∗ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , … , N s.t. \quad y_i(w*x_i+b)\geq1-\xi_i,i=1,2,\dots,N s.t.yi(wxi+b)1ξi,i=1,2,,N
ξ i ≥ 0 , i = , 2 , … , N \quad\quad\xi_i\geq0,i=,2,\dots,N ξi0,i=,2,,N
w的解释唯一的,但是b的解不是唯一的,而是存在一个区间。
解为 w ∗ , b ∗ w*,b^* w,b,分离超平面为 w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0,分类决策函数 f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^*) f(x)=sign(wx+b)

对偶问题

m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) − ∑ i = 1 N α i min_\alpha\quad\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i*x_j)-\sum_{i=1}^N\alpha_i minα21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi
s . t . ∑ i = 1 N α i y i = 0 s.t.\quad\sum_{i=1}^N\alpha_iy_i=0 s.t.i=1Nαiyi=0
0 ≤ α i ≤ C , i = 1 , 2 , … , N 0\leq\alpha_i\leq C,i=1,2,\dots,N 0αiC,i=1,2,,N
构造拉格朗日函数求解(极大极小问题)

算法:线性支持向量机学习算法

输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } , 其 中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , … , N T=\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\},其中x_i\in X=R^n,y_i\in Y=\{-1,+1\},i=1,2,\dots,N T={(x1,y1),(x2,y2),,(xN,yN)},xiX=Rn,yiY={1,+1},i=1,2,,N
输出:分离超平面和分类决策函数
(1)选择乘法参数 C > 0 C>0 C>0,构造并求解凸二次规划问题。
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ∗ x j ) − ∑ i = 1 N α i min_\alpha\quad\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i*x_j)-\sum_{i=1}^N\alpha_i minα21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi
s . t . ∑ i = 1 N α i y i = 0 s.t.\quad\sum_{i=1}^N\alpha_iy_i=0 s.t.i=1Nαiyi=0
0 ≤ α i ≤ 0 , i = 1 , 2 , … , N \quad\quad0\leq\alpha_i\leq0,i=1,2,\dots,N 0αi0,i=1,2,,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\dots,\alpha_N^*)^T α=(α1,α2,,αN)T
(2)计算 w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi
选择 α ∗ \alpha^* α的一个分量 α j ∗ \alpha_j^* αj适合条件 0 < α j ∗ < C 0<\alpha_j^*<C 0<αj<C,计算 b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ∗ x j ) b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_i*x_j) b=yji=1Nyiαi(xixj)
(3)求得分离超平面 w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0
分类决策函数 f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^*) f(x)=sign(wx+b)

支持向量

软间隔的支持向量 x i x_i xi或者在间隔边界上,或者在间隔辩解与分离超平面之间,或者在分离超平面误分一侧。

合页损失函数

最小化以下目标函数
∑ i = 1 N [ 1 − y i ( w ∗ x i + b ] + + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^N[1-y_i(w*x_i+b]_++\lambda||w||^2 i=1N[1yi(wxi+b]++λw2
目标函数的第一项是经验风险或者经验损失。
L ( y ( w ∗ x + b ) ) = [ 1 − y ( w ∗ x + b ) ] + L(y(w*x+b))=[1-y(w*x+b)]_+ L(y(wx+b))=[1y(wx+b)]+称为合页损失函数。下标‘+’表示以下取正值的函数
[ z ] + = { z , z > 0 0 , z ≤ 0 [z]_+=\left\{ \begin{aligned} z,\quad z>0 \\ 0,\quad z\leq0 \end{aligned} \right. [z]+={z,z>00,z0
也就是说,当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类且函数间隔(确信度) y i ( w ∗ x i + b ) y_i(w*x_i+b) yi(wxi+b)大于1时,损失是0.否则损失是 1 − y i ( w ∗ x i + b ) 1-y_i(w*x_i+b) 1yi(wxi+b)
则线性支持向量机原始最优化问题等价于最优化问题
m i n w , b ∑ i = 1 N [ 1 − y i ( w ∗ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 min_{w,b}\quad \sum_{i=1}^N[1-y_i(w*x_i+b)]_++\lambda||w||^2 minw,bi=1N[1yi(wxi+b)]++λw2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值