1. 引言
对于大型线性最小二乘问题
(1)
其中系数矩阵
列满秩,
。
,为其唯一最小范数最小二乘解,其中
表示
的Moore-Penrose广义逆。众所周知,线性最小二乘问题在数学上等同于正规方程
,也等价于无约束二次优化问题
(2)
对于矩阵
,
、
和
分别代表矩阵的第j列、2范数以及F范数,
表示第i个坐标向量,
表示第k次迭代向量的第j个元素,用
表示
最小的正特征值。
最小二乘问题在岭回归[1]-[3],计算机断层扫描[4]-[6],机器学习[7],生物特征选择[8]及其他领域都有广泛的应用[9]-[12]。对于最小二乘问题(1),坐标下降法是求解这一类问题的重要方法之一,它将经典的Gauss-Seidel迭代方法直接应用于求解(2) [13]。在2009年Strohmer和Vershynin [14]最先通过随机选择系数矩阵A的一行作为工作行提出随机Kaczmarz算法。2010年Leventhal和Lewis [15]受此启发,通过随机选择系数矩阵A的一列作为工作列提出随机坐标下降(RCD)方法。之后,随机坐标下降法被进一步推广或拓展[16]-[18]。2019年Bai和Wu [19]用了一种更有效的概率准则选取系数矩阵A的列,提出了贪婪随机坐标下降法(GRCD)。本文中在GRCD的算法分析中引入松弛因子,构造求解系统(1)的含参数的GRCD算法,并给出了该算法的收敛性。
2. 参数的贪婪随机坐标下降算法
Bai和Wu提出了求解大型线性最小二乘问题(1)的GRCD方法,该算法如下。
算法1 GRCD算法
输入:
和
输出:
1:对
做
2:计算
3:构造集合
4:令
,根据如下公式计算
5:依概率
选择
6:计算
7:结束
本文中含参数的GRCD算法(GRCD(ω))是在GRCD算法迭代公式中添加一个参数
,见如下算法2。
算法2 含参数的贪婪随机坐标下降法
输入:
和
输出:
1:对
做
2:计算
3:构造集合
4:令
,根据如下公式计算
5:依概率
选择
6:计算
7:结束
注1:上述算法中依概率选取工作列时采用Matlab的randsrc命令。
注2:当
时,GRCD(ω)算法简化为GRCD算法。
3. GRCD(ω)算法收敛性分析
关于算法2有如下收敛定理。
定理1对于线性最小二乘问题(1),设
。那么由算法2迭代生成的序列
依期望指数收敛到
,且解误差依期望满足
(3)
以及
(4)
这里用
表示前k次迭代的期望值,即
,
表示算法在第l次迭代时选择的第
列,同时也易知
。
证明:令
,则
由
的定义,可知
,因此
(5)
又
由
的定义可知,若
,则
,即
因此
即
对(5)式左右两边求期望可得
(6)
上式最后一步是由下面的不等式得到
又由于
因此
,
,
对(6)式进一步估计,可得到
因此(3)式得证。
对上式两边求全期望可得
又由上式可得
即
最后(4)式得证。
4. 数值实验
在本节中,我们通过数值实验来验证GRCD(ω)方法的有效性,所有的数值结果均是使用软件MATLAB(版本R2022b)完成的,所使用的计算机搭载Windows10操作系统和16 G内存以及3.00 GHz中央处理器(Intel I CoITM) i5-12500 CPU。
用GRCD方法和GRCD(ω)方法求解线性最小二乘系统(1)的算法算例是由Matlab函数randn服从标准正态分布n(0, 1)随机生成的矩阵,以及从文献中选取的5个具有应用背景的稀疏矩阵[20]。分别是Worldcities、divorce、cage5、Cities、abtaha1。
GRCD(ω)和GRCD方法的迭代步骤表示为IT,运行时间以秒为单位表示为CPU。表格中IT和CPU是重复运行50次所需迭代步骤数和CPU时间的中位数,为了直观地展示GRCD(ω)方法的优势,我们将GRCD(ω)方法相对于GRCD方法的加速定义为:
,以此表示GRCD相对于GRCD(ω)在计算时间这一指标上的加速程度,其数值越大表明GRCD(ω)对同一测试矩阵加速得越快。对于选取的稀疏矩阵,表7也给出了测试矩阵的一些基本信息,例如矩阵的条件数cond(A),稠密性
。在数值实验中,解向量
是利用MATLAB函数randn(n, 1)随机生成的。当线性系统相容时,令
。当线性系统不相容时取
,其中
是属于
的零空间中的非零向量,null (
)是利用MATLAB函数null生成的。在迭代运算中选取的初始向量为
,当相对误差
或者迭代步数超过10万步迭代停止。
对于随机生成的矩阵,我们将线性系统相容时GRCD和GRCD(ω)方法的迭代步数和计算时间列于表1~3,线性系统不相容时列于表4~6。从这些表中,线性系统是相容的还是不相容的,GRCD(ω)方法在迭代步数和CPU时间方面几乎是优于GRCD方法。我们观察到,当线性系统相容时,加速最大达到1.28;当线性系统不相容时,加速最大为1.26。
对于Davis和Hu的稀疏全秩矩阵,在表7和表8中分别列出了线性系统相容时和线性系统不相容时GRCD和GRCD(ω)方法的迭代步数和计算时间。数值实验结果表明GRCD(ω)方法在迭代步数和CPU时间方面都明显优于GRCD方法。在表7中,加速至少为2.55,最大达到5.34;在表8中,加速度至少为1.98,最大达到3.91。
Table 1. The matrix A is randomly generated, when n = 50, m is different, the numerical result of the compatible system is solved
表1. 随机生成矩阵A当n = 50,m不同时求解相容系统的数值结果
|
|
1000 × 50 |
2000 × 50 |
3000 × 50 |
4000 × 50 |
5000 × 50 |
ω |
|
1.04 |
1.03 |
1.01 |
1.01 |
1.01 |
GRCD |
IT CPU |
130.5 0.002578 |
114 0.002676 |
100 0.002805 |
98 0.003731 |
103 0.005030 |
GRCD(ω) |
IT CPU |
120 0.002013 |
108 0.002365 |
99 0.002564 |
97 0.003694 |
100 0.004784 |
Speed-up |
|
1.28 |
1.13 |
1.09 |
1.03 |
1.05 |
Table 2. The matrix A is randomly generated, when n = 100, m is different, the numerical result of the compatible system is solved
表2. 随机生成矩阵A当n = 100,m不同时求解相容系统的数值结果
|
|
1000 × 100 |
2000 × 100 |
3000 × 100 |
4000 × 100 |
5000 × 100 |
ω |
|
1.09 |
1.03 |
1.03 |
1.01 |
1.02 |
GRCD |
IT CPU |
348.5 0.006807 |
246 0.006185 |
239 0.008076 |
213 0.010942 |
216 0.015263 |
GRCD(ω) |
IT CPU |
277.5 0.005704 |
236 0.005671 |
226 0.007313 |
210 0.010639 |
210 0.014583 |
Speed-up |
|
1.20 |
1.09 |
1.10 |
1.03 |
1.05 |
Table 3. The matrix A is randomly generated, and when n = 150, m is different, the numerical result of the compatible system is solved
表3. 随机生成矩阵A当n = 150,m不同时求解相容系统的数值结果
|
|
1000 × 150 |
2000 × 150 |
3000 × 150 |
4000 × 150 |
5000 × 150 |
ω |
|
1.15 |
1.07 |
1.04 |
1.03 |
1.02 |
GRCD |
IT CPU |
612.5 0.013390 |
423 0.013721 |
371 0.018007 |
365.5 0.029131 |
338 0.032732 |
GRCD(ω) |
IT CPU |
476 0.012004 |
389 0.012360 |
354 0.015663 |
353 0.027459 |
325 0.031827 |
Speed-up |
|
1.12 |
1.11 |
1.15 |
1.06 |
1.03 |
Table 4. The matrix A is randomly generated, and when n = 50, m is different, the numerical result of the incompatible system is solved
表4. 随机生成矩阵A当n = 50,m不同时求解不相容系统的数值结果
|
|
1000 × 50 |
2000 × 50 |
3000 × 50 |
4000 × 50 |
5000 × 50 |
ω |
|
1.03 |
1.01 |
1.01 |
1.01 |
1.02 |
GRCD |
IT CPU |
122 0.001985 |
106 0.002142 |
105 0.002708 |
99 0.003863 |
100 0.004740 |
GRCD(ω) |
IT CPU |
118 0.001877 |
105 0.002094 |
103 0.002662 |
97 0.003615 |
96 0.004498 |
Speed-up |
|
1.06 |
1.02 |
1.02 |
1.07 |
1.05 |
Table 5. The matrix A is randomly generated, and when n = 100, m is different, the numerical result of the incompatible system is solved
表5. 随机生成矩阵A当n = 100,m不同时求解不相容系统的数值结果
|
|
1000 × 100 |
2000 × 100 |
3000 × 100 |
4000 × 100 |
5000 × 100 |
ω |
|
1.05 |
1.03 |
1.03 |
1.01 |
1.01 |
GRCD |
IT CPU |
325 0.005651 |
268 0.006633 |
242 0.008443 |
205 0.010361 |
210 0.014445 |
GRCD(ω) |
IT CPU |
283 0.005175 |
241 0.006070 |
226 0.007721 |
201 0.010205 |
207 0.013776 |
Speed-up |
|
1.09 |
1.09 |
1.09 |
1.02 |
1.05 |
Table 6. The matrix A is randomly generated, and when n = 150, m is different, the numerical result of the incompatible system is solved
表6. 随机生成矩阵 × 当n = 150,m不同时求解不相容系统的数值结果
|
|
1000 × 150 |
2000 × 150 |
3000 × 150 |
4000 × 150 |
5000 × 150 |
ω |
|
1.1 |
1.08 |
1.04 |
1.03 |
1.02 |
GRCD |
IT CPU |
602 0.012388 |
457 0.013413 |
386 0.016221 |
358 0.024975 |
333 0.322180 |
GRCD(ω) |
IT CPU |
475 0.009764 |
400 0.011613 |
353 0.015425 |
340 0.023833 |
322 0.030974 |
Speed-up |
|
1.26 |
1.16 |
1.05 |
1.05 |
1.04 |
Table 7. The GRCD(ω) and GRCD methods solve the numerical results of the compatible system in the specific example matrix
表7. GRCD(ω)和GRCD两种方法在具体算例矩阵时求解相容系统的数值结果
名称 |
|
Worldcities |
divorce |
cage5 |
Cities |
abtaha1 |
|
|
315 × 100 |
50 × 99 |
37 × 37 |
55 × 46 |
14596 × 209 |
density |
|
23.87% |
50.00% |
17.02% |
50.34% |
1.68% |
Cond(A) |
|
66.00 |
19.39 |
15.42 |
207.15 |
12.23 |
ω |
|
1.8 |
1.8 |
1.6 |
1.8 |
1.7 |
GRCD |
IT CPU |
3834.5 0.067084 |
594 0.005716 |
2235 0.022035 |
60,142 0.669865 |
10,342 0.554940 |
GRCD(ω) |
IT CPU |
1185.5 0.020597 |
162.5 0.001580 |
760 0.007437 |
11,260 0.123660 |
4063.5 0.554940 |
Speed-up |
|
3.26 |
3.66 |
2.94 |
5.34 |
2.55 |
Table 8. The GRCD(ω) and GRCD methods solve the numerical results of the incompatible system in the specific example matrix
表8. GRCD(ω)和GRCD两种方法在具体算例矩阵时求解不相容系统的数值结果
名称 |
|
Worldcities |
divorce |
Cities |
abtaha1 |
|
|
315 × 100 |
50 × 99 |
55 × 46 |
14,596 × 209 |
density |
|
23.87% |
50.00% |
50.34% |
1.68% |
Cond(A) |
|
66.00 |
19.39 |
207.15 |
12.23 |
ω |
|
1.8 |
1.8 |
1.8 |
1.7 |
GRCD |
IT CPU |
4568 0.077293 |
601 0.005446 |
46,131 0.495157 |
13816.5 0.710776 |
GRCD(ω) |
IT CPU |
1267 0.021641 |
173.5 0.002749 |
11,973 0.130001 |
4283 0.228498 |
Speed-up |
|
3.57 |
1.98 |
3.91 |
3.11 |
5. 总结
本文在GRCD算法的基础上提出了GRCD(ω)算法,分析了算法的收敛性。数值实验结果表明,在选择适当的参数ω后,GRCD(ω)算法在迭代步数和计算时间方面明显优于GRCD算法。