1. 项目概述:当随机性遇见线性代数
如果你在机器学习、数据科学或者大规模科学计算领域摸爬滚打过一段时间,大概率会对一个场景感到头疼:面对一个维度动辄百万甚至上亿的巨型矩阵,一个看似简单的操作,比如求逆、解最小二乘问题或者做低秩分解,其计算复杂度和内存消耗都足以让最强大的硬件望而却步。传统的确定性数值线性代数方法,如基于QR分解或SVD的算法,其复杂度通常是数据维度的三次方(O(n³)),这在“大数据”时代几乎成了不可承受之重。
正是在这种背景下,随机数值线性代数(Randomized Numerical Linear Algebra, RandNLA)从理论走向了工程前沿。它的核心思想非常直观:既然处理整个大矩阵太昂贵,我们能否只用一个精心构造的、小得多的“样本”或“草图”来代表它,并在这个小样本上完成计算,从而得到一个对原问题足够好的近似解?这听起来像是一种“投机取巧”,但背后的数学却异常坚实。它并非简单的随机抽样,而是建立在子空间嵌入(Subspace Embedding)等强有力的概率保证之上。简单来说,一个良好的随机草图,能以极高的概率保持原矩阵关键子空间(如列空间或行空间)的几何结构。这意味着,在这个压缩后的空间里进行的线性代数运算(如求解线性系统),其结果与原空间的结果在误差可控的范围内是一致的。
这项技术的价值远不止于“加速”。在机器学习优化领域,传统方法如随机梯度下降(SGD)虽然广泛使用,但其固有的高方差和对超参数(如学习率)的极端敏感常常导致训练过程不稳定,收敛缓慢,尤其在接近最优解时。RandNLA提供了一套系统性的工具箱,通过梯度草图(Gradient Sketch)和Hessian草图(Hessian Sketch)等技术,将随机性从一种“不得已的噪声”转变为一种可设计、可分析的“计算资源”。它能够为优化过程注入更准确的曲率信息,实现隐式预条件,从而显著提升算法的稳定性和收敛速度。
更令人兴奋的是现代RandNLA的发展,它超越了早期简单的随机投影。例如,确定性点过程(Determinantal Point Processes, DPPs)作为一种非独立同分布的采样方法,能够生成“多样化”的样本,在理论上匹配甚至超越了高斯随机草图在某些任务上的性能。同时,与现代随机矩阵理论(RMT)的结合,使得我们可以对算法行为进行更精细的、非渐进的分析,揭示出传统最坏情况分析所掩盖的“多重下降”等现象。
本文旨在为你拆解RandNLA的核心机制,从最基础的子空间嵌入保证,到如何将其应用于构建高效的梯度/Hessian草图以革新随机优化,再到DPPs等现代采样方法的原理与应用。无论你是希望为你的大规模模型寻找更稳健的求解器,还是想深入理解随机性如何被“驯服”以服务于计算,这里都将提供一套可直接参考和实践的框架。我们将避开繁复的定理证明,聚焦于为什么这些方法有效、具体如何操作以及在实践中会遇到哪些坑。
2. 核心基石:子空间嵌入与随机矩阵理论
在深入应用之前,我们必须夯实基础。RandNLA所有美妙应用的起点,都源于一个核心概念:子空间嵌入。理解它,就理解了RandNLA一半的威力。
2.1 子空间嵌入:压缩而不失真
想象一下,你有一个非常高瘦的矩阵A(维度 n×d, n >> d),它的列张成了一个d维的子空间。我们想在这个子空间上解决一个最小二乘问题min ||Ax - b||。传统方法需要处理整个A,复杂度至少是 O(nd²)。子空间嵌入的想法是,找到一个随机矩阵S(维度 s×n, s 略大于 d),使得压缩后的矩阵SA几乎保留了A列空间的所有几何信息。
形式化定义:一个随机矩阵S被称为A的一个 (ε, δ) 子空间嵌入,如果对于所有向量x,都有以下概率保证:Pr[ (1-ε) ||Ax||² ≤ ||SAx||² ≤ (1+ε) ||Ax||² ] ≥ 1 - δ其中 ε 是相对误差,δ 是失败概率。
这意味着,S以很高的概率近似保有了A列空间中所有向量的长度。一个直接且强大的推论是,在SA上求解的最小二乘解x̃ = argmin ||S(Ax - b)||,会非常接近在原问题A上的最优解x*。误差界限可以通过 ε 来控制。
为什么这可行?关键在于随机矩阵的谱性质。例如,一个元素独立同分布取自标准正态分布的矩阵S(高斯草图),被证明是优秀的子空间嵌入。但它的缺点是生成和应用SA的成本是 O(nds),虽然比 O(nd²) 好,但对于巨大的n仍然可观。
2.2 现代RMT与高效草图:从高斯到LESS
这就引出了现代RandNLA的贡献:设计计算效率更高、同时仍能提供强大理论保证的草图矩阵。现代随机矩阵理论(Modern RMT)为我们提供了分析这些非高斯草图工具的理论武器。
一个重要的进展是LESS 嵌入(Leverage Score Sparsified Embeddings)。与稠密的高斯矩阵不同,LESS 矩阵是高度稀疏的,并且其非零元素的位置和值是根据原矩阵A的杠杆得分(Leverage Scores)来设计的。杠杆得分l_i度量了数据矩阵第i行的重要性(其统计影响力)。直观上,对高杠杆得分的行,我们在草图中应给予更高概率的保留或更大的权重。
LESS 的工作原理:
- 预计算:首先快速估算矩阵
A的杠杆得分(可通过随机投影等方式在近线性时间内完成)。 - 构造草图:根据这些得分,以非均匀的概率采样行,并对选中的行进行重新加权,构造一个
s×n的稀疏矩阵S。 - 理论保证:基于现代RMT的分析表明,对于这样的
S,计算草图SA的成本可以降低到近线性时间Õ(nd + sd²)。更重要的是,它能恢复与高斯草图类似的关键性质。例如,对于求逆问题,可以证明(s/(s-d) * AᵀSᵀSA)⁻¹是(AᵀA)⁻¹的一个 (ε, δ)-无偏估计量,且误差 ε = O(√(d/s)),这与高斯草图的理论保证(定理)相匹配。
实操心得:在实践中,直接使用高斯草图进行原型验证是没问题的,因为它实现简单且理论最干净。但当处理真实大规模数据时,务必考虑切换到像LESS这样的快速草图方法。许多现代数值线性代数库(如SciPy的
sketch模块或专门的RandNLA库)已经实现了这些高效草图。关键是要理解,杠杆得分是连接数据几何与采样概率的桥梁,利用它才能实现“智能”压缩。
2.3 限制性Bai-Silverstein不等式:方差控制的关键
这是现代理论中一个不那么直观但至关重要的部分。在分析随机二次型(例如xᵀ (SᵀS) x的方差)时,我们需要强大的概率工具来约束其波动。经典的有Hanson-Wright不等式,而限制性Bai-Silverstein不等式是针对我们这里遇到的随机矩阵谱范数集中现象的一个关键新工具。
它本质上为随机二次形式的方差提供了一个更紧的上界。这个不等式的重要性在于,它允许我们对那些不是独立高斯、但具有类似次高斯性质的随机向量(比如来自高效草图矩阵的行)所构成的二次型,给出严格的概率界限。正是基于这个工具,我们才能为LESS等快速草图证明其子空间嵌入性质,确保其可靠性不亚于高斯草图。
对实践者的启示:你不需要手动推导这些不等式,但需要知道,现代RandNLA理论已经为这些高效的、非高斯的随机构造提供了坚实的“质量合格证书”。这意味着你可以放心地在工程中使用它们,而不必担心因为放弃了高斯假设而牺牲了理论可靠性。
3. 超越独立采样:确定性点过程(DPPs)
传统的随机采样(如杠杆得分采样)是独立同分布的。但有没有一种方法,能让采样点之间“相互配合”,从而用更少的样本捕捉更多的信息?这就是确定性点过程(DPPs)登场的原因。
3.1 DPPs的核心思想:多样性与体积
DPPs是一种非独立同分布的采样模型,它赋予每个样本子集一个概率,该概率与该子集所张成的体积的平方成正比。给定一个n×d的矩阵A,考虑其行向量的集合。一个行索引的子集S被DPP选中的概率为:Pr(S) ∝ det(A_S A_Sᵀ)其中A_S是由S索引的行构成的子矩阵。det(A_S A_Sᵀ)的几何意义正是这些行向量所张成的平行多面体体积的平方。
这意味着什么?DPP会倾向于选择那些彼此之间更不相关(即更“多样化”)的行集合,因为这样的集合张成的体积更大。它天然地避免了选择冗余或高度共线的数据点。
3.2 DPPs与RandNLA的深刻联系
令人惊讶的是,这种基于“体积”的采样,在解决经典RandNLA任务(如低秩近似和最小二乘回归)时,能达到与高斯草图相匹配的理论保证。例如,对于低秩近似,从DPP中采样s行得到的矩阵A_S,其正交化后的矩阵Q满足:E[ ||A - QQᵀA||_F² ] ≤ (1 + k/(s-k+1)) * ||A - A_k||_F²其中A_k是A的最佳秩k近似。这个上界与高斯草图的结果一致。
一个关键洞见:DPP中第i行被选中的边际概率Pr(i ∈ S),恰好对应于该行的正则化杠杆得分(Ridge Leverage Score)。正则化杠杆得分是杠杆得分在引入正则化项后的泛化,被证明是许多RandNLA子采样任务中“正确”的重要性度量。这就在DPP(一种优雅的概率模型)和RandNLA(一种实用的算法工具)之间建立了桥梁。
3.3 实践中的DPPs:采样算法与权衡
理论上很美好,但如何从DPP中实际采样呢?早期精确采样需要特征分解,成本高达 O(n³)。现代算法已经大大降低了复杂度:
- 基于杠杆得分的中间采样:利用DPP边际概率与正则化杠杆得分的等价性,可以进行高效的近似采样。
- 马尔可夫链蒙特卡洛:通过设计一个收敛到目标DPP分布的马尔可夫链来进行采样。 像
DPPy这样的Python包就提供了多种DPP采样算法。
注意事项:使用DPP等非独立采样方法,不可避免地会带来比简单i.i.d采样更高的计算开销。这个权衡是否值得,取决于样本质量和小样本集的极端重要性。在诸如主动学习、贝叶斯优化、核心集选择等场景中,每一个样本都极其宝贵,DPP带来的多样性提升往往能显著提高后续学习或决策的效率。然而,对于大多数标准的回归或低秩近似任务,经过随机哈达玛变换预处理后的均匀i.i.d采样,通常能在保证性能的同时提供更高的速度,这是一个需要根据具体场景权衡的工程决策。
4. RandNLA驱动的优化算法革新
有了子空间嵌入和现代采样理论作为武器,我们可以重新审视机器学习中的核心——优化问题。目标是解决随机优化中SGD类方法的固有问题:方差大、对超参数敏感、收敛后期不稳定。
4.1 梯度草图:预条件与重要性采样
考虑经典的有限和优化问题:min f(x) = (1/n) Σ ψ_i(x)。SGD通过随机采样一个或一批ψ_i来估计梯度,虽然无偏,但方差可能很大。
预条件加权SGD是RandNLA给出的答案之一。其核心步骤是:
- 构造预条件子:使用草图矩阵
S压缩数据矩阵A,并通过QR分解得到预条件矩阵R,使得R的谱近似于(AᵀA)^{-1/2}。这相当于对参数空间进行了一个线性变换,使其条件数变得更优。 - 重要性采样:使用杠杆得分(或其它重要性分数)来非均匀地采样梯度分量。高杠杆得分的样本对解的影响更大,因此被采样的概率也更高。
- 迭代更新:
x_{t+1} = x_t - η_t * R Rᵀ * g_t,其中g_t是基于重要性采样的梯度估计。
为什么有效?预条件R Rᵀ改善了问题的几何形态(降低了条件数),而重要性采样降低了梯度估计的方差。理论分析表明,这种结合可以完全消除收敛速率中对问题条件数κ和数据量n的依赖。迭代复杂度仅与目标维度d和草图大小s有关:t = O(d/(sε))。相比之下,经典SGD可能需要O(nκ²/(sε))次迭代。在机器学习常见的中等精度需求下,这种方法比传统的“草图-求解”范式更具优势。
4.2 Hessian草图:高效获取二阶信息
二阶优化方法(如牛顿法)利用Hessian矩阵(二阶导数)提供的曲率信息,通常能实现更快的局部收敛。但计算和存储完整的Hessian矩阵成本极高,对于d维参数,成本是 O(nd²)。
牛顿草图的思想是:我们不需要精确的HessianH_t,只需要一个足够好的随机近似Ĥ_t。对于广义线性模型(如逻辑回归),其Hessian具有形式Aᵀ D_t A。我们可以对其应用草图:Ĥ_t = (1/n) * (S_t D_t^{1/2} A)ᵀ (S_t D_t^{1/2} A) + γI这里S_t是草图矩阵。由于S_t的行数s远小于n,计算Ĥ_t的成本从 O(nd²) 降到了 O(sd²)。
理论保证:只要草图S_t对D_t^{1/2} A的子空间嵌入性质成立,Ĥ_t就能以高概率近似H_t,从而保证牛顿草图算法具有快速的局部收敛速率,总时间可达近线性Õ(nd)。
实操心得:在实现Hessian草图时,有几点需要注意:
- 草图矩阵的选择:对于Hessian近似,由于
D_t是随时间变化的对角矩阵,每次迭代都重新计算完整的杠杆得分可能太贵。通常使用数据无关的草图(如随机哈达玛变换结合子采样)或固定分布的稀疏草图更为实用。- 正则化参数:不要忘记加上
γI项以确保Ĥ_t的正定性,这对于迭代求解Ĥ_t^{-1} g_t至关重要。- 迭代求解:我们通常不需要显式形成
Ĥ_t再求逆。更高效的做法是求解线性系统Ĥ_t p_t = -g_t来得到搜索方向p_t。由于Ĥ_t是“低秩更新+对角”的形式,可以使用Sherman-Morrison-Woodbury公式或迭代法(如共轭梯度法)来高效求解。
4.3 草图-投影:统一视角下的随机迭代算法
草图-投影框架提供了一个更统一的视角,将随机迭代算法视为反复将当前解投影到随机选择的约束子空间上。经典的随机Kaczmarz方法(用于求解线性方程组Ax=b)是其特例:每次随机选一个方程a_iᵀ x = b_i,将当前解x_t投影到该方程定义的超平面上。
推广的草图-投影框架则是:每次迭代随机选择一个k×n的草图矩阵S,然后将x_t投影到约束集合{x | SAx = Sb}上。这个框架涵盖了块Kaczmarz方法、随机坐标下降法等。
现代分析:利用现代RandNLA工具,草图-投影的收敛速率可以与草图SA作为A的低秩近似的质量联系起来:E[||x_t - x*||²] ≲ (1 - kσ_min²(A) / E[||A - A P_{SA}||_F²])^t * ||x_0 - x*||²这里,E[||A - A P_{SA}||_F²]正是用草图SA做低秩近似时的投影误差期望。这个公式揭示了一个深刻现象:当数据矩阵A本身具有低秩或快速衰减的奇异值谱时,草图SA能提供一个极好的低秩近似,从而使得投影误差很小,进而极大地加速草图-投影算法的收敛。这为理解为何随机迭代方法在机器学习数据(通常具有低内在维度)上表现优异提供了理论依据。
5. 从算法到统计:RandNLA与机器学习的深度融合
至此,我们主要将数据A视为确定的。但在统计学和机器学习中,数据本身通常被假设为来自某个随机分布。RandNLA的随机性与数据内在的随机性如何相互作用?
5.1 统计学习视角:鲁棒性与泛化
考虑一个半监督学习场景:我们有大量无标签数据A,但只能负担得起标注其中一小部分S。如何选择要标注的点,才能使基于这小部分标签学到的模型x̂,在全部数据上的泛化误差最小?
RandNLA给出了一个强有力的答案:根据杠杆得分进行非均匀采样。理论证明,如果采样大小s = O(d log d + d/ε),并且用采样得到的子问题A_S x ≈ b_S的最小二乘解作为最终估计,那么其期望泛化误差不超过全局最优解的(1+ε)倍。
关键点:这种采样策略不需要任何关于标签分布b的先验知识。这意味着它对于对抗性的或未知的标签分布具有天然的鲁棒性。DPPs等非独立采样方法可以进一步改进这一保证。这体现了RandNLA方法在统计学习中的核心价值:通过算法设计的随机性来对抗数据分布的不确定性,实现鲁棒学习。
5.2 核方法中的Nyström近似
核方法(如核岭回归)通过一个非线性映射φ将数据隐式映射到高维特征空间,其核心是核矩阵K(元素为K_ij = φ(x_i)ᵀφ(x_j))。直接处理K(规模为n×n)是O(n²)甚至O(n³)的。
Nyström方法是RandNLA低秩近似思想在核矩阵上的直接应用。它通过采样s个数据点(对应K的s列),用K的一个主子阵来近似整个K:K̃ = K_{:,S} (K_{SS})^{-1} K_{S,:}这只需要计算ns个核函数值,是次线性的。从RandNLA角度看,如果将核矩阵视为K = ΦᵀΦ(Φ是隐式的特征矩阵),那么Nyström近似等价于用草图Φ_S对Φ做低秩投影。
最佳实践:早期工作使用均匀采样,但现代方法表明,使用正则化杠杆得分(与DPP边际概率相关)进行采样,能得到更稳健、误差更小的近似。这再次将RandNLA的最优采样理论与统计学习的泛化需求联系了起来。
5.3 现代RMT的精细分析:超越最坏情况
传统RandNLA分析给出的是适用于任意输入矩阵A的最坏情况保证,这通常是保守的。现代RMT工具允许我们进行更精细的、依赖于数据谱分布的分析。
多重下降现象:在低秩近似任务中,考察近似因子||A - P_{SA} A||_F² / ||A - A_k||_F²。最坏情况分析(黑线)预测该因子随目标秩k增长。但RMT分析(红线)显示,对于许多实际数据矩阵(其奇异值谱具有特定衰减模式),真实近似因子要小得多,且呈现非单调的“多重下降”现象。这意味着,对于具有典型谱结构的数据,我们可以用更小的草图尺寸s获得比最坏情况理论预测好得多的近似质量。
隐式正则化:这是RandNLA与统计推断交汇产生的另一个深刻现象。考虑草图岭回归:我们想用草图数据SA, Sb来近似原问题的解x* = argmin ||Ax-b||² + γ||x||²。直觉上,我们可能认为在草图问题上应该使用相同的正则化参数γ。但精细分析表明,由于草图引入了随机性,它本身产生了一种隐式正则化效应。为了得到无偏估计,我们需要对正则化参数进行收缩校正:γ_sketch = γ * (1 - d_γ / s)其中d_γ = tr(AᵀA (AᵀA + γI)^{-1})是A的 γ-有效维度。这个公式定量地刻画了草图大小s与所需正则化强度之间的权衡:草图越小(压缩越厉害),我们需要施加的显式正则化就越弱,因为草图过程本身已经起到了正则化作用。
6. 实战指南与常见问题排查
理论再优美,最终也要落地。本节将分享在实现和应用上述RandNLA方法时的一些核心实操要点和避坑指南。
6.1 工具选型与实现要点
草图矩阵选择:
- 原型验证/小规模数据:从高斯草图开始。实现简单,理论最清晰,便于调试。
- 大规模生产环境:优先考虑快速草图,如:
- SRHT:随机哈达玛变换。适用于数据维度
n是2的幂的情况,计算效率极高(O(n log n))。 - CountSketch / Sparse Embeddings:高度稀疏,适用于稀疏数据或流式数据场景。
- LESS / 杠杆得分采样:数据感知型,通常能提供最优的理论保证,但需要预计算杠杆得分(可通过一次快速随机投影完成)。
- SRHT:随机哈达玛变换。适用于数据维度
杠杆得分的计算:
- 精确计算杠杆得分需要QR或SVD,成本
O(nd²),不可接受。 - 标准做法:使用一个快速的随机投影(如高斯或SRHT)将
A投影到O(log d)或O(d)维空间,然后在这个小空间里计算QR分解并估算杠杆得分。这能在O(nd log d)时间内得到高质量的近似。
- 精确计算杠杆得分需要QR或SVD,成本
参数选择(草图大小
s):- 理论通常给出
s = O(d/ε²)或s = O(d log d)这样的形式。在实践中:- 对于子空间嵌入,
s = 2d到4d通常能提供很好的经验性能。 - 对于低秩近似(目标秩
k),s = 2k到4k是常见的启发性选择。 - 必须进行敏感性实验:在你的特定数据集和任务上,绘制解的质量(如相对误差)或优化算法的收敛速度随
s变化的曲线。这比任何理论公式都更可靠。
- 对于子空间嵌入,
- 理论通常给出
6.2 常见问题与排查技巧实录
下表总结了在实践中可能遇到的典型问题、其可能原因及解决方案:
| 问题现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 草图解误差远大于理论预期 | 1. 草图大小s太小。2. 数据矩阵 A条件数极大(病态)。3. 草图矩阵实现有误(如随机数生成器问题)。 | 1. 逐步增大s,观察误差是否按O(1/√s)下降。2. 检查 A的奇异值。考虑对A进行简单的预处理(如列缩放),或在使用草图前先进行一步幂迭代。3. 用一个小型确定性矩阵测试,对比草图矩阵 S是否近似满足E[SᵀS] = I。 |
| 优化算法(如PW-SGD)震荡或不收敛 | 1. 学习率η_t设置不当。2. 预条件子 R计算不准确(草图质量差)。3. 重要性采样的概率分布计算有误。 | 1. 实施学习率衰减计划(如η_t = η₀ / (1+βt))。进行学习率网格搜索。2. 确保用于构建预条件子的草图大小足够大(通常需大于用于梯度采样的草图)。检查 cond(R)是否远小于cond(A)。3. 验证杠杆得分估计值均为正且求和为 d。可尝试暂时切换为均匀采样,以隔离问题。 |
| DPP采样速度过慢 | 使用了精确采样(O(n³)复杂度)。 | 切换到近似采样算法: 1. 使用基于(正则化)杠杆得分的k-DPP采样。 2. 使用MCMC采样(如Metropolis-Hastings)。对于大规模 n,这是唯一可行的选择。 |
Hessian草图方法迭代求解Ĥ_t p_t = -g_t失败 | 1.Ĥ_t由于数值误差非正定。2. 共轭梯度法不收敛。 | 1. 确保正则化参数γ足够大。可以动态调整γ,或使用修改的Cholesky分解。2. 使用更稳健的迭代求解器(如MINRES),或为共轭梯度法设置一个预处理子(例如,用对角矩阵预条件)。 |
| Nyström近似在核方法中效果差 | 1. 采样方法不当(如均匀采样)。 2. 核函数或超参数选择不佳。 3. 采样大小 s不足。 | 1.务必使用基于(正则化)杠杆得分的采样。计算核矩阵K的近似杠杆得分。2. 核函数的选择和带宽参数对核矩阵的谱衰减有决定性影响。调整核参数或尝试不同的核函数。 3. 增加 s。观察核矩阵特征值的衰减情况,s应至少覆盖主要特征值。 |
| 隐式正则化效应导致性能下降 | 在草图岭回归中,使用了与原始问题相同的γ,未进行校正。 | 尝试应用收缩校正公式:γ_sketch = γ * (1 - d_γ / s)。其中有效维度d_γ可通过Hutchinson随机迹估计器高效近似:d_γ ≈ (1/m) Σ_{i=1}^m z_iᵀ AᵀA (AᵀA + γI)^{-1} z_i,z_i为随机符号向量。 |
6.3 性能调优与进阶技巧
- 幂迭代:对于奇异值衰减缓慢的矩阵,单次草图可能无法很好地捕捉其头部奇异子空间。在执行草图
SA之前,先对A进行q步幂迭代:计算B = (AᵀA)^q A或B = A (AᵀA)^q,然后对B进行草图。这能显著提高低秩近似的质量,代价是O(q * T_matmul)的额外计算,其中T_matmul是矩阵乘法的成本。 - 块化与并行化:草图操作
SA本质上是矩阵乘法,极易并行化。在分布式环境中,可以将矩阵A按行分块,在每个计算节点上本地计算部分草图,然后汇总。许多快速草图(如SRHT)也有高效的分布式实现。 - 与迭代求解器的结合:在Hessian草图或草图-投影中,我们经常需要求解以草图矩阵为核心的线性系统。不要直接求逆,而是使用迭代法(如共轭梯度法、LSQR)。由于系统维度已从
d降为s或k,迭代法会收敛得非常快。确保为迭代法提供一个好的预条件子(例如,来自草图矩阵的R因子)。 - 监控与诊断:在算法运行时,监控一些关键量:
- 草图误差:定期(如每10轮)计算
||A - P_{SA} A||_F / ||A||_F的近似值(可通过更小的随机投影来估计)。 - 梯度方差:在PW-SGD中,估算梯度估计
g_t的范数方差。 - 有效条件数:估算预条件后问题
cond(Rᵀ Aᵀ A R)的条件数。理想情况下它应接近1。
- 草图误差:定期(如每10轮)计算
最后,一个最重要的体会是:RandNLA不是银弹,而是一套精密的权衡工具。它用随机性交换计算量,用近似解交换精确解。成功的应用始于对自身问题特性的深刻理解:你的数据矩阵是稠密还是稀疏?奇异值谱是快速衰减还是长尾?你的计算瓶颈是内存带宽、浮点运算还是通信成本?你对解的精度要求是1e-3还是1e-6?只有明确了这些,才能明智地选择草图类型、确定草图大小、决定是否使用幂迭代或DPP采样,从而让随机性真正为你所用,在精度与效率之间找到那个最佳平衡点。