×

矩阵的快速蒙特卡罗算法。三: 计算压缩近似矩阵分解。 (英语) Zbl 1111.68149号

摘要:在许多应用中,数据由(或可以自然地表示为)一个(m×n)矩阵(A)组成,该矩阵可以存储在磁盘上,但太大了,无法读入随机存取存储器(RAM)或实际对其执行超线性多项式时间计算。提出了两种算法,当给定一个矩阵\(A\),计算\(A\)的近似值,这是三个较小矩阵\(C\)、\(U\)和\(R\)的乘积,每个矩阵都可以快速计算。设\(A'=CUR\)为计算出的近似分解;这两种算法都有误差矩阵(A-A')的可证明边界。在第一种算法中,随机选择\(A\)中的\(c\)列和\(A~)中的~(r\)行。如果(m\次c\)矩阵\(c\)由(A\)的那些(c\)列组成(适当缩放后),而(r\次n\)矩阵\(r\)由那些(r\)行组成(同样经过适当缩放),则可从(c\和(r\。对于任何矩阵(X),让(X_F)和(X_2)分别表示其Frobenius范数和谱范数。事实证明\[\左\|A-A'\right\|_\xi\leq\min_{D:\text{rank}(D)\leqk}\left\|A-D\right\ |_\xi+\text{poly}(k,1/c)\left\ |A\right\\|_F\]对(xi=2,F\)和所有(k=1,ldots,text{rank}(A)\)都保持预期和高概率;因此,通过适当选择\(k\)\[\左\|A-A'\right\|2\leq\varepsilon\left\|A\right\ |_F\]也在期待中,概率很高。该算法可以在不将矩阵(A)存储在RAM中的情况下实现,前提是它可以对存储在外部存储器中的矩阵进行两次传递,并使用额外的RAM(假设(c)和(r)是常数,与输入的大小无关)。第二种算法类似,只是它通过随机抽样(C)的恒定行数来近似矩阵(C)。因此,它有额外的误差,但可以使用恒定的额外RAM在矩阵上进行三次传递。为了获得最多为(varepsilon)、(1/varepsilen)和(1/delta)的低阶多项式的额外误差(超出最佳秩-(k)近似),这两种算法都需要时间,其中,\(delta>0\)是失效概率;第一种方法采用线性单位(max(m,n)),第二种方法采用与(m)和(n)无关的时间。误差界的证明重要地利用了矩阵微扰理论和先前关于矩阵乘法近似和计算矩阵低秩近似的工作。列和行上的概率分布和重新缩放是算法的关键特征,必须谨慎选择。
[第二部分见提交人,同上36,第1号,158-183(2006年;Zbl 1111.68148号),如上所述。]

MSC公司:

68瓦20 随机算法
65二氧化碳 蒙特卡罗方法
68周25 近似算法

软件:

算法844
PDF格式BibTeX公司 XML格式引用
全文: 内政部