1. 引言
设
是一个实Hilbert空间,
和
分别为其内积及诱导的范数。设
是
的一个非空闭凸子集。映射
称为非扩张的,即
.
集合
代表映射
的不动点集。
本文我们主要考虑如下不动点问题:寻找
,使得
,其中
是不动点非空的非扩张映射。求解非扩张映射不动点问题是优化理论、非线性分析及其在信号处理、机器学习等领域应用中的一个核心课题。经典的求解不动点的方法有Picard迭代算法。但该算法仅适用于压缩映射,对于非扩张映射可能不收敛。
一种著名的求解非扩张映射不动点方法是Krasnoselskii-Mann迭代[1]-[3] (之后简称为KM迭代)。选定初始点
,该迭代更新步骤为:
, (1)
其中,
,由(1)所定义的序列
在
的条件下弱收敛于
的不动点。
基于上述KM迭代,Kanzow [4]等人于2017年进一步提出了广义KM迭代,给定初始点
,迭代步骤为:
, (2)
其中,
,
,
被称为残差向量。由(2)定义的序列
弱收敛于
的不动点的充分条件为:
,
及
。
Halpern迭代是另一种求解非扩张映射不动点的有效方法。它最早于1967年由Halpern [5]提出。关于Halpern迭代进一步的研究见文献[6]-[9]。基于KM迭代和Halpern迭代,Kim和Xu [10]提出了一种修正Mann迭代并证明了该算法的强收敛性。其主要步骤如下:
(3)
其中,
,
。该迭代的收敛性条件见文献[10]。
一般而言,Mann迭代的收敛速率是比较慢的。惯性加速是一种著名的加快收敛速率的方法,它最早由Polyak [11]提出。Mainge [12]首次提出了惯性Mann算法,该算法由KM迭代和惯性加速结合。惯性加速也被用于分裂算法中,例如惯性Douglas-Rachford分裂算法[13]和惯性前向后向分裂算法[14]。Tan [15]等人通过引入惯性项改进了算法(3),提出了一种修正惯性Mann Halpern算法,其迭代形式为:
(4)
其中,
,
。由算法(4)定义的序列
在一定条件下是强收敛的,具体细节见文献[15]。
除了一步惯性以外,多步惯性加速也被一些研究者讨论。Iyiola [16]等曾指出一步惯性在某些可行性问题下可能存在加速失败的情况。在文献[16]中,他们提出了两步惯性临近点算法并证明了算法的弱收敛性。在[16]的数值实验中,两步惯性临近点算法比一步惯性临近点算法收敛更快。这表明两步惯性的应用是有意义的。两步惯性可表示为:
,
其中
,
。
受Kanzow [4]和Iyiola [16]启发,本文推广了Tan [15]提出的算法,提出了广义修正两步惯性Mann Halpern算法:
(5)
其中,
,
,
且
。算法(5)在算法(4)的基础上添加了两步惯性项并推广了Mann迭代步的系数,在取值上更为灵活。
本文的结构如下:在第二节,我们会给出一些证明定理所用到的引理。在第三节,我们将证明在一定条件下广义修正两步惯性Mann Halpern算法的强收敛性。在第四节,我们将用算法(4)和算法(5)去求解凸可行问题并比较它们的表现。
本文中,序列
强收敛于
记为
,序列
弱收敛于
记为
。本文中,均假设
是非扩张的且
。符号
表示实Hilbert空间中
在集合
上的投影,即
。
2. 预备知识
本节将给出一些后续证明所需要的引理。
引理1.
,有以下事实:
1)
;
2)
,
;
3)
。
引理2. [17]设
是实Hilbert空间
中的一个非空闭凸集,
:
是一个非扩张映射,
。
中的序列
满足
时,
且
,则
。
引理3. [14]设
是非负实序列且满足:
及
,
其中,
是(0,1)的序列,
是非负实序列。若实序列
,
满足以下三个条件:
1)
,
2)
,
3)
的任意子序列
满足
蕴含
。
则
。
3. 算法及收敛性分析
本节将分析在一定条件下广义修正两步惯性Mann Halpern算法的强收敛性。我们再给出广义修正两步惯性Mann Halpern算法的迭代步骤:
(6)
定理3.1:设
是实Hilbert空间
中的一个非空闭凸集,
是一个非扩张映射且
至少有一个不动点。取
,序列
且
。若下述条件成立:
(C1)
,
(C2)
,
(C3)
且
,
(C4)
。
对于
。由算法(6)生成的序列
强收敛于
。
证明:我们先证明
有界。取
,则
. (7)
由(7)得,
(8)
第二个不等式成立是因为
是非扩张的且
。除此之外,
(9)
将(8)和(9)代入(7)式得到,
由条件(C2),我们可以推得
可以足够小,设
,
则
。又由于
,我们得到,
进而,
.
结合条件(C3)和条件(C4)可得,
.
则
有界。又由于,
结合条件(C1)和条件(C2),可以推得
是有限的。类似地,
也是有限的,从而
是有界的。
是非扩张的,则
,这说明
是有界的。
接下来,我们将证明
强收敛于
。由
的定义及引理1(1)可得,
(10)
再由
的定义及引理1(1),(2)可知,
(11)
(11)式中的第二个不等式是因为
是非扩张且
。为方便讨论,我们记
.
由
的定义知,
(12)
第一个和第二个不等式分别由引理1 (3)和Cauchy-Schwarz不等式得到。注意到
,将等式(11)和(12)代入(10)可得,
(13)
又因为
,可以进一步得到
(14)
以及
(15)
令
,
,
因为
,
,
且
有界,结合条件(C1),(C2),(C3),(C4)可以得到,
,
.
从而,引理3的前两个条件满足。只需证明
蕴含
,
为
的任意子序列。
取
的一个子序列
满足
。由条件(C3)可知,
. (16)
由条件(C2),取
,有
(17)
因为
有界,则存在
的子序列
满足
且
。
由(17)可知
。结合(16)及引理2可推得
。再由
及投影的性质可得
,这意味着
. (18)
除此以外,
由,条件(C3),(C4),可以推得
。结合(18)可知,
。因为,
,
于是
,这说明
.
再由条件(C3),(C4)可得,
.
所以,
。由引理3可得
,所以序列
强收敛于
。
4. 数值实验
本节我们将用算法(4)和算法(5)求解凸可行问题并比较它们的表现,所有实验均用Matlab2020a编写,程序运行环境为Lenovo笔记本电脑,CPU型号为Inter (R) Core(TM) i5-10200H CPU@2.40 GHz,运行内存为16.00GB RAM。
下面简述凸可行问题[18]。给定一组非空闭凸集
,凸可行问题是指:
寻找
(19)
其中
,定义映射
,
(20)
其中,
代表
上的度量投影。由于
是非扩张的,可以推得
是非扩张的且
对于凸可行问题(19)而言,一种经典的解法就是求解由(20)定义的映射
的不动点[19]。
在这节实验中,我们设
是一个闭球,其球心为
,半径为
。于是,
的度量投影为:
令
,取
,
,
,
,剩余的
,
,即
的每个分量按均匀分布随机得取于
。从上述的选择,我们可以推得
。
下面给出算法(4) (记作MIMHA)和算法(5) (记作G2IMMH)实验参数的选择和停止准则的设置。
实验参数的选择:G2IMMH参数选取为,
,
,
,
,
,
,
.
MIMHA的参数选取为,
。
同G2IMMH。
输入和停止准则设置:初始值
是服从(0, 1)均匀分布的随机向量。MIMHA的初始值设为
。G2IMMH的初始值设为:
。定义
,设
。停止准则设为:
.
在实验中,我们记凸集个数和向量空间的维数为
,一共进行十组实验,每组实验重复5次再取平均值。
表1为10组数据的结果。表1中,Iter表示迭代次数,CPU运行时间的单位为秒。图1是
,
情况下的误差图像,图中Proposed代表本文提出的算法G2IMMH。从表1和图1中,我们可以看出G2IMMH能有效求解凸可行问题且它的迭代次数和CPU运行时间比MIMHA更少,这说明G2IMMH在一定的情况下比MIMHA更有优势。
Table 1. Experimental results in different dimensions
表1. 不同维度下的实验数据
|
MIMHA |
G2IMMH |
Iter |
CPU Time |
Iter |
CPU Time |
(50; 50) |
111,948 |
4.45 |
37,337 |
1.49 |
(100; 100) |
165,173 |
13.00 |
37,666 |
2.98 |
(150; 150) |
183,481 |
22.61 |
38,362 |
4.75 |
(200; 200) |
205,149 |
35.49 |
38,381 |
6.67 |
(250; 250) |
198,346 |
45.26 |
38,858 |
8.86 |
(300; 300) |
219,213 |
59.27 |
39,196 |
10.54 |
(350; 350) |
253,986 |
84.40 |
39,067 |
12.82 |
(400; 400) |
224,138 |
90.07 |
39,124 |
16.01 |
(450; 450) |
199,758 |
97.63 |
39,175 |
19.17 |
(500; 500) |
216,043 |
117.64 |
39,584 |
22.65 |
Figure 1. Graph of error under the condition that
and
图1.
,
时的误差图像
5. 总结
本文提出了一种广义修正两步惯性Mann Halpern算法并在合适的条件下证明了它的收敛性。在求解凸可行问题的数值实验中,和文献[15]中的算法进行了比较,实验结果表明本文提出的算法在解决该实验问题中更有优势。在未来的研究中,我们还会将该算法运用到Douglas-Rachford分裂算法中并用于求解一些实际问题,比如图像处理,矩阵优化及机器学习等。我们也将进一步研究该算法的收敛速率。