×

矩阵的快速蒙特卡罗算法。二: 计算矩阵的低阶近似。 (英语) Zbl 1111.68148号

摘要:在许多应用中,数据由(或可以自然地表示为)矩阵(A)组成。人们通常感兴趣的是找到对(a)的低秩近似,即对秩不大于指定秩的矩阵(a)进行近似(D),其中,(k)远小于(m)和(n)。可以使用奇异值分解(SVD)等方法来找到对定义明确的意义上最好的(A)的近似。这些方法需要在(m)和(n)中超线性的内存和时间;对于数据集非常大的许多应用程序,这是禁止的。给出了两个简单直观的算法,当给定一个(m×n)矩阵(A)时,计算(A)的低阶近似(D^{*})的描述,并且在质量上比SVD更快。这两种算法都有误差矩阵(A-D^{*})的可证明边界。对于任何矩阵(X),让({X}_F)和({X{_2)分别表示其Frobenius范数和谱范数。在第一种算法中,\(A\)的\(c\)列是随机选择的。如果(m乘c)矩阵(c)由(A)的那些(c)列组成(适当缩放后),则可以计算从(c^TC)到顶部奇异值的近似值和相应的奇异向量。从计算出的奇异向量可以计算出矩阵(a)的描述(D^{*}\[\左\|A-D^{*}\right\|_{xi}^{2}\leq\min_{D:\text{rank}(D)\leqk}\left\|A-D \right\ |_{xi}^{2}+\text{poly}(k,1/c)\left\ |{A}\right \|^2_F\]对于这两种情况(xi=2,F\),概率都很高。该算法可以在不将矩阵(A)存储在随机存取存储器(RAM)中的情况下实现,前提是它可以对存储在外部存储器中的矩阵进行两次传递,并使用额外的RAM(O(cm+c^2)。第二种算法类似,只是它通过对(c)行的随机采样进一步逼近矩阵(c)形成(r次c)矩阵(W)。因此,它有额外的误差,但它可以使用恒定的额外RAM在矩阵上进行三次传递。为了获得最多为(varepsilon)、(1/varepsilen)和(log(1/delta)的多项式时间,其中,\(delta>0\)是失效概率;第一种方法采用线性单位(max(m,n)),第二种方法采用与(m)和(n)无关的时间。我们的界改进了先前关于Frobenius和谱范数的秩参数\(k)的结果。此外,误差界的证明使用了一种新的方法,该方法主要利用了矩阵摄动理论。(A)列上的概率分布和缩放是算法的关键特征,必须谨慎选择。
[第一部分见提交人,同上36,第1号,132-157(2006年;Zbl 1111.68147号),如上所述。]

MSC公司:

68瓦20 随机算法
65二氧化碳 蒙特卡罗方法
68周25 近似算法
PDF格式BibTeX公司 XML格式引用
全文: 内政部