步控制介绍
即使是局部模型以实际的Hessian为基础的 牛顿法,除非已经接近根或者极小值,否则模型的步骤可能不会使您更接近解. 下面的问题,就是一个简单的例子.
| In[1]:= |
| In[3]:= |
| Out[3]= | ![]() |
一个良好的步控制算法可以避免出现重复的情况或从接近根或极小值附近的区域远离的情况. 然而,与此同时,当基于模型函数的步骤适当时,步长控制算法不应对它们进行限制,否则,算法的收敛速度将受影响. 两个常用的步长控制算法是 线搜索 和 信赖域 方法. 在一个线搜索方法中,模型函数给出一个步骤方向,然后沿着这个方向搜索以找到一个可以达到收敛的适当的点. 在信赖域方法中,每一步要更新一个距离,而在这个距离内模型函数是被信任的. 如果模型步骤位于该距离之内,则可以被使用;否则,模型函数在信赖域边界上的极小值将被使用. 一般来说,信赖域方法更稳健,但是它们需要更多的数值线性代数运算.
这两个步控制方法在原先是在考虑极小化问题时发展出来的. 然而,当与优值函数一起使用时,它们也能够很好地运用于非线性函数的求根运算. 在 Mathematica 中,使用的是2-范数优值函数
.


