平时我看起来很坚强,
可是遇到你,我会变成另一个模样。
我不想考虑太多,
因为追随内心,你已经走进我的心墙。
我想让你知道,
我从未想过放手,
只愿陪你到永远。
——畅宝宝的傻逼哥哥
如果一个算法满足这样的性质:任意的初始点 x0∈X 都会产生一个收敛的点序列 {xk}∞k=0 ,那么称该算法是全局收敛的。实际上,如果某些条件不满足,甚至非常有效的算法都会失效。例如算法可能产生不收敛的序列或者收敛的点不是所求的解,存在一些导致算法失败的因素,但是如果我们很清楚的了解他们,那么我们就能采取某些避免失败的措施,所以全局收敛成为理论学者与实践者共同的兴趣。
大部分全局收敛理论处理的是保证全局收敛的环境与条件,其中一个重要的理论如下:
定理1:
令A表示X上的算法并假设初始点
x0
将产生一个无穷序列
{xk}∞k=0
,其中
如果该算法的解集S与下降函数 D(xk) 存在,使得
- 所有点 xk 包含在X的紧子集中
- D(xk) 满足下降函数的定义且
- A的映射对S外的所有点都封闭
那么任何收敛序列 {xk}∞k=0 的极限都是解。
证明: 这个定理的证明分两部分。对a部分,我们假设 x̂ 是任何序列 {xk}∞k=0 子序列 {xk}k∈I 的极限,其中I是整数的一个集合,并且说明 D(xk) 对无限序列 {xk}∞k=0 收敛。对b部分,我们说明 x̂ 是集合S的解。
证明的第二部分非常依赖于魏尔斯特拉斯定理,如果W是紧集,那么序列 {xk}∞k=0 的极限点在W中,其中 xk∈W 。如果集合W是闭的,那么它也就紧集。如果W边界上的所有点都属于W,那么W是闭集。如果W能被一个有限半径的超球包围,那么W是有界集。魏尔斯特拉斯定理的一个结论是 {xk}∞k=0 的任何子序列 {xk}k∈I 的极限位于集合 W¯={xk:k∈I} 中,因为 W¯ 是W的子集,所以它也是紧集。
(a)因为
D(xk)
在X上是连续的且
x̂
是序列
{xk}k∈I
的极限,所以存在正数与整数K使得当
k≥K
时
其中 k∈I ,因此 D(xk) 对子序列 {xk}k∈I 收敛。然而我们还必须证明 D(xk) 对无限序列 {xk}∞k=0 收敛。
对于任意
k≥K
,我们有
如果
k=K
,那么
如果
k≥K
,那么
D(xk)≤D(xK)
,因此
由此可得对任意
k≥K
因此
即当 xk→x̂ 时 D(xk) 相对于无限序列收敛。
(b)假设
x̂
不在解集中,因为子序列
{xk+1}k∈I
的元素属于属于紧集,根据魏尔斯特拉斯定理可知存在紧子集
{xk+1:k∈I¯⊂I}
使得
xk+1
收敛到极限
x¯
。根据部分(a),我们说明了
因此
另一方面
根据假设
x̂ ∉S
,并且A对S外的点是闭的,我们有
因此
得出矛盾,因为 {xk}∞k=0 的任何收敛子序列的极限是解。
对于简单的情况,上面的定理说明,如果
- 算法生成的点在有限的 En 空间中
- 可以找到满足要求的下降函数
- 算法在解邻域的外边是封闭的
那么算法是全局收敛的。进一步,我们可以在有限次迭代下得到近似解,因为 {xk}∞k=0 的任何有限子序列的极限都是解。
定理1的推论同样非常重要:
推论1: 如果定理1的条件成立,解集S由一个点 x̂ 组成,那么序列 {xk}∞k=0 收敛到 x̂ 。
证明:
如果我们假设有一个子序列
{xk}k∈I
不收敛到
x̂
,那么对于所有的
k∈I,ε>0
,
集合 {xk∈I′⊂I} 是紧集, {xk}