最近痴迷于科研,好久没有更新博客了,马上就要参加数学建模比赛,自己动手写了一下目前比较主流的几种启发式优化算法,在这里分享下,同时作为复习总结。
相信大家对优化问题已经再熟悉不过了,我们在生活中经常会遇到各种优化问题,比如我经常会考虑自己一天怎么才能花更少的钱、吃更多更好的饭,因此为了解决这种问题,各类的优化算法被提出,其中包括局部优化算法,也包括全局优化算法。下面将简单介绍一下常见的优化算法:
1.梯度下降法
相信学习机器学习的同学对梯度下降算法已经在熟悉不过了,其实梯度下降法的优化思想也很简单,其实就是将当前位置的负梯度方向作为搜索方向进行最优化搜索(梯度方向是函数上升最快的方向)。
虽然作为应用广泛的优化算法,但是梯度下降算法同样存在缺点:靠近极小值时会导致搜索速度的下降,导致搜索时间较长。
2.牛顿法和拟牛顿法
牛顿法是一种在实数域和复数域上近似求解的方法,而拟牛顿法则是改善牛顿法每次求解复杂的Hessian矩阵的逆矩阵的缺点,它使用正定矩阵来近似Hessian矩阵的逆矩阵,从而简化了计算的复杂度。这里就不具体介绍,具体参考