1. 一维搜索
最优化问题一般选择某一组变量,然后在满足一定的限制条件下,求出使目标值达到最优(最大或最小)的变量值。大部分时候,最优化问题都采用迭代计算的方式来求解。而大多数迭代下降算法都具有的共同点是在得到某次迭代点 x k x^k xk后,需要按照一定规则来确定一个方向 d k d^k dk,沿着该方向在直线上求函数的极小点得到下一个迭代点 x x xk+1 。
这样不断在一维的目标函数上,求其在各迭代点的直线方向上的极小点,直到求出问题最优解的方式就被称为一维搜索,或者线搜索。其一般过程可用如下公式表示:

其中 d k d^k dk 表示在这一步的搜索方向,步长因子 λ λ λ 决定了沿着该方向前进多远,这两者共同决定了该搜索算法的好坏。一维搜索的算法有好多种,以下介绍几种常见的。
2. 最速下降法
上文中的一维搜索( x x xk+1 = x k x^k xk + λ d k λd^k λdk)可归结为单变量函数的最优化问题,也是最速下降法的基础。其迭代过程中最重要的就是为下次迭代选择一个合适的方向 d k d^k dk。
人们利用了梯度方向是函数值增长最快的方向的思想,来让迭代点沿着负梯度方向前进,保证函数的“最速”下降。
以下直接给出公式:

在最速下降法中,步长 λ λ

本文详细介绍了优化算法中的一维搜索、最速下降法、Newton法以及共轭梯度法。最速下降法利用负梯度方向确保函数的最快下降,但收敛速度慢;Newton法通过二阶导数调整搜索方向,收敛速度快,但计算量大;共轭梯度法则结合两者优点,尤其适用于二次函数。各种方法各有优劣,实际应用中常结合使用以提高效率。
最低0.47元/天 解锁文章
3199

被折叠的 条评论
为什么被折叠?



