统计学习方法 学习笔记(七):拉格朗日对偶性
在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如:最大熵模型与支持向量机。这里简要叙述拉格朗日对偶性的主要概念和结果:
1. 原始问题
假设$f(x),c_i(x),h_j(x)$是定义在$R^n$上的连续可微函数。考虑约束最优化问题:
$$\min_{x \in R^n} f(x) (C.1)$$
$$s.t. c_i(x) \leq 0, i=1,2,...,k (C.2)$$
$$ h_j(x)=0, j=1,2,...,l (C.3)$$
称此约束最优化问题为原始最优化问题或原始问题。
首先,引进广义拉格朗日函数(generalized Lagrange function)
$$L(x,\alpha,\beta) = f(x) + \sum_{i=1}^{k}\alpha_ic_i(x) + \sum_{j=1}^{l}\beta_jh_j(x)$$
这里,$x=(x^{(1)},x^{(2)},...,x^{(n)}) \in R^n,\alpha_i,\beta_j$是拉格朗日乘子,$\alpha_i \geq 0$。考虑$x$的函数:
$$\Theta_p(x) = \max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)$$
这里,下标$p$表示原始问题。
$$\Theta_p(x) = \left\{\begin{matrix}
f(x), &x 满足原始问题约束\\
+\infty, &其他
\end{matrix}\right.$$
所以如果考虑极小化问题:
$$\min_{x}\Theta_p(x) = \min_{x}\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)$$
它是与原始最优化问题$(C.1) ~ (C.3)$等价的,即它们有相同的解。问题$ \min_{x}\max_{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta)$称为广义拉格朗日函数的极小极大问题。这样一来,就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值:
$$p^{*} = \min_{x}\Theta_p(x)$$
称为原始问题的值。
2. 对偶问题
定义:
$$\Theta_{D}(\alpha,\beta) = \min_{x}L(x,\alpha,\beta)$$
再考虑极大化$\Theta_{D}(\alpha,\beta) = \min_{x}L(x,\alpha,\beta)$,即:
$$\max_{\alpha,\beta:\alpha_i \geq 0}\Theta_{D}(\alpha,\beta) = \max_{\alpha,\beta:\alpha_i \geq 0}\min_{x}L(x,\alpha,\beta)$$
问题$\max_{\alpha,\beta:\alpha_i \geq 0}\min_{x}L(x,\alpha,\beta)$称为广义拉格朗日函数的极大极小问题。
可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
$$\max_{\alpha,\beta}\Theta_{D}(\alpha,\beta) = \max_{\alpha,\beta} \min_{x}L(x,\alpha,\beta)$$
$$s.t. \alpha_i \geq 0, i=1,2,...,k$$
称为原始问题的对偶问题,定义对偶问题的最优值
$$d^{*} = \max_{\alpha,\beta:\alpha_i \geq 0}\Theta_{D}(\alpha,\beta)$$
称为对偶问题的值。
3. 原始问题和对偶问题的关系
定理C.1 若原始问题和对偶问题都有最优值,则:
$$d^{*} = \max_{\alpha,\beta:\alpha_i \geq 0} \min_{x}L(x,\alpha,\beta) \leq \min_{x}\max{\alpha,\beta:\alpha_i \geq 0}L(x,\alpha,\beta) = p^{*}$$
推论C.1 设$x^{*}$和$\alpha^{*},\beta^{*}$分别是原始问题和对偶问题的可行解,并且$d^{*} = p^{*}$,则$x^{*}$和$\alpha^{*},\beta^{*}$分别是原始问题和对偶问题的最优解。
在某些条件下(KKT条件),原始问题和对偶问题的最优值相等,$d^{*} = p^{*}$。这时可以用解对偶问题代替解原始问题。
KKT条件:
$$\bigtriangledown _xL(x^{*},\alpha^{*},\beta^{*}) = 0$$
$$\alpha_i^{*}c_i(x^{*}) = 0, i=1,2,...,k$$
$$c_i(x^{*}) \leq 0, i=1,2,...,k$$
$$\alpha_i^{*} \geq 0, i=1,2,...,k$$
$$h_j(x^{*}) = 0, j=1,2,...,l$$
特别指出,式$\alpha_i^{*} \geq 0, i=1,2,...,k$称为KKT条件的对偶互补条件,由此条件可知:若$\alpha_i^{*} > 0$,则$c_i(x^*) = 0$。