参考资料:
《机器学习公式详解》(南瓜书)
《最优化基础理论与方法》王燕军
(主要是这个版本的KKT条件写法最方便我使用,担心下次用的时候手头没这本书,就先简单记录一下,方便后续使用)
一般约束优化问题:
min
f
(
x
)
f(\textbf{x})
f(x)
s.t.
g
i
(
x
)
≤
0
g_i(\textbf{x})\leq0
gi(x)≤0
h
j
(
x
)
=
0
\quad h_j(\textbf{x})=0
hj(x)=0
其中,自变量
x
∈
R
n
\textbf{x}\in R^n
x∈Rn。设
f
(
x
)
f(\textbf{x})
f(x),
g
i
(
x
)
g_i(\textbf{x})
gi(x),
h
j
(
x
)
h_j(\textbf{x})
hj(x)具有连续的一阶偏导数,
x
∗
\textbf{x}^*
x∗是优化问题的局部可行解。若该优化问题满足任意一个约束限制条件,则一定存在
μ
∗
=
(
μ
1
∗
;
μ
2
∗
,
.
.
.
,
μ
m
∗
)
\mu^*=(\mu_1^*;\mu_2^*,...,\mu_m^*)
μ∗=(μ1∗;μ2∗,...,μm∗),
λ
∗
=
(
λ
1
∗
;
λ
2
∗
;
.
.
.
;
λ
n
∗
)
\lambda^*=(\lambda_1^*;\lambda_2^*;...;\lambda_n^*)
λ∗=(λ1∗;λ2∗;...;λn∗),使得:
(1)
▽
x
L
(
x
∗
,
μ
∗
,
λ
∗
)
=
▽
f
(
x
∗
)
+
∑
i
=
1
m
μ
i
∗
▽
g
i
(
x
∗
)
+
∑
j
=
1
n
λ
j
∗
▽
h
j
(
x
∗
)
=
0
\bigtriangledown_xL(x^*,\mu^*,\lambda^*)=\bigtriangledown f(\textbf{x}^*)+\sum_{i=1}^m\mu_i^*\bigtriangledown g_i(\textbf{x}^*)+\sum_{j=1}^n\lambda_j^*\bigtriangledown h_j(\textbf{x}^*)=0
▽xL(x∗,μ∗,λ∗)=▽f(x∗)+∑i=1mμi∗▽gi(x∗)+∑j=1nλj∗▽hj(x∗)=0
(2)
h
j
(
x
∗
)
=
0
h_j(\textbf{x}^*)=0
hj(x∗)=0
(3)
g
i
(
x
∗
)
≤
0
g_i(\textbf{x}^*)\leq0
gi(x∗)≤0
(4)
μ
i
∗
≥
0
\mu_i^*\geq0
μi∗≥0
(5)
μ
i
∗
g
i
(
x
∗
)
=
0
\mu_i^*g_i(\textbf{x}^*)=0
μi∗gi(x∗)=0
其中,
L
(
x
,
μ
,
λ
)
L(x,\mu,\lambda)
L(x,μ,λ)是拉格朗日函数
L
(
x
∗
,
μ
∗
,
λ
∗
)
=
f
(
x
)
+
∑
i
=
1
m
μ
i
g
i
(
x
)
+
∑
j
=
1
n
λ
j
h
j
(
x
)
L(x^*,\mu^*,\lambda^*)=f(\textbf{x})+\sum_{i=1}^m\mu_ig_i(\textbf{x})+\sum_{j=1}^n\lambda_j h_j(\textbf{x})
L(x∗,μ∗,λ∗)=f(x)+∑i=1mμigi(x)+∑j=1nλjhj(x)