了解迭代方法的“收敛速度”


13

根据维基百科,收敛速度表示为矢量规范的特定比率。我试图了解在不同时间点(基本上是在迭代的“开始”和“结束”)“线性”速率和“二次”速率之间的差异。可以这样说:

  • ek+1xk+1ek

  • 通过二次收敛,迭代的误差的范数以为边界ek+1xk+1ek2

这种解释将意味着,在线性收敛算法A1的迭代次数很少(假设为随机初始化)的情况下,与二次收敛算法A2的迭代次数很少相比,将实现较小的误差。但是,由于误差减小了,并且由于平方,所以以后进行迭代将意味着A2的误差较小。

以上解释有效吗?注意,它忽略了速率系数。λ


1
与二次收敛算法相比,二次收敛算法可能会出现更大的误差,这会使A1算法在给定的迭代次数下更加“准确” ...
FrenchKheldar12年

Answers:


9

实际上,是的。当仍然很大时,速率系数将主导误差而不是q速率。(请注意,这些是渐近速率,因此链接的语句仅将限制保留为。)ekλk

例如,对于优化中的一阶方法,您通常会观察到误差最初会迅速降低,然后趋于平稳。另一方面,对于牛顿法,可能需要一段时间才能使超线性(或二次)收敛开始(毕竟它只是局部超线性收敛)。因此,通常先从几个梯度步骤开始,然后再切换到牛顿方法,或者使用同态或准牛顿方法,它们最初起初是一阶方法,而在您接近时会变成牛顿方法。目标。


11

除了Christian的答案外,还值得注意的是,对于线性收敛,如果方法收敛,则具有,其中。另一方面,对于二次收敛,您具有并且方法收敛的事实并不一定意味着必须小于一个。相反,收敛的条件是ek+1λ1ekλ1<1ek+1λ2ek2λ2λ2e1<1-即您的开始猜测足够接近。这是通常观察到的行为:需要从解决方案“足够近”启动二次收敛算法以收敛,而线性收敛算法通常更健壮。这是为什么人们通常在切换到更有效的算法(例如,牛顿法)之前先从线性收敛算法(例如,最速下降法)的几步开始的原因。


6

该解释在质量上是正确的。

请注意,线性和二次收敛是针对最坏情况的,尽管定性情况通常与该分析相对应,但是特定算法中的情况可能比从Wolfgang Bangerth给出的最坏情况分析中得到的情况要好。

在具体算法中(例如,在优化中),首先使用便宜但仅线性收敛的方法进行迭代直到进度变慢,然后再使用二次(或至少超线性)收敛的方法来完成通常是有意义的。在实践中,仅因为初始的,缓慢收敛的部分趋于主导整个工作,所以超线性收敛往往与二次收敛一样好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.