一、原始问题
- 问题描述: min x f ( x ) \min_xf(x) xminf(x) s . t . h i ( x ) = 0 , i = 1 , 2 … , m g j ( x ) ≤ 0 , j = 1 , 2 … . , n s.t. \quad h_i (x)=0,i=1,2…,m\\ g_j (x)≤0,j=1,2….,n s.t.hi(x)=0,i=1,2…,mgj(x)≤0,j=1,2….,n其中x∈R^d.
- 引入拉格朗日乘子 λ = ( λ 1 , λ 2 , … , λ m ) λ=(λ_1,λ_2,…,λ_m) λ=(λ1,λ2,…,λm)和 μ = ( μ 1 , μ 2 , … , μ n ) μ=(μ_1,μ_2,…,μ_n) μ=(μ1,μ2,…,μn),相应的拉格朗日函数为: L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 n μ j g j ( x ) L(x,λ,μ)=f(x)+∑_{i=1}^m λ_i h_i (x) +∑_{j=1}^n μ_j g_j (x) L(x,λ,μ)=f(x)+i=1∑mλihi(x)+j=1∑nμjgj(x)其中 μ j ≥ 0 μ_j≥0 μj≥0
- 首先将拉格朗日函数
L
(
x
,
λ
,
μ
)
L(x,λ,μ)
L(x,λ,μ)看作
λ
,
μ
λ,μ
λ,μ的函数,将
x
x
x看作常数,并且求该函数的最大值,即:
θ
p
(
x
)
=
max
λ
,
μ
L
(
x
,
λ
,
μ
)
θ_p (x)=\max_{λ,μ}L(x,λ,μ)
θp(x)=λ,μmaxL(x,λ,μ)
- 当 x x x不在约束区域内,即存在某个 i i i使得 h i ( x ) ! = 0 h_i (x)!=0 hi(x)!=0或者存在某个 j j j使得 g j ( x ) > 0 g_j (x)>0 gj(x)>0,那么就有: θ p ( x ) = + ∞ θ_p (x)=+∞ θp(x)=+∞因为,若某个 i i i使约束 h i ( x ) ! = 0 h_i (x)!=0 hi(x)!=0,则可令 λ i h i ( x ) → + ∞ λ_i h_i (x)→+∞ λihi(x)→+∞,若某个 j j j使 g j ( x ) > 0 g_j (x)>0 gj(x)>0,则可令 μ j → + ∞ μ_j→+∞ μj→+∞,并将其余各 λ i , μ j λ_i,μ_j λi,μj均取为0.
- 当 x x x在约束区域内,即 x x x满足所有约束条件: θ p ( x ) = f ( x ) θ_p (x)=f(x) θp(x)=f(x)
- 所以最后 θ p ( x ) θ_p (x) θp(x)的表示式为: θ p ( x ) = { f ( x ) , x 在 约 束 区 域 内 3 n + 1 , 其 他 θ_p (x) = \begin{cases} f(x), & x在约束区域内\\ 3n+1, & 其他 \end{cases} θp(x)={f(x),3n+1,x在约束区域内其他
- 现在我们再取 θ p ( x ) θ_p (x) θp(x)的最小值: min x θ p ( x ) = min x max λ , μ L ( x , λ , μ ) \min_xθ_p (x)=\min_x\max_{λ,μ} L(x,λ,μ) xminθp(x)=xminλ,μmaxL(x,λ,μ)称为广义拉格朗日函数的极小极大问题,可以看出它与原始问题同解.我们将其总结为: min x max λ , μ L ( x , λ , μ ) ) \min_x\max_{λ,μ} L(x,λ,μ)) xminλ,μmaxL(x,λ,μ)) s . t . μ j ≥ 0 , j = 1 , 2 … . , n s.t. \quad μ_j≥0,j=1,2….,n s.t.μj≥0,j=1,2….,n
- 这样一来,就把原始最优化问题表示为广义拉格朗日函数的极小极大问题.为了方便,定义原始问题的最优值为: p ∗ = min x θ p ( x ) p^*=\min_xθ_p (x) p∗=xminθp(x)
二、对偶问题
- 现在我们反向操作一下: 首先我们将拉格朗日函数 L ( x , λ , μ ) L(x,λ,μ) L(x,λ,μ)看作 x x x的函数,将 λ , μ λ,μ λ,μ看作常数,并且求该函数的最小值,即: θ D ( λ , μ ) = min x L ( x , λ , μ ) θ_D (λ,μ)=\min_xL(x,λ,μ) θD(λ,μ)=xminL(x,λ,μ)该函数称为对偶函数。
- 再考虑极大化 θ D ( λ , μ ) θ_D (λ,μ) θD(λ,μ),即: max λ , μ θ D ( λ , μ ) = max λ , μ min x L ( x , λ , μ ) \max_{λ,μ}θ_D (λ,μ)=\max_{λ,μ}\min_x L(x,λ,μ) λ,μmaxθD(λ,μ)=λ,μmaxxminL(x,λ,μ)称为广义拉格朗日函数的极大极小问题.表示我为: max λ , μ min x L ( x , λ , μ ) ) \max_{λ,μ} \min_xL(x,λ,μ)) λ,μmaxxminL(x,λ,μ)) s . t . μ j ≥ 0 , j = 1 , 2 … . , n s.t. \quad μ_j≥0,j=1,2….,n s.t.μj≥0,j=1,2….,n称为原始问题的对偶问题。
三、原始问题与对偶问题的关系
- 有上面的推导可知: θ D ( λ , μ ) = min x L ( x , λ , μ ) ≤ L ( x , λ , μ ) ≤ max λ , μ L ( x , λ , μ ) = θ p ( x ) θ_D (λ,μ)=\min_xL(x,λ,μ)≤L(x,λ,μ)≤\max_{λ,μ}L(x,λ,μ)=θ_p (x) θD(λ,μ)=xminL(x,λ,μ)≤L(x,λ,μ)≤λ,μmaxL(x,λ,μ)=θp(x)即: θ D ( λ , μ ) ≤ θ p ( x ) θ_D (λ,μ)≤θ_p (x) θD(λ,μ)≤θp(x)由此可知函数 θ D ( λ , μ ) θ_D (λ,μ) θD(λ,μ)是函数 θ p ( x ) θ_p (x) θp(x)的下界,并且这个下界 θ D ( λ , μ ) θ_D (λ,μ) θD(λ,μ),可能离 θ p ( x ) θ_p (x) θp(x)很远(即小很多),也可能非常接近,这取决于 λ , μ λ,μ λ,μ的取值。这样可能就产生了一个想法,那就是 θ D ( λ , μ ) θ_D (λ,μ) θD(λ,μ)的最大值有可能等于 θ p ( x ) θ_p (x) θp(x)的最小值,即原始问题可能和对偶问题同解。
- 由于原始问题和对偶问题都有最优解,所以: d ∗ = max λ , μ θ D ( λ , μ ) ≤ min x θ p ( x ) = p ∗ d^*=\max_{λ,μ} θ_D (λ,μ)≤\min_xθ_p (x)=p^* d∗=λ,μmaxθD(λ,μ)≤xminθp(x)=p∗这个性质便叫做弱对偶性,对于所有优化问题都成立,即使原始问题非凸。当等号成立时叫强对偶性,即强对偶即满足: d ∗ = p ∗ d^*=p^* d∗=p∗
- 强对偶是一个非常好的性质,因为在强对偶成立的情况下,可以通过求解对偶问题来得到原始问题的解,在 SVM 中就是这样做的。当然并不是所有的对偶问题都满足强对偶性 ,在 SVM 中是直接假定了强对偶性的成立,其实只要满足一些条件,强对偶性是成立的,比如说 Slater 条件与KKT条件。
- Slater 条件:假设函数 f ( x ) f(x) f(x)和 g j ( x ) g_j (x) gj(x)是凸函数, h i ( x ) h_i (x) hi(x)是仿射函数;并且假设不等式约束 g j ( x ) g_j (x) gj(x)是严格可行的,即存在 x x x,对所有 j j j有 g j ( x ) < 0 g_j (x)<0 gj(x)<0,则存在 x ∗ , λ ∗ , μ ∗ x^*,λ^*,μ^* x∗,λ∗,μ∗,使 x ∗ x^* x∗是原始问题的解, λ ∗ , μ ∗ λ^*,μ^* λ∗,μ∗是对偶问题的解,并且: d ∗ = p ∗ = L ( x ∗ , λ ∗ , μ ∗ ) d^*=p^*=L(x^*,λ^*,μ^*) d∗=p∗=L(x∗,λ∗,μ∗)也就是说如果原始问题是凸优化问题并且满足 Slater 条件的话,那么强对偶性成立。需要注意的是,这里只是指出了强对偶成立的一种情况,并不是唯一的情况。
- 仿射函数:如果 h i ( w ) = a x + b h_i (w)=ax+b hi(w)=ax+b, a , x ∈ R n , b ∈ R a,x∈R^n,b∈R a,x∈Rn,b∈R 则 h i ( w ) h_i (w) hi(w)被为仿射函数,
- KKT条件: 假设函数 f ( x ) f(x) f(x)和 g j ( x ) g_j (x) gj(x)是凸函数, h i ( x ) h_i (x) hi(x)是仿射函数;并且假设不等式约束 g j ( x ) g_j (x) gj(x)是严格可行的,则 x ∗ x^* x∗和 λ ∗ , μ ∗ λ^*,μ^* λ∗,μ∗分别是原始问题和对偶问题的解的充分必要条件是 x ∗ , λ ∗ , μ ∗ x^*,λ^*,μ^* x∗,λ∗,μ∗满足下面的 (KKT) 条件: { ∂ L ( x , λ , μ ) ∂ x = ∇ f ( x ) + ∑ i = 1 m λ i ∇ h i ( x ) + ∑ j = 1 n μ j ∇ g j ( x ) = 0 g j ( x ) ≤ 0 μ j ≥ 0 g j ( x ) μ j = 0 \begin{cases} \frac{∂L(x,λ,μ)}{∂x}=∇f(x)+∑_{i=1}^m λ_i ∇h_i (x) +∑_{j=1}^n μ_j ∇g_j (x)=0 \\ g_j(x)≤0 \\ μ_j≥0\\ g_j(x)μ_j=0 \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧∂x∂L(x,λ,μ)=∇f(x)+∑i=1mλi∇hi(x)+∑j=1nμj∇gj(x)=0gj(x)≤0μj≥0gj(x)μj=0
- 如果对拉格朗日乘子法与KKT条件不熟悉的话可以参考链接:https://blog.youkuaiyun.com/ACM_hades/article/details/90642698