【机器学习】KKT条件

来源:互联网 发布:日系rpg手游 知乎 编辑:程序博客网 时间:2024/05/19 22:46

概念:

min.:f(x)
s.t.:gi(x)≤0,i=1,2,…,p,
hj(x)=0,k=1,2,…,q,
x∈Ω⊂Rn
KTT条件是指在满足一些有规则的条件下, 一个非线性规划(Nonlinear Programming)问题能有最优化解法的一个必要和充分条件. 这是一个广义化拉格朗日乘数的成果. 一般地, 一个最优化数学模型的列标准形式参考开头的式子, 所谓 Karush-Kuhn-Tucker 最优化条件,就是指上式的最优点x∗必须满足下面的条件:
- 1. 约束条件满足gi(x∗)≤0,i=1,2,…,p, 以及,hj(x∗)=0,j=1,2,…,q
- 2. ∇f(x∗)+∑i=1pμi∇gi(x∗)+∑j=1qλj∇hj(x∗)=0, 其中∇为梯度算子;
- 3. λj≠0且不等式约束条件满足μi≥0,μigi(x∗)=0,i=1,2,…,p

解释:

  • KKT条件第一项是说最优点x∗必须满足所有等式及不等式限制条件, 也就是说最优点必须是一个可行解, 这一点自然是毋庸置疑的.
  • 第二项表明在最优点x∗, ∇f必须是∇gi和∇hj的线性組合, μi和λj都叫作拉格朗日乘子. 所不同的是不等式限制条件有方向性, 所以每一个μi都必须大于或等于零, 而等式限制条件没有方向性,所以λj没有符号的限制, 其符号要视等式限制条件的写法而定.
0 0