SVM之拉格朗日对偶问题与KKT条件推导

原因是学到SVM这里发现这个lagrange dual problem 必须满足 KKT 条件, 于是写下了这篇文章记录这些条件被推出的过程, 本人才疏学浅, 不当之处请尽管指出

1.线性可分SVM要求解的原始问题

目标函数:

f(w)=12w2(1) (1) f ( w ) = 1 2 ‖ w ‖ 2

原问题:
minw,b12w2s.t. 1yi(wTxi+b)0i=1,2,,N(2) (2) min w , b 1 2 ‖ w ‖ 2 s . t .   1 − y i ( w T x i + b ) ≤ 0 i = 1 , 2 , … , N

原问题的拉格朗日函数:

L(w,b,a)=12w2+i=1Nαi(1yi(wTxi+b))s.t. αi0i=1,2,,Ns.t. 1yi(wTxi+b)0i=1,2,,N(3) (3) L ( w , b , a ) = 1 2 ‖ w ‖ 2 + ∑ i = 1 N α i ( 1 − y i ( w T x i + b ) ) s . t .   α i ≥ 0 i = 1 , 2 , … , N s . t .   1 − y i ( w T x i + b ) ≤ 0 i = 1 , 2 , … , N

令:

p(w)=maxaL(w,b,a)(4) (4) p ( w ) = max a L ( w , b , a )

若有一个 1yi(wTxi+b)>0 1 − y i ( w T x i + b ) > 0 , 令 αi= α i = ∞ , 则 L(w,b,a)= L ( w , b , a ) = ∞
当所有不等式条件满足时, p(w)=f(w) p ( w ) = f ( w ) , p p 就是 primitive function

这样, 原始问题用拉格朗日的形式来表达:

(5)p=minw,bmaxaL(w,b,a)=12w2+i=1Nαi(1yi(wTxi+b))s.t. αi0i=1,2,,Ns.t. 1yi(wTxi+b)0i=1,2,,N

这里 p p ∗ 代表原始问题的最优值
我们看看直接求解会怎样: 首先式子里有 w,b w , b 两个参数, 目标变量 a a 又要满足不等式约束, 实在不好求, 所以转化为对偶形式:

2.对偶问题(dual problem)

d=maxaminw,bL(w,b,a)(6) (6) d ∗ = max a min w , b L ( w , b , a )

这里 d d ∗ 代表对偶问题最优解, 看下现在该怎样求解呢?
首先只有 a a 一个参数, w,b w , b 又没有不等式约束, 那就直接对它们求偏导为0啊, 代回原式再来求 a a , 不错, 好求解多了

不过 d d ∗ p p ∗ 的关系是什么呢?

原始问题最优解与对偶问题最优解的关系

minw,bL(w,b,a)L(w,b,a)maxaL(w,b,a)(7) (7) ∵ min w , b L ( w , b , a ) ≤ L ( w , b , a ) ≤ max a L ( w , b , a )

d=maxaminw,bL(w,b,a)minw,bmaxaL(w,b,a)=p(8) (8) ∴ d ∗ = max a min w , b L ( w , b , a ) ≤ min w , b max a L ( w , b , a ) = p ∗

我们可以看到, dp d ∗ ≤ p ∗ 是没跑了, 那么究竟相等不呢?
经查阅资料, d=p d ∗ = p ∗ 时称为 strong duality(强对偶), 在满足 Slater条件, 即在凸优化问题中, 如果找到一个点 xi x i 使所有的等式约束成立,所有的不等式约束(严格的不等)也成立的条件下, 如果满足 KKT条件, 那么强对偶成立

换言之, d=p d ∗ = p ∗ 充要条件就是在满足Slater条件的约束下满足KKT条件, 注意这两种条件是对于最优点 (w,b,a) ( w ∗ , b ∗ , a ∗ ) 而言的

3.KKT条件推导

所谓KKT条件不就是在最优点应该满足的关系式吗, 那直接从原问题形式即(3)式入手:
那么, 有

αi0i=1,2,,N(9) (9) α i ∗ ≥ 0 i = 1 , 2 , … , N

1yi((w)Txi+b)0i=1,2,,N(10) (10) 1 − y i ( ( w ∗ ) T x i + b ∗ ) ≤ 0 i = 1 , 2 , … , N

对式(10)这个不等式约束, 取其中一个 i i 为例子, 分为两种情况讨论:

情况一

1yi((w)Txi+b)=0时, 相当于确定了一个 N1 N − 1 维的约束平面 S S , 在这个平面上寻找使得式(1)中的目标函数 f(w) 最小点
通过以下几条线索:
1, 在约束曲面 S S 上任意点, 该点的梯度垂直于曲面
2, 在最优点处, f(w) 也垂直于曲面(沿负梯度方向是下降方向, 垂直说明 降无可降, 即为最小点)
可以得出结论,

f(w)=αi(1yi((w)Txi+b))(11) (11) ∇ f ( w ∗ ) = α i ∇ ( 1 − y i ( ( w ∗ ) T x i + b ∗ ) )

αi>0 α i > 0
f(w) ∇ f ( w ) 方向是约束曲面上 无路可走 的方向, 式(11)说明 它和约束不等式梯度方向相反, 即和约束不等式负梯度方向相同, 要沿负梯度方向下降?无路可走啦, 这不是最小值点吗

情况二

1yi((w)Txi+b)<0 1 − y i ( ( w ∗ ) T x i + b ∗ ) < 0 时, 此时问题为在被约束曲面分隔开的其中一个区域中求解最小值
如果 w w 有在此区域内的点, 则直接对其求偏导为0即可得 w w ∗
此时相当于令 αi=0 α i = 0 , 因为这个不等式约束在求解最优点过程中没起作用

综合两种情况

得到:

αi(1yi(wTxi+b))=0i=1,2,,N(12) (12) α i ( 1 − y i ( w ∗ T x i + b ∗ ) ) = 0 i = 1 , 2 , … , N

注意, 二者不能同时为0 !
来看看我们做了什么: 我们从原始拉格朗日问题形式的两种约束, 经过分析最优点的情况, 推出了新的约束
那么接下来, 就是不管约束, 对式(3)求解极值点了呗
所以加上这两个式子:
wL(w,b,a)=wi=1Nαiyixi=0(13) (13) ∇ w L ( w ∗ , b ∗ , a ∗ ) = w − ∑ i = 1 N α i y i x i = 0

bL(w,b,a)=i=1Nαiyi=0(14) (14) ∇ b L ( w ∗ , b ∗ , a ∗ ) = − ∑ i = 1 N α i y i = 0

总结得到的式子, 这些就叫做KKT条件啦:

wL(w,b,a)=0bL(w,b,a)=0αi0i=1,2,,N1yi((w)Txi+b)0i=1,2,,Nαi(1yi(wTxi+b))=0i=1,2,,N { ∇ w L ( w ∗ , b ∗ , a ∗ ) = 0 ∇ b L ( w ∗ , b ∗ , a ∗ ) = 0 α i ∗ ≥ 0 i = 1 , 2 , … , N 1 − y i ( ( w ∗ ) T x i + b ∗ ) ≤ 0 i = 1 , 2 , … , N α i ( 1 − y i ( w ∗ T x i + b ∗ ) ) = 0 i = 1 , 2 , … , N

公式比较多, 手写latex真是累死……不当之处请大家指出

参考:

1, 《统计学习方法》,李航著;
2, 《机器学习》, 周志华著;
3, 支持向量机通俗导论(理解SVM的三层境界)

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 线性 SVM 原始优化问题的数学形式: $$ \begin{aligned} \min_{w,b,\xi} \quad & \frac{1}{2}\|w\|^2 + C\sum_{i=1}^{m}\xi_i \\ s.t. \quad & y_i(w^Tx_i+b) \geq 1 - \xi_i, \quad i=1,\dots,m \\ & \xi_i \geq 0, \quad i=1,\dots,m \end{aligned} $$ 其中,$w$ 和 $b$ 是线性 SVM 模型的参数,$\xi_i$ 是松弛变量,$C$ 是正则化参数,$y_i$ 和 $x_i$ 分别是第 $i$ 个样本点的标签和特征向量,$m$ 是样本数量。 2. 该问题的拉格朗日对偶问题的数学形式: $$ \begin{aligned} \max_{\alpha} \quad & \sum_{i=1}^{m}\alpha_i - \frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_j y_iy_j x_i^Tx_j \\ s.t. \quad & 0 \leq \alpha_i \leq C, \quad i=1,\dots,m \\ & \sum_{i=1}^{m}\alpha_iy_i = 0 \end{aligned} $$ 其中,$\alpha$ 是拉格朗日乘子,$C$ 是正则化参数,$y_i$ 和 $x_i$ 分别是第 $i$ 个样本点的标签和特征向量,$m$ 是样本数量。 3. 该问题的所有 KKT 条件: $$ \begin{aligned} & \alpha_i \geq 0 \\ & y_i(w^Tx_i + b) - 1 + \xi_i \geq 0 \\ & \alpha_i(y_i(w^Tx_i+b)-1+\xi_i) = 0 \\ & \xi_i \geq 0 \\ & \alpha_i \leq C \\ & \sum_{i=1}^{m}\alpha_iy_i = 0 \\ & w = \sum_{i=1}^{m}\alpha_iy_ix_i \end{aligned} $$ 其中,$w$ 和 $b$ 是线性 SVM 模型的参数,$\xi_i$ 是松弛变量,$C$ 是正则化参数,$y_i$ 和 $x_i$ 分别是第 $i$ 个样本点的标签和特征向量,$\alpha_i$ 是拉格朗日乘子。 4. 根据红线所示的 SVM 分类器决策面推算乘子 $a_i, i=1,2,3$ 的数值。 由于决策面是 $\{x | w^Tx+b=0\}$,因此我们可以根据 $w$ 和 $b$ 推算出乘子 $a_i$ 的数值。根据 KKT 条件,当 $\alpha_i > 0$ 时,对应的样本点 $x_i$ 就是支持向量。因此,我们可以找出支持向量,并利用 $w$ 和 $b$ 推算出对应的乘子 $a_i$ 的数值。 对于本题中的样本点,容易发现第 2 个样本点 $(x^2, y^2)$ 是支持向量,因此对应的乘子 $a_2$ 大于 0。由于决策面经过 $(x^2, y^2)$,因此有: $$ w^Tx^2 + b = 0 $$ 代入 $w = \sum_{i=1}^{m}\alpha_iy_ix_i$ 可得: $$ \alpha_2y^2(x^2)^Tx^2 + b = 0 $$ 因为 $y^2=-1$,$(x^2)^T=[1,0]$,$x^2=[1,0]^T$,$b=-1$,所以有: $$ \alpha_2 = \frac{1}{\|w\|} = \frac{1}{\sqrt{1^2+0^2}} = 1 $$ 因此,第 2 个样本点对应的乘子 $a_2$ 的数值为 1,其余样本点对应的乘子 $a_1$ 和 $a_3$ 的数值为 0。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值