拉格朗日法、KKT条件
拉格朗日对偶性(\(Lagrange\ \ duality\))将原始问题转换为对偶问题。例如:最大熵模型、支持向量机。
一、原始问题
假设目标函数\(f(x)\)、不等式约束 \(c_i(x)\)、等式约束 \(h_j(x)\) 是定义在 \(\pmb{R}^n\)(\(n\) 维)上的连续可微函数。约束最优化问题描述如下:
\[\begin{align}
\tag{1}
\underset{x\in R^n}{min}\ \ \ \ & f(x) \\
\tag{2}
s.t.\ \ \ \ & c_i(x)\le0,\ \ \ \ i=1,2,...,k \\
\tag{3}
& h_j(x)=0,\ \ \ \ j=1,2,...,l
\end{align}
\]
称此问题为原始最优化问题或原始问题。
首先,引入广义拉格朗日函数(\(generalized\ \ Lagrange\ \ function\))
\[\tag{4}
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)})^T\in \pmb{R}^n\),\(\alpha_i,\ \beta_j\) 是拉格朗日乘子,\(\alpha_i\ge0\)。考虑 \(x\) 的函数:
\[\tag{5}
\theta_P(x)=\underset{\alpha,\beta:\alpha_i\ge0}{max}L(x,\alpha,\beta)
\]
下标 \(P\) 表示原始问题,但 \(\theta_P(x)\) 与 \((1)\thicksim (3)\) 不等价。
如果 \(x\) 违反约束条件,即存在某个 \(i\) 使得 \(c_i(x)>0\) 或存在某个 \(j\) 使得 \(h_j(x)\neq0\),
那么就有
\[\tag{6}
\theta_P(x)=\underset{\alpha,\beta:\alpha_i\ge0}{max}
\begin{bmatrix}
f(x)+\sum_{i=1}^{k}\alpha_ic_i(x)+\sum_{j=1}^{l}\beta_jh_j(x)
\end{bmatrix}
=+\infty
\]
因为若某个 \(i\) 使约束 \(c_i(x)>0\),则可令 \(\alpha_i \to +\infty\),
若某个 \(j\) 使得 \(h_j(x)\neq0\),则可令 \(\beta_jh_j(x) \to +\infty\),
而将剩余 \(\alpha_i,\ \beta_j\) 均取为 0。
如果 \(x\) 满足约束条件,由式 \((5)\)、\((4)\) 可知,\(\theta_P(x)=f(x)\)。
因此,
\[\tag{7}
\theta_P(x)=
\begin{cases}
f(x), & \text{$x$ 满足原始问题约束} \\
+\infty, & \text{其他}
\end{cases}
\]
所以考虑极小化问题
\[\tag{8}
\underset{x}{min}\theta_P(x)=\underset{x}{min}\
\underset{\alpha,\beta:\alpha_i\ge0}{max}\ L(x,\alpha,\theta)
\]
在对 \(\theta_p(x)\) 求极小值,会自动舍弃掉不满足约束条件的值,所以它是与原始最优化问题\((1)\thicksim (3)\) 等价的,即有相同的解。问题 \(\underset{x}{min}\theta_P(x)=\underset{x}{min}\underset{\alpha,\beta:\alpha_i\ge0}{max}\ L(x,\alpha,\theta)\) 称为广义拉格朗日函数的极小极大问题。这样就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值
\[\tag{9}
p^*=\underset{x}{min}\theta_P(x)
\]
称为原始问题的值。
二、对偶问题
定义
\[\theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta)
\tag{10}
\]
极大化式 \((10)\),即
\[\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \theta_D(\alpha,\beta)=
\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \underset{x}{min}L(x,\alpha,\beta)
\tag{11}
\]
问题 \(\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \underset{x}{min}L(x,\alpha,\beta)\) 称为广义拉格朗日函数的极大极小问题。
将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
\[\underset{\alpha,\beta}{max} \ \theta_D(\alpha,\beta)=
\underset{\alpha,\beta}{max} \ \underset{x}{min}L(x,\alpha,\beta)
\tag{12}
\]
\[s.t.\ \ \ \ \alpha_i\ge0,\ \ \ \ i=1,2,...,k
\tag{13}
\]
称为原始问题的对偶问题。定义对偶问题的最优值
\[d^*=\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \theta_D(\alpha,\beta)
\tag{14}
\]
称为对偶问题的值。
三、原始问题与对偶问题的关系
定理 \(1\):若原始问题和对偶问题都有最优解,则对偶问题的值小于等于原始问题的值。即
\[d^*=
\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \underset{x}{min}\ L(x,\alpha,\beta)
\le
\underset{x}{min}\underset{\alpha,\beta:\alpha_i\ge0}{max}\ L(x,\alpha,\theta)
=p^*
\]
证明:对任意 \(\alpha,\beta,x\) 有
\[\theta_D(\alpha,\beta)=
\underset{x}{min} L(x,\alpha,\beta) \le
L(x,\alpha,\beta) \le
\underset{\alpha,\beta:\alpha_i \ge0}{max} L(x,\alpha,\beta)=
\theta_p(x)
\]
即下面不等式恒成立
\[\theta_D(\alpha,\beta) \le \theta_p(x)
\]
因为对偶问题、原始问题都有最优值,所以
\[\underset{\alpha,\beta:\alpha_i \ge 0}{max} \ \theta_D(\alpha,\beta) \le
\underset{x}{min} \ \theta_p(x)
\]
即
\[d^*=
\underset{\alpha,\beta:\alpha_i\ge0}{max} \ \underset{x}{min}\ L(x,\alpha,\beta)
\le
\underset{x}{min}\underset{\alpha,\beta:\alpha_i\ge0}{max}\ L(x,\alpha,\theta)
=p^*
\]
推论\(1\):设 \(x^*\)、\(\alpha^*\)、\(\beta^*\) 分别是原始问题\((1)\thicksim (3)\)和对偶问题\((12)\thicksim (13)\)的可行解,并且 \(d^*=p^*\),则 \(x^*\)、\(\alpha^*\)、\(\beta^*\) 分别是原始问题和对偶问题的最优解。
定理 \(2\):假设函数 \(f(x)\)、\(c_i(x)\) 是凸函数,\(h_j(x)\) 是仿射函数,
并且假设不等式约束 \(c_i(x)\) 是严格可行的,即存在 \(x\),对所有 \(i\) 有 \(c_i(x)<0\),
则存在 \(x^*\)、\(\alpha^*\)、\(\beta^*\),使 \(x^*\) 是原始问题的解,\(\alpha^*\)、\(\beta^*\) 是对偶问题的解,
并且
\[p^*=d^*=L(x^*,\alpha^*,\beta^*)
\tag{15}
\]
定理 \(3\):假设函数 \(f(x)\)、\(c_i(x)\) 是凸函数,\(h_j(x)\) 是仿射函数,
并且假设不等式约束 \(c_i(x)\) 是严格可行的,
则 \(x^*\)、\(\alpha^*\)、\(\beta^*\) 分别是原始问题和对偶问题的解的充分必要条件是 \(x^*\)、\(\alpha^*\)、\(\beta^*\) 满足下面条件:
\[\triangledown_xL(x^*,\alpha^*,\beta^*)=0
\tag{16}
\]
\[\alpha_i^*c_i(x^*)=0,\ \ \ \ i=1,2,...,k
\tag{17}
\]
\[c_i(x^*) \le 0,\ \ \ \ i=1,2,...,k
\tag{18}
\]
\[a_i^* \ge 0,\ \ \ \ i=1,2,...,k
\tag{19}
\]
\[h_j(x^*)=0,\ \ \ \ i=1,2,...,k
\tag{20}
\]
式 \((16)\) 表示可微;特别指出,式 \((17)\) 称为 \(KKT\) 的对偶互补条件。由此条件可知:若 \(\alpha_i^*>0\),则 \(c_i(x^*)=0\)。