原因是学到SVM这里发现这个lagrange dual problem 必须满足 KKT 条件, 于是写下了这篇文章记录这些条件被推出的过程, 本人才疏学浅, 不当之处请尽管指出
1.线性可分SVM要求解的原始问题
目标函数:
原问题:
原问题的拉格朗日函数:
令:
∵ ∵ 若有一个 1−yi(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
这样, 原始问题用拉格朗日的形式来表达:
这里
p∗
p
∗
代表原始问题的最优值
我们看看直接求解会怎样: 首先式子里有
w,b
w
,
b
两个参数, 目标变量
a
a
又要满足不等式约束, 实在不好求, 所以转化为对偶形式:
2.对偶问题(dual problem)
这里 d∗ d ∗ 代表对偶问题最优解, 看下现在该怎样求解呢?
首先只有 a a 一个参数, w,b w , b 又没有不等式约束, 那就直接对它们求偏导为0啊, 代回原式再来求 a a , 不错, 好求解多了
不过 d∗ d ∗ 和 p∗ p ∗ 的关系是什么呢?
原始问题最优解与对偶问题最优解的关系
我们可以看到, d∗≤p∗ 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)式入手:
那么, 有
对式(10)这个不等式约束, 取其中一个 i i 为例子, 分为两种情况讨论:
情况一
时, 相当于确定了一个
N−1
N
−
1
维的约束平面
S
S
, 在这个平面上寻找使得式(1)中的目标函数 最小点
通过以下几条线索:
1, 在约束曲面
S
S
上任意点, 该点的梯度垂直于曲面
2, 在最优点处, 也垂直于曲面(沿负梯度方向是下降方向, 垂直说明
降无可降, 即为最小点)
可以得出结论,
且 αi>0 α i > 0
∇f(w) ∇ f ( w ) 方向是约束曲面上 无路可走 的方向, 式(11)说明 它和约束不等式梯度方向相反, 即和约束不等式负梯度方向相同, 要沿负梯度方向下降?无路可走啦, 这不是最小值点吗
情况二
1−yi((w∗)Txi+b∗)<0
1
−
y
i
(
(
w
∗
)
T
x
i
+
b
∗
)
<
0
时, 此时问题为在被约束曲面分隔开的其中一个区域中求解最小值
如果
w
w
有在此区域内的点, 则直接对其求偏导为0即可得
w∗
w
∗
此时相当于令
αi=0
α
i
=
0
, 因为这个不等式约束在求解最优点过程中没起作用
综合两种情况
得到:
注意, 二者不能同时为0 !
来看看我们做了什么: 我们从原始拉格朗日问题形式的两种约束, 经过分析最优点的情况, 推出了新的约束
那么接下来, 就是不管约束, 对式(3)求解极值点了呗
所以加上这两个式子:
总结得到的式子, 这些就叫做KKT条件啦:
公式比较多, 手写latex真是累死……不当之处请大家指出
参考:
1, 《统计学习方法》,李航著;
2, 《机器学习》, 周志华著;
3, 支持向量机通俗导论(理解SVM的三层境界)