UTF8gbsn
前面我们介绍了lagrange multiplier. 在单constraint的时候该怎么办.
f ( x ) , x ∈ R n g ( x ) = 0 , x ∈ R n \left. \begin{aligned} &f(x), x\in R^n\\ &g(x)=0, x\in R^n \end{aligned} \right. f(x),x∈Rng(x)=0,x∈Rn
L ( x , λ ) = f ( x ) − λ g ( x ) , ( x , λ ) ∈ R n + 1 L(x,\lambda)=f(x)-\lambda g(x), (x,\lambda)\in R^{n+1} L(x,λ)=f(x)−λg(x),(x,λ)∈Rn+1
对 ( x , λ ) (x,\lambda) (x,λ)求导, 得出稳定点, 最终求得极值.
多约束lagrange multiplier
现在假设我们的条件变了变成了下面的问题
f ( x ) , x ∈ R n g i ( x ) = 0 , x ∈ R n , i ∈ ( 1 , 2 , ⋯ , K ) \left. \begin{aligned} &f(x), x\in R^n\\ &g_i(x)=0, x\in R^n, i \in (1,2,\cdots, K) \end{aligned} \right. f(x),x∈Rngi(x)=0,x∈Rn,i∈(1,2,⋯,K)
也就是说, 我们有 K K K个约束条件.
proof
我们如何来证明这个多约束问题呢?
我们可以肯定的是最优化点
x
∗
x^{*}
x∗一定处在所有约束面上.
假设总的约束面为
C
=
{
g
1
(
x
)
=
0
,
g
2
(
x
)
=
0
,
⋯
,
g
K
(
x
)
=
0
}
C=\{g_1(x)=0, g_2(x)=0, \cdots, g_K(x)=0\}
C={g1(x)=0,g2(x)=0,⋯,gK(x)=0}.
也就是说
x
∗
∈
C
x^{*}\in C
x∗∈C.
又因为总的约束面在点
x
∗
x^{*}
x∗的法向量一定是
{
∇
g
1
(
x
)
,
∇
g
2
(
x
)
,
⋯
,
∇
g
K
(
x
)
}
\{\nabla g_1(x), \nabla g_{2}(x), \cdots, \nabla g_{K}(x)\}
{∇g1(x),∇g2(x),⋯,∇gK(x)}
的线性组合.
v
(
x
∗
)
=
λ
1
∇
g
1
(
x
∗
)
+
λ
2
∇
g
2
(
x
∗
)
+
⋯
+
λ
K
∇
g
K
(
x
∗
)
=
∇
f
(
x
∗
)
v(x^{*}) = \lambda_1 \nabla g_1(x^{*})+\lambda_2\nabla g_{2}(x^{*})+ \cdots+\lambda_K \nabla g_{K}(x^{*}) = \nabla f(x^{*})
v(x∗)=λ1∇g1(x∗)+λ2∇g2(x∗)+⋯+λK∇gK(x∗)=∇f(x∗)
总结
那么这个乘数法为
L ( x , λ ) = f ( x ) − ∑ i = 1 K λ i g i ( x ) L(x,\lambda) = f(x)-\sum_{i=1}^{K}\lambda_i g_i(x) L(x,λ)=f(x)−i=1∑Kλigi(x)
求导,求得稳定点,然后取极值即可.
本文不太严谨和详细, 如果需要严谨和更详细的证明请参考我的另一篇文章!!