1。 最速下降法及其在MATLAB中的实现
1。1 最速下降法的基本思想
1847年,著名的数学家Cauchy提出了最速下降法[4]。也就是
其优缺点突出,优点是方法比较简单、计算量存贮量少,缺点是收敛慢,效率不高,有时达不到最优解。众多有效算法都是以它为基础进行修改和修正得到的。
最速下降法的基本思想是:假设:一阶连续可微的函数。首先我们给出初始,我们把搜索作为函数处的最速下降方向。由Taylor展示知
-=
我们不计的高阶无穷小项,通过梯度的几何意义,可以得出处的负梯度方向时下降的速度是最快的。下面我们可以给出求解无约束优化问题的最速下降法:
第 1 步 选择一个初始点,给出其误差精度﹥0,令;文献综述
第2步 计,如果,停止运算,得出,否则的话到第3步;
第 3 步 取;
第 4 步 通过精确一维搜索,可以求出,得
令,,转第2步。
注 在理论分析中,我们取作为算法的终止规则,但是在实际计算中,终止规则由来代替,其中是容许误差。可以通过使用精确线搜索方法确定出步长因子,也可以采用非精确线搜索方法求得。这两种方法都能符合其全局收敛性,由于最速下降法与目标函数的负梯度方向是一致的,则可以使用精确线搜索的方法,那么
。
是的极小点,那么应满足。
由(1。1)得也就是说最速下降法相邻的两个搜索方向是彼此正交的,即迭代次数的增加,收敛速度越来越慢,在极小点附近沿着一种锯齿形状前进,即产生所谓“拉锯”现象[5]。由于梯度是函数的局部性质,迭代点的移动速度是比较缓慢的。事实上这种情况也并不是偶然的情况,有着必然的联系。为了避免出现锯齿行进的情况,可采用如下方法:
(1)选择较好的初始点进行迭代;来`自+优-尔^论:文,网www.youerw.com +QQ752018766-
(2)首先运用非精确一维搜索迭代一定步数,例如采用一维搜索方法得出最优步长后,取。
最速下降法的全局收敛性定理如下:
定理 1。1[6] 假设连续可微有下界,其梯度函数Lipschitz连续的,最速下降法产生,其中步长因子由精确线搜索或 Wolfe准则,或者由Armijo准则产生,则有。