〇、说明
凸优化主要学习《凸优化》(Stephen Boyd等著,王书宁等译)[1]这本书。学习过程中,对其内容的理解时有困惑,也参考一些其他书籍资料。笔者尽量将这部分知识整理地简洁明了,成此系列笔记。
如有错误疏漏,烦请指出。如要转载,请联系笔者,hpfhepf@gmail.com。
一、凸优化的优势
凸优化之所以如此重要,是因为凸优化的重要特性:凸优化的任意局部最优解也是全局最优解。
二、最优性准则
2.1、无约束凸优化的最优性准则
2.2、等式约束凸优化的最优化准则
三、无约束凸优化问题求解
3.1、解析解
对于少数一些简单的凸优化问题,可以利用最优性准则通过解析来求解。但对于大多数凸优化问题来讲,是没有办法通过解析来求解的。
3.2、下降方法
下降方法中,有两个问题需要解决:确定搜索步长和确定搜索方向。确定搜索步长的方法和算法有:固定步长搜索、精确直线搜索和回溯直线搜索。确定搜索方向的方法和算法有:梯度下降方法、最速下降方法和牛顿法。
3.3、确定步长的方法
1、固定步长搜索
步长值根据经验设定,为了防止算法震荡,值应当较小。优点:直观、简单;缺点:收敛速度慢。
2、精确直线搜索
3、回溯直线搜索
比较常用的是回溯直线搜索,大概思路是,用迭代方法求得的步长只要能使目标函数有足够的减少即可。详见《凸优化(五)——回溯直线搜索》。
3.4、调整搜索方向的方法
1、梯度下降方法
2、最速下降方法
利用目标函数的一阶泰勒展开近似优化过程,进而确定学习方向。详见《凸优化(六)——最速下降法》。
3、牛顿法
利用目标函数的二阶泰勒展开近似表示目标函数,通过求解这个二次函数的极小值来确定搜索方向。详见《凸优化(七)——牛顿法》。
四、等式约束凸优化问题求解
4.1、通过消除等式求解
任何等式约束优化问题都可以通过消除等式约束转化为等价的无约束优化问题,然后利用无约束的方法求解。
4.2、通过Lagrange对偶问题求解
利用无约束优化问题求解对偶问题,然后从对偶解中复原等式约束问题的解。详见《凸优化(八)——Lagrange对偶问题》。
4.3、等式约束的牛顿法
详见《凸优化(七)——牛顿法》。
五、不等式约束凸优化问题求解
5.1、通过Lagrange对偶问题求解
利用无约束优化问题求解对偶问题,然后从对偶解中复原不等式约束问题的解。《凸优化(八)——Lagrange对偶问题》。
5.2、内点法
主要思路:引进的惩罚函数的在可行域的边界上设置障碍,使求解的迭代过程始终在可行域内部进行。[2]
这里暂不详述,待有时间再学习整理。
附录
A、参考
[1]、《凸优化》,Stephen Boyd等著,王书宁等译
[2]、《什么是内点法》
B、相关目录
凸优化(四)——问题求解
C、时间线
2016-02-29 第一次发布
2016-08-07 修改文章名,重新整理完善