SVM

本文详细介绍了支持向量机(SVM),包括其间隔最大化原理、拉格朗日对偶性、KKT条件以及SVM的对偶算法。通过解决凸二次规划问题,SVM找到最优的分类超平面,实现数据的高效分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

支持向量机(SVM)
函数间隔与几何间隔
间隔最大化
拉格朗日对偶性
KKT条件
SVM的对偶算法


支持向量机(SVM)

支持向量机是一种二分类模型,其学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题。
给定线性可分数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\lbrace(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\rbrace T={(x1,y1),(x2,y2),...,(xN,yN)},通过间隔最大化可以得到分离超平面为:
w T x + b = 0 w^Tx+b=0 wTx+b=0

以及相应的分类决策函数:
f ( x ) = s i g n ( w T x + b ) f(x) = sign(w^Tx+b) f(x)=sign(wTx+b)

该决策函数称为线性可分支持向量机


函数间隔与几何间隔

在超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0确定的情况下:

  • ∣ w T x + b ∣ |w^Tx+b| wTx+b能够相对地表示点 x x x距离超平面的远近;
  • w T x + b w^Tx+b wTx+b y y y的符号是否一致能够表示分类是否正确。

所以可以用量 y ( w T x + b ) y(w^Tx+b) y(wTx+b) 表示分类的正确性及确信度,称为函数间隔

但只要成比例地改变 w w w b b b,函数间隔也会成倍地发生变化, 因此要通过规范化使得间隔确定,函数间隔变为几何间隔:
γ i = y i ( w ∣ ∣ w ∣ ∣ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i =y_i\left(\frac{w}{||w||}x_i+\frac{b}{||w||}\right) γi=yi(wwxi+wb)

其中 ∣ ∣ w ∣ ∣ ||w|| w w w w L 2 L_2 L2范数。
函数间隔与几何间隔的关系为: γ = γ ^ ∣ ∣ w ∣ ∣ \gamma = \frac{\hat\gamma}{||w||} γ=wγ^

如果 ∣ ∣ w ∣ ∣ = 1 ||w||=1 w=1,那么函数间隔和几何间隔想等,如果 w w w b b b成比例变化,函数间隔会改变,而几何间隔不变。


间隔最大化

线性可分分离超平面有无穷多个,但是几何间隔最大的分离超平面是唯一的,间隔最大化又称为硬间隔最大化。
求几何间隔最大的分离超平面等价于以下问题:
max ⁡ w , b γ s . t . y i ( w ∣ ∣ w ∣ ∣ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , . . . , N \begin {aligned} &\max\limits_{w,b}\quad\gamma \\ &\\ &s.t.\quad y_i\left(\frac{w}{||w||}x_i+\frac{b}{||w||}\right) \ge \gamma,\quad i=1,2,...,N &\\ \end{aligned} w,bmaxγs.t.yi(wwxi+wb)γ,i=1,2,...,N

利用函数间隔与几何间隔之间的关系,将问题改写为:
max ⁡ w , b γ ^ ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) ≥ γ ^ , i = 1 , 2 , . . . , N \begin {aligned} &\max\limits_{w,b}\quad\frac{\hat\gamma}{||w||} \\ &\\ &s.t.\quad y_i(w^Tx_i+b) \ge \hat\gamma,\quad i=1,2,...,N \end{aligned} w,bmaxwγ^s.t.yi(wTxi+b)γ^,i=1,2,...,N

函数间隔的取值并不影响最优化问题的求解,因此可以将 γ ^ = 1 \hat \gamma = 1 γ^=1代入上面的最优化问题,同时最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1与最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2是等价的,则有:
max ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) − 1 ≥ 0 , i = 1 , 2 , . . . , N \begin {aligned} &\max\limits_{w,b}\quad\frac{1}{2}||w||^2 \\ &\\ &s.t.\quad y_i(w^Tx_i+b)-1 \ge 0,\quad i=1,2,...,N \end{aligned} w,bmax21w2s.t.yi(wTxi+b)10,i=1,2,...,N


拉格朗日对偶性

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

  • 一是对偶问题更容易求解;
  • 二是自然引入核函数,进而推广到非线性分类问题。
原始问题

假设 f ( x ) , c i ( x ) , h j ( x ) f(x), c_i(x), h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数。考虑约束最优化问题
min ⁡ x ∈ R n f ( x ) s . t . c i ( x ) ≤ 0 , i = 1 , 2 , . . . , k   h j ( x ) = 0 , j = 1 , 2 , . . . , l \begin {aligned} &\min\limits_{x\in R^n}\quad f(x)\\ &\\ &s.t.\quad c_i(x) \le 0,\quad i=1,2,...,k &\\ &\qquad\ h_j(x) = 0, \quad j = 1,2,...,l \end{aligned} xRnminf(x)s.t.ci(x)0,i=1,2,...,k hj(x)=0,j=1,2,...,l

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

广义拉格朗日函数(generalized Lagrange function)

L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha,\beta) = f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x) L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)

其中, α i , β i \alpha_i,\beta_i αi,βi是拉格朗日乘子,特别要求 α i ≥ 0 \alpha_i \ge 0 αi0.

考虑x的函数:
θ p ( x ) = max ⁡ α , β : α i ≥ 0 L ( x , α , β ) \theta_p(x) = \max\limits_{\alpha,\beta:\alpha_i\ge0}L(x,\alpha,\beta) θp(x)=α,β:αi0maxL(x,α,β)

假设给定某个 x x x,如果 x x x违反原始问题的约束条件,即存在某个 i i i使得 c i ( x ) > 0 c_i(x) > 0 ci(x)>0或者存在某个 j j j使得 h j ( x ) = ̸ 0 h_j(x) =\not 0 hj(x)≠0,那么就有:
θ p ( x ) = max ⁡ α , β : α i ≥ 0 [ f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ] = + ∞ \theta_p(x) = \max\limits_{\alpha,\beta:\alpha_i\ge0}[ f(x) + \sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)]=+\infty θp(x)=α,β:αi0max[f(x)+i=1kαici(x)+j=1lβjhj(x)]=+

  • 若存在某个 i i i使得 c i ( x ) > 0 c_i(x) > 0 ci(x)>0,则可令 α i → + ∞ \alpha_i \rightarrow+\infty αi+
  • 若存在某个 j j j使得 h j ( x ) = ̸ 0 h_j(x) =\not 0 hj(x)≠0,则可令 β j h j ( x ) → + ∞ \beta_jh_j(x)\rightarrow+\infty βjhj(x)+
  • 而将其余各 α i , β j \alpha_i,\beta_j αi,βj均取为0

结论为:

  • x x x违反原问题的约束条件时, θ P ( x ) = + ∞ \theta_P(x) = +\infty θP(x)=+;
  • x x x满足原问题的约束条件时, θ P ( x ) = f ( x ) \theta_P(x) = f(x) θP(x)=f(x).

在这个基础上再考虑极小化问题:
min ⁡ x θ p ( x ) = min ⁡ x max ⁡ α , β : α i ≥ 0 L ( x , α , β ) \min\limits_x\theta_p(x) = \min\limits_x\max\limits_{\alpha,\beta:\alpha_i\ge0}L(x,\alpha,\beta) xminθp(x)=xminα,β:αi0maxL(x,α,β)

将原始最优化问题表示为广义拉格朗日函数的极小极大问题。

对偶问题

将广义拉格朗日函数的极大极小问题表示为约束最优化问题,称为原始问题的对偶问题:
max ⁡ α , β min ⁡ x L ( x , α , β ) s . t . α i ≥ 0 , i = 1 , 2 , . . . , k \begin {aligned} &\max\limits_{\alpha,\beta}\min_x L(x,\alpha,\beta) &\\ &s.t.\quad \alpha_i \ge 0,\quad i=1,2,...,k \end{aligned} α,βmaxxminL(x,α,β)s.t.αi0,i=1,2,...,k

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

满足Karush-Kuhn-Tucker(KKT)的条件下,原始问题和对偶问题的最优解相等,这时可以用解对偶问题替代解原始问题。


KKT条件

x ∗ x^* x α ∗ , β ∗ \alpha^*,\beta^* αβ分别是KKT是原始问题和对偶问题的解的充分必要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* xαβ满足KKT条件:
▽ x L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , . . . , k c i ( x ∗ ) ≤ 0 , i = 1 , 2 , . . . , k α i ∗ ≥ 0 , i = 1 , 2 , . . . , k h j ( x ∗ ) = 0 , j = 1 , 2 , . . . , l \begin {aligned} &\bigtriangledown_xL(x^*,\alpha^*,\beta^*) = 0 &\\ &\\ &\alpha_i^*c_i(x^*) = 0, \quad i = 1,2,...,k &\\ &\\ &c_i(x^*) \le 0, \quad i = 1,2,...,k &\\ &\\ &\alpha_i^*\ge0,\quad i = 1,2,...,k &\\ &\\ &h_j(x^*)=0,\quad j = 1,2,...,l \end{aligned} xL(x,α,β)=0αici(x)=0,i=1,2,...,kci(x)0,i=1,2,...,kαi0,i=1,2,...,khj(x)=0,j=1,2,...,l

其中, α i ∗ ≥ 0 , i = 1 , 2 , . . . , k \alpha_i^*\ge0,\quad i = 1,2,...,k αi0,i=1,2,...,k 称为KKT的对偶互补条件
由此条件可知:若 α i ∗ > 0 , 则 c i ( x ∗ ) = 0 \alpha_i^*>0,则c_i(x^*) = 0 αi>0ci(x)=0.


SVM的对偶算法

结合SVM的约束最优化问题和广义拉格朗日函数,可以得出:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N a i y i ( w T x i + b ) + ∑ i = 1 N a i L(w,b,\alpha) = \frac{1}{2}||w||^2-\sum_{i=1}^Na_iy_i(w^Tx_i+b)+\sum_{i=1}^Na_i L(w,b,α)=21w2i=1Naiyi(wTxi+b)+i=1Nai

根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_\alpha \min_{w,b}L(w,b,\alpha) αmaxw,bminL(w,b,α)

为了达到对偶问题的解,先求 L ( w , b , a ) L(w,b,a) L(w,b,a)对w和b的极小,再求a的极大:
▽ w = w − ∑ i = 1 N a i y i x i = 0 ▽ b = − ∑ i = 1 N a i y i = 0 \begin {aligned} &\bigtriangledown_w=w-\sum_{i=1}^Na_iy_ix_i=0 \\ &\\ &\bigtriangledown_b=-\sum_{i=1}^Na_iy_i=0 \end{aligned} w=wi=1Naiyixi=0b=i=1Naiyi=0

得:
w = ∑ i = 1 N a i y i x i ∑ i = 1 N a i y i = 0 \begin {aligned} &w=\sum_{i=1}^Na_iy_ix_i \\ &\sum_{i=1}^Na_iy_i=0 \end{aligned} w=i=1Naiyixii=1Naiyi=0

将上式代入 L ( w , b , a ) L(w,b,a) L(w,b,a),得:
min ⁡ L ( w , b , a ) = 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j ( x i ⋅ x j ) − ∑ i = 1 N a i y i ( ( ∑ j = 1 N a j y j x j ) ⋅ x i + b ) + ∑ j = 1 N a i = − 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j ( x i ⋅ x j ) + ∑ j = 1 N a i \begin {aligned} \min L(w,b,a)&=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^Na_iy_i((\sum_{j=1}^Na_jy_jx_j)\cdot x_i+b)+\sum_{j=1}^Na_i \\ &=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) + \sum_{j=1}^Na_i \end{aligned} minL(w,b,a)=21i=1Nj=1Naiajyiyj(xixj)i=1Naiyi((j=1Najyjxj)xi+b)+j=1Nai=21i=1Nj=1Naiajyiyj(xixj)+j=1Nai

再求对 α \alpha α的极大,即是对偶问题:
max ⁡ a − 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j ( x i ⋅ x j ) + ∑ j = 1 N a i s . t . ∑ i = 1 N a i y i = 0 a i ≥ 0 , i = 1 , 2 , . . . , N \begin {aligned} &\max_{a}\quad-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) + \sum_{j=1}^Na_i \\ &s.t. \quad\sum_{i=1}^Na_iy_i = 0 \\ & \quad \quad \quad a_i \ge0,\quad i=1,2,...,N \end{aligned} amax21i=1Nj=1Naiajyiyj(xixj)+j=1Nais.t.i=1Naiyi=0ai0,i=1,2,...,N

等价于:
min ⁡ a 1 2 ∑ i = 1 N ∑ j = 1 N a i a j y i y j ( x i ⋅ x j ) − ∑ j = 1 N a i s . t . ∑ i = 1 N a i y i = 0 a i ≥ 0 , i = 1 , 2 , . . . , N \begin {aligned} &\min_{a}\quad \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_j(x_i\cdot x_j) - \sum_{j=1}^Na_i \\ &s.t. \quad\sum_{i=1}^Na_iy_i = 0 \\ & \quad \quad \quad a_i \ge0,\quad i=1,2,...,N \end{aligned} amin21i=1Nj=1Naiajyiyj(xixj)j=1Nais.t.i=1Naiyi=0ai0,i=1,2,...,N

根据KKT条件:
▽ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N a i ∗ y i x i = 0 ▽ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N a i ∗ y i = 0 α i ∗ ( 1 − y i ( w ∗ ⋅ x i + b ∗ ) ) = 0 , i = 1 , 2 , . . . , N 1 − y i ( w ∗ ⋅ x i + b ∗ ) ≤ 0 , i = 1 , 2 , . . . , N α i ∗ ≥ 0 , i = 1 , 2 , . . . , N \begin {aligned} &\bigtriangledown_wL(w^*,b^*,\alpha^*) =w^*-\sum_{i=1}^Na_i^*y_ix_i = 0 &\\ &\\ &\bigtriangledown_bL(w^*,b^*,\alpha^*) =-\sum_{i=1}^Na_i^*y_i= 0 &\\ &\\ &\alpha_i^*(1-y_i(w^* \cdot x_i+b^*)) = 0, \quad i = 1,2,...,N &\\ &\\ &1-y_i(w^* \cdot x_i+b^*)\le 0, \quad i = 1,2,...,N &\\ &\\ &\alpha_i^*\ge0,\quad i = 1,2,...,N &\\ &\\ \end{aligned} wL(w,b,α)=wi=1Naiyixi=0bL(w,b,α)=i=1Naiyi=0αi(1yi(wxi+b))=0,i=1,2,...,N1yi(wxi+b)0,i=1,2,...,Nαi0,i=1,2,...,N

其中至少有一个 a j ∗ > 0 a_j^*>0 aj>0,对于 j j j有:
1 − y j ( w ∗ ⋅ x j + b ∗ ) = 0 1-y_j(w^* \cdot x_j+b^*)=0 1yj(wxj+b)=0

解得:
w ∗ = ∑ i = 1 N a i ∗ y i x i b ∗ = y j − ∑ i = 1 N a i ∗ y i ( x i ⋅ x j ) \begin {aligned} &w^*=\sum_{i=1}^Na_i^*y_ix_i \\ &\\ &b^*=y_j-\sum_{i=1}^Na_i^*y_i(x_i\cdot x_j) \end{aligned} w=i=1Naiyixib=yji=1Naiyi(xixj)

故分类决策函数为:
f ( x ) = s i g n ( ∑ i = 1 N a i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x) = sign( \sum_{i=1}^Na_i^*y_i(x\cdot x_i)+b^* ) f(x)=sign(i=1Naiyi(xxi)+b)


参考资料

李航《统计学习方法》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值