在本系列的机器学习与运筹优化基础笔记中,我们主要介绍了机器学习中常见的几种优化算法。作为系列的完结篇,我们来总结一下连续优化问题中的常见算法。
1. 无导数优化方法
1.1选点法,如蒙特卡洛方法,黄金分割法等
1.2子空间迭代法,如JFNK算法等
1.3智能优化方法,如模拟退火,粒子群,遗传算法等
1.4 其他
2. 一阶导数优化方法(包括次梯度和投影)
2.1梯度下降法,其中包括精确步长梯度法,如最速下降法,BB法等;以及非精确步长梯度法,如Heavy ball法,momentum,nesterov,adam等,用于小规模问题
2.2坐标下降法与随机梯度下降法等,对于大规模问题减小梯度法的计算量
2.3次梯度法,如次梯度投影法等,用于次可微函数
2.4拟牛顿法,如PFP法,BFGS法,L-BFGS法等,近似Hessian矩阵减少计算量,用于大规模问题
2.5共轭梯度法,复杂度只有O(n),用于大规模问题
2.6椭球法,用于拟凸函数问题
2.7罚函数法与拉格朗日乘子法,把约束条件当做惩罚项或考虑鞍点问题,用于约束优化问题
2.8投影法,如投影梯度法,ADMM,PDHG等,用于不可微函数的约束优化问题
2.9 其他
3. 二阶导数优化方法
3.1牛顿法,用于Hessian矩阵计算量不大的小规模问题
3.2序列二次规划法(SQP),用于约束优化问题
3.3内点法,用于约束优化问题,也有内点法属于一阶优化算法
3.4 其他
4. 其他(机器学习不常见的传统优化领域算法)
4.1信赖域法,与以上的线搜索方法不同的思路
4.2线性规划方法,如单纯形法,最大流与最小割算法等
4.3半定规划方法(SDP),与上述算法有很多结合
4.4组合优化方法
4.5量子优化方法,如量子退火,量子半定规划(QSDP),量子逼近优化算法(QAOA)等
4.6 其他
作为基础到不能再基础的机器学习与运筹优化学习笔记,前几期只是对上述算法中有代表性的几个进行了简单介绍,还有很多不同观点的优化算法没有包含在内,如mirror descent等。感兴趣的欢迎查阅。
最后,火龙果一号也为柚子优化打call,对优化感兴趣的欢迎和量子星图的火龙果一号和柚子优化联系交流~作者水平有限,不准确之处欢迎各位指出。完结撒花~
参考文献:
[1]Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
[2]袁亚湘, 孙文瑜. "最优化理论与方法." 科学出版社, 1997 年 1 月 (1997).
作者:火龙果一号
编辑:蜜汁酱
领取专属 10元无门槛券
私享最新 技术干货