KKT条件第一项是说最优点必须满足所有等式及不等式限制条件,也就是说最优点必须是一个可行解,这一点自然是毋庸置疑的。第二项表明在最优点 x*, ∇f 必須是 ∇hj 和 ∇gk 的线性組合,和都叫作拉格朗日乘子。所不同的是不等式限制条件有方向性,所以每一个 kµ都必须大於或等於零,而等式限制条件没有方向性,所 以 jλ没有符号的限制,其符号要视等式限制条件的写法而定。
设想我们优化如下的目标函数:
minimize f_0(x)
s.t. f_i(x)<=0, i=1,2,...,m
h_i(x)=0, i=1,2,...,p
我们把这个目标函数称为原函数
构造该函数的对偶函数如下:
maximize
g(r,v)=inf_x {f_0(x)+sum_{i=1}^m r_i*f_i(x)+sum_{i=1}^p v_i*h_i(x)}
s.t. r_i>=0 i=1,2,...,m
假设x'是原函数的一个可行点(满足原函数的约束),r',v'是对偶函数的一个可行点
因为r'_i>=0,f_i(x')<=0,所以sum_{i=1}^m r'_i*f_i(x')<=0,同理
sum_{i=1}^p v'_i*h_i(x')=0
因此,我们有,对于任意的满足原函数约束的x和满足对偶函数约束的r,v
g(r,v)<={f_0(x)+sum_{i=1}^m r_i*f_i(x)+sum_{i=1}^p v_i*h_i(x)}
<=f_0(x)
记x^* 为原函数的一个最优点,最优值为p^*
r^*,v^*为对偶函数的一个最优点,最优值为d^*
我们有
p^*>=d^*(weak duality)
如果x^*,r^*,v^*能够使得p^*=d^*成立,
则称strong duality成立,即
f_0(x^*)=g(r^*,v^*)
现在假设strong duality能够成立,并且假设x^*是原函数的最优解,r^*,v^*为对偶函数
的一个最优点,那么
f_0(x^*)=g(r^*,v^*)
=inf_x {f_0(x)+sum_{i=1}^m r^*_i*f_i(x)+sum_{i=1}^p v^*_i*h_i(x)}
<=f_0(x^*)+sum_{i=1}^m r^*_i*f_i(x^*)+sum_{i=1}^p v^*_i*h_i(x^*)
<=f_0(x^*)
第一个等式是strong duality,第二行等式是对偶函数的定义,第三行不等式是inf的定
义,第四行不等式是因为r^*_i>=0,f_i(x^*)<=0,h_i(x^*)=0
因此,我们有sum_{i=1}^m r^*_i*f_i(x^*)=0,
因为对每个i, r^*_i*f_i(x^*)<=0,
所以有
r^*_i*f_i(x^*)=0(Complementary slackness)
因为x^*是使得g(r^*,v^*)最小的点,(注意上面的第三行等式成立)
所以g(r^*,v^*)关于x的导数在x^*处为0
f_0'(x^*)+sum_{i=1}^m r^*_i*f_i'(x^*)+sum_{i=1}^p v^*_i*h_i'(x^*)=0
综上所述我们得到了f_0(x^*)=g(r^*,v^*)的条件:
f_i(x^*)<=0 i=1,2,...,m
h_i(x^*)=0 i=1,2,...,p
r^*_i>=0 i=1,2,...,m
r^*_i*f_i(x^*)=0 i=1,2,...,m
f_0'(x^*)+sum_{i=1}^m r^*_i*f_i'(x^*)+sum_{i=1}^p v^*_i*h_i'(x^*)=0
这就是KKT条件~~
以上是摘自Information Retrieval Blog的部分内容,希望对你能有点点启发~~