2. 最速下降法的改进
诚然,最速下降法在靠近极小点时收敛得慢,但仍能够通过少许措施来加快收敛速率.
下面来说明怎样改进最速下降法.
由上文我们了解到,最速下降法“锯齿现象”的发生是因为相邻的两个迭代点下降的方向正交了,这是不可避免的,我们不妨通过增添少许步骤来抑制“锯齿现象”.
2.1 改进算法的基本思想
该改进算法在最速下降法的基础上,保留第 个迭代点的数值,试图在 方向上进行一文线性搜索,获得一个比用负梯度方向上搜索到的迭代点更好的迭代点. 因为第 个迭代点指向第 个迭代点的方向也可以使函数值下降,其本质并没有改变.
2.2 改进的最速下降法的计算步骤
具体的计算步骤如下:
(1)选定一个初始点 并给定精确要求 ,令 , , .
(2)计算方向 ,若 ,则停止计算, ;否则,从 出发,沿 方向作一文线性搜索,并求出步长 ,使得
,
若 且 ,转步骤(3),否则转步骤(5).
(3)令 ,从 点出发,沿 方向作一文线性搜索,求出步长 ,使得
.(4)若 ,令 , , , ,转步骤(2);否则,令 ,转步骤(5).
(5)令 ,令 , ,转步骤(2).
2.3 改进算法的收敛性证明
下面来证明该改进算法的收敛性.
按照最速下降法的收敛性定理,得到以下定理3[11].
定理3 设 是连续可微实函数,解集合 ,改进的最速下降法产生的序列 含于某个紧集,则序列 的每一个聚点 [11].
证明 不妨把改进的最速下降法表示成如下形式: ,其中, 是一个 映射. 给定一个点 ,经过算法 作用,得到点 和在点 处的最佳搜索方向. 算法 是 映射. 每给定一点 及方向 ,经 作用,即一文线性搜索,得到一个新的迭代点.
可证明这个点与它前面的迭代点对比,有较小的目标函数值.
定义映射 . 当 时, ,否则 , .
每一个迭代点都有两个可能的方向来移动,一个是沿负梯度方向移动,而另一个则是沿方向 移动. 按照映射 的定义,
若 ,则 , .
由 , 易知, , 也是在点 处的下降方向.
在该方向上进行一文线性搜索,使得 ,因此 Matlab研究最速下降法求解无约束最优化问题的一类修正方法(3):http://www.751com.cn/shuxue/lunwen_7441.html