引入拉格朗日乘法
对于下面的最优化问题:
通常的解法是引入拉格朗日算子:
注:
1、所谓最优化问题,即在约束条件(这里是等式约束 hi(w)=0, i=1,...,l )下,求解目标函数(这里是 f(w) )的最大值,或最小值。
2、 l 是等式约束的个数
3、
我们求 L(w,β) 关于 w 和
计算得到 w 和
下面讨论广义拉格朗日算子(带有不等式约束)
给出原始优化问题(primal optimization problem):
定义广义拉格朗日算子:
这里的 αi,βi 都是拉格朗算子
下面定义:
θP(w)=maxα,β:αi≥0L(w,α,β)
注:
θP
中的”P”是”primal”的缩写
上式中若
w
违反原始约束条件(
相反的,如果原始约束条件都满足,则可得:
θP(w)=f(w)
,因此可以写出下面的式子:
因此我们再考虑下面的式子:
注:当原始约束条件满足时, minwθP(w)⟺minf(w)
定义 p∗=minwθP(w) ,即用 p∗ 代表优化问题的值。此时如果直接求解,首先面对的是两个参数,而 αi 也是不等式约束,然后再在 w 上求最小值。这个过程可不容易做。
引入对偶问题
现在我们考虑下面的问题,定义:
注:
1、这里”
D
”是“
2、在之前定义的
θP
中,我们是取的
max
下面给出原问题的对偶问题公式:
明显和原问题相比只是交换了 max和min 的 位置。
和之前定义 p∗ 一样,定义 d∗=maxα,β:αi≥0θD(α,β)
一般的有 maxminf(x)≤minmaxf(x)
因此可得:
在一定的条件下对偶问题等价于原问题,即在一定条件下我们可以得到 d∗=p∗ ,这样我们就可以用求解对偶问题代替求解原始问题了。
下面让我们来看看 d∗=p∗ 的条件
假设 f和gi 都是凸函数, hi 是仿射(affine)的,(仿射函数即由1阶多项式构成的函数,一般形式为 f (x) = A x + b,这里,A 是一个 m×k 矩阵,x 是一个 k 向量,b是一个m向量,实际上反映了一种从 k 维到 m 维的空间映射关系。)
,且对于所有 gi(w) 存在 w 使得
注:
仿射函数:I.e., there exists ai , bi, so that hi(w)=aTiw+bi . “Affine” means the same thing as linear, except that we also allow the extra intercept term bi .也就是说,去掉 bi 他就是一个线性函数,加上 bi 就叫仿射函数。
基于上面的假设必然存在
w∗,α∗,β∗
,使得
w∗
是原问题的解,
α∗,β∗
是对偶问题的解,且满足
p∗=d∗=L(w∗,α∗,β∗)
。最重要的是这样的
w∗,α∗,β∗
满足Karush-Kuhn-Tucker (KKT)conditions,KKT规则如下:
对于满足KKT规则的 w∗,α∗,β∗ ,其必然同时满足原始问题和对偶问题。
上式中公式 α∗igi(w∗)=0 被称为KKT对偶互补条件( KKT dual complementarity condition),它隐含了下面的条件:
如果 α∗i>0 ,则 gi(w∗)=0 。(即约束条件 gi(w)≤0 成立,只是将不等式约束变成了等式约束)