梯度下降方法
搜索方向的一个自然选择是负梯度方向
算法 9.3(梯度下降方法) 给定初始点
- 令
。 - 直线搜索:通过精确或回溯直线搜索选取步长
。 - 更新:
。
重复上述步骤直至满足终止准则。
终止准则通常为
收敛性分析
采用简化记号
即
精确直线搜索分析
假设使用精确直线搜索,对上述不等式两端关于
再结合
递归应用该不等式,有
其中
次迭代即可使
这个界虽然粗糙,却能揭示梯度方法的一些性质。分子
上述界表明误差
回溯直线搜索分析
对回溯直线搜索,可以证明回溯终止条件
在
与精确直线搜索的情形一样处理,可以得到
即
例子
中的二次问题
考虑
显然最优点为
从
以及
对这个简单例子,收敛恰好是线性的:误差每次迭代精确地按因子
待配图:对应教材图 9.2 ——
的若干条等高线,以及从 出发的精确直线搜索梯度法迭代点;下水平集(椭圆)的条件数恰为 10。
中的非二次问题
考虑
采用参数
改用精确直线搜索(同一问题、同一初始点)后收敛同样近似线性,但速度大约快一倍:15 次迭代中误差下降约
待配图:对应教材图 9.3、图 9.4、图 9.5 —— 该问题的等高线与回溯/精确直线搜索的迭代点,以及误差
随迭代次数 的变化曲线。
中的问题
考虑规模更大的例子:
其中
关于回溯参数的影响:固定
待配图:对应教材图 9.6 —— 该问题的误差随迭代次数变化曲线(回溯与精确直线搜索对比)。
梯度方法与条件数
将上述问题做变量替换
得到一族以
待配图:对应教材图 9.7、图 9.8 —— 所需迭代次数以及最优点处 Hessian 条件数随
的变化曲线。
结论
由这些数值实验可以得到如下结论:
- 梯度方法常常呈现近似线性收敛,即误差
近似按几何级数收敛到零。 - 回溯参数
、 的选择对收敛有明显但并不剧烈的影响。精确直线搜索有时能改善梯度方法的收敛,但效果不大(通常不值得为它增加实现代价)。 - 收敛速度强烈依赖于 Hessian(或下水平集)的条件数。即使条件数只是中等偏大(例如在几百的量级),收敛也可能非常慢;条件数更大时(例如 1000 或更多),梯度方法慢到在实际中毫无用处。
梯度方法的主要优点是简单;主要缺点是收敛速度对 Hessian 或下水平集的条件数过于敏感。