一、最速下降法的理念
最速下降法是梯度方法的一种实现,它的理念是在每次的迭代过程中,选取一个合适的步长
αk
,使得目标函数的值能够最大程度的减小。
αk
可以认为是函数
ϕk(α)=f(x(k)−α∇f(x(k)))
的极小值点:
由梯度迭代公式可知: x(k+1)=x(k)−α∇f(x(k)) , 上式的解释是找到最优的迭代点 x(k+1) , 使得函数 f(x) 取得极小值时,求出步长 αk 。
概述最速下降法的过程:在每一步的迭代中,从点 x(k) 出发,沿着梯度的负方向(求极小值点)展开一维搜索,直到找到步长最优值,确定新的迭代点 x(k+1) 。 最速下降法的相邻搜索方向都是正交的。
二、最速下降法的两个命题和停止条件
2.1 最速下降法的两个命题
命题1 利用最速下降法搜索函数 f:R2→R 的极小值点,迭代过程产生的序列为 {x(k)}∞k=0 , 那么, x(k+1)−x(k) 与 x(k+2)−x(k+1) 正交对所有 k≥0 都成立。
命题2 利用最速下降法搜索函数 f:Rn→R 的极小值点,迭代过程产生的序列为 {x(k)}∞k=0 , 如果 ∇f(x(k))≠0 , 那么 f(x(k+1))<f(x(k)) 。
命题1说明在迭代过程中,没产生一个新点,对应的目标函数值都会下降。命题2说明了最速下降法的下降特性:只要
∇f(x(k))≠0
, 就有
f(x(k+1))<f(x(k))
。对于某个
k
, 如果
2.2 几种停止规则
在实际中,采用数值计算的方法很难恰好得到梯度为0的结果,因此以梯度为0作为停止规则很不恰当。以下, ϵ>0
1. |f(x(k+1))−f(x(k))|<ϵ
2. ||x(k+1)−x(k)||<ϵ
3. |f(x(k+1))−f(x(k))||f(x(k))|<ϵ
4. ||x(k+1)−x(k)||||x(k)||<ϵ
5. |f(x(k+1))−f(x(k))|max{1,|f(x(k))|}<ϵ
6. ||x(k+1)−x(k)||max{1,||x(k)||}<ϵ
上边的3,4式为1,2式的相对值,而5,6式是为了避免3,4式中的分母过小进行的修改。
三、二次型中最速下降法的应用
首先,二次型的目标函数为
其中, Q为对称正定矩阵(假设),b∈Rn,x∈Rn, 故有:
令:
则,最速下降法的迭代公式:
其中,
当目标函数是二次型函数时,可以确定 x(k) 处的步长 αk 的解析式。当 g(k)=0 时,迭代停止,当 g(k)≠0 时,利用局部极小点的一阶必要条件可得:
ϕ′k(α)=0 时, αg(k)TQg(k)=(x(k)TQ−bT)g(k) ,因为 Q 对称, Q=QT ,得:
所以:
所以,目标函数为二次型函数时,最速下降法的迭代公式为:
其中,