一种推广的CUR矩阵分解算法:更低的时间复杂度和更好的紧界王书森,张志华浙江大学,计算机科学与技术学院中国,杭州310027E-mail:{wss,zhzhang}@zju
cn摘要CUR矩阵分解是对一般矩阵进行Nystrom逼近的一个重要推广,它能够近似的逼近于任何列数和行数较小的数据矩阵
在本文中,我们提出了一种新的随机CUR矩阵分解算法,该算法能够达到预期的相对误差限
而本文的优点就在于该算法的相对误差是现有CUR算法的三分之一倍:更好的紧界,更低的时间复杂度,并且该算法能够避免在主内存中对数据矩阵进行维护
最后,我们用真实数据通过几次实验验证了改进的CUR算法的相对误差限优于现有算法的相对误差限
引言在当今社会,随着股票、基因、网络文件、图象和视频的发展,从中提取的矩阵正日益变得庞大,这无疑给现有的数据分析带来新的挑战
而目前已开展的大部分工作主要专注于操作、理解以及翻译大型矩阵
在许多情况下,矩阵分解主要用于将矩阵分解为带有压缩式和信息性的矩阵,以便于计算与处理
一个基本的方法就是奇异值分解,该方法是对数据矩阵进行分解的最低秩逼近
例如奇异值分解在特征脸[20、21]和潜在语义分析[4]中的应用已被证明它是一种非常成功的算法
然而,由奇异值分解产生的基向量几乎没有任何实际意义,这使得我们理解和翻译数据矩阵变得很困难
在参考文献[10、19]中给出的例子很好的证明了这一观点,即向量{1/2(年龄),1/√2(高度),1/2(收入)}是取自人体特征的数据集,它表示的是人体显著的不相关外貌特征的总和,它并不是人体特有的信息
参考文献[17]的作者也声称:“试着去研究一种对任何实验向量都能够找出它们基向量的方法将会是一件很有趣的事情,当然,前提是必须使用实际数据向量而不是人工向量,因为人工向量几乎没有什么意义
”因此,对于一个列数较小或者行数较小的矩阵,如果能