机器学习笔记_ 数值最优化_3:KKT条件
2015-11-24 03:03
741 查看
KKT条件(几何的解释)
对于凸优化,KKT条件的点就是其极值点(可行下降方向)。设x∗x^*是非线性规划的局部最小点,目标函数f(x)f(x)在x∗x^*可微,约束方程(g(x))在x∗x^*处可微,连续;则X*点不存在可行下降方向(因为已经是局部最小点了)
若极小值点在内部,则无约束问题,直接拉格朗日乘子法
若极小值在边界上,(gi(x∗)=0g_i(x^*)=0)
互补松弛条件
▽f(x∗)−γ1▽g1(x∗)−γ2▽g2(x∗)=0\triangledown f(x^*) -\gamma_1 \triangledown_{g1}(x^*)-\gamma_2 \triangledown_{g2}(x^*)=0
不起作用的约束包含γi≥0;γigi(x∗)=0不起作用的约束包含\gamma_i \geq 0; \quad \gamma_ig_i(x^*)=0
满足其他约束
一阶得到是局部极值点 ,还需要通过二阶判断是否是鞍点
强对偶条件( 鞍点解释)->对偶函数取下确界,则对偶函数一定是凹函数
原函数不好求,转换为求解对偶函数,则对偶函数下确界求得,则比为凹函数(负号为凸函数)上确界求得,比为凸函数
满足KKT条件后,对偶函数和原函数最优值相等
求解对偶函数,及求解凸函数
对偶和原函数相等(对偶间隔=0)需要满足的式子也是KKT,同时最优点是鞍点,也就是KKT方程的解
对偶问题:若要对偶函数的最大值即为原问题的最小值问题(对偶间隙是0),解凸优化问题等价于解KKT方程;
f0(x∗)=g(λ∗,ν∗)−>(拉格朗日对偶函数)f_0(x^* )= g(\lambda ^ *,\nu^*)->(拉格朗日对偶函数)
=infx(f0(x)+∑i=1mλ∗ifi(x)+∑i=1pvihi(x)=\inf\limits_x(f_0(x)+\sum\limits_{i=1}^m\lambda_i^*f_i(x)+\sum\limits_{i=1}^pv_ih_i(x)
≤infx(f0(x)+∑i=1mλ∗ifi(x)+∑i=1pvihi(x)\leq \inf\limits_x(f_0(x)+\sum\limits_{i=1}^m\lambda_i^*f_i(x)+\sum\limits_{i=1}^pv_ih_i(x)
≤f0(x∗)\leq f_0(x^*)
上式等号成立需要:
fi(x∗)≤0,i=1,...,mf_i(x^*) \leq 0, i=1,...,m
hi(x∗)=0,i=1,...,mh_i(x^*) = 0, i=1,...,m
λ∗i≥0,i=1,...,m\lambda_i^* \geq 0, i=1,...,m
λ∗ifi(x∗)=0,i=1,...,m\lambda_i^*f_i(x^*)=0, i=1,...,m
▽f0(x∗)+∑i=1mλ∗i▽fi(x∗)+∑i=1pvi▽hi(x∗)=0\triangledown f_0(x^*)+\sum\limits_{i=1}^m\lambda_i^*\triangledown f_i(x^*)+\sum\limits_{i=1}^pv_i\triangledown h_i(x^*)=0
相关文章推荐
- 219. Contains Duplicate II
- QapTcha 滑动验证码工具--工作原理分析
- UVA 11691 Allergy Test(状压dp)
- Git初始化设置
- [Javascript] Intro to Recursion
- 关于使用Github desktop Mac版的一些心得
- python之路第五篇之递归(进阶篇:续:经典例子剖析)
- UVA 11721 Instant View of Big Bang(负环)
- HDU_1166敌兵布阵
- UVA 11747 Heavy Cycle Edges(MST)
- 关于Xcode7更改默认模拟器的问题
- 达达技术
- 达达技术
- Q: How could I use MATLAB interface for parameter selection?
- POJ 2063 解题报告
- LinearLayout中layout_weight的理解
- 第5章(2) Java的垃圾回收器
- public LayerColor未定义基类的解决办法
- HDU 2087 剪花布条
- HDU 2087 剪花布条