在矩阵中添加一行后更新SVD分解


17

假设我有一个致密的基质× Ñ大小,SVD分解 = û 小号V在我可以计算SVD如下:。Am×n

A=USV.
Rsvd(A)

如果一个新的个行被添加到(m+1),可以计算基于旧一个新的SVD分解(即通过使用 ü小号 V),不从头重新计算SVD?AUSV


3
检查有关的文献rank 1 updates。Brand 撰写的针对轻量级推荐系统快速在线SVD修订版是可访问的第一篇论文。不幸的是,我还没有看到已经在R中实现的SVD。感谢CHOLMOD,Cholesky更新的存在(updown来自Matrix)。矩阵的稀疏性将与最终解决方案有所不同。您假设是密集矩阵还是稀疏矩阵?一种
usεr11852恢复单胞菌说,

2
+1至@usεr11852。还要注意,更新QR更加容易,更标准,在某些应用中QR足够了,并且实际上并不需要SVD。因此,也请考虑您的应用程序。
变形虫说恢复莫妮卡2015年

是的,矩阵很密集。
user1436187 2015年

1
然后“抛弃”推荐者文献,并专注于图像处理。关于游览的类似问题已按照数据库中的“新图像”发布。例如,我的直觉是某人必须具有一种算法来在线更新其特征脸的条目。这些家伙使用密集矩阵表示法。
usεr11852恢复单胞菌说,

Answers:


14

是的,可以在现有矩阵中添加一行后更新SVD分解。

一种

一种=一种-üvŤ

üv

一种=一种-üVŤ

伍德伯里公式进场。如果您看到这些公式,您会注意到其中涉及许多逆。您不能直接解决这些问题。当您已经解决了许多子系统时(即已经计算出一些分解),您就可以利用它们来获得更快和/或更稳定的估计。(这就是为什么人们仍然在这一领域进行研究的原因。)我经常使用JE Gentle 撰写的《计算统计》一书作为参考;我认为是Chapt。5 数字线性代数将正确设置您。(不幸的是,Harville撰写的超级经典著作:“ 从统计学家的角度看矩阵代数 ”根本没有涉及排名更新。)

从统计数据/应用程序的角度来看,推荐系统中排名第一的更新很常见,因为每次有新用户注册或购买新产品时,都会有成千上万的客户条目并重新计算SVD(或对此问题进行任何给定的分解)。添加或删除非常浪费(如果不是无法实现的)。通常,推荐器系统矩阵稀疏,这使算法更加有效。可访问的第一篇论文是M. Brand 撰写的“ 针对轻量级推荐系统的快速在线SVD修订版 ”手稿。对于密集矩阵,我认为查看模式识别和图像处理中的论文可以使您真正使用一种实用算法。例如论文:

  1. Ren和Dai的增量学习双向主成分用于人脸识别(2009)
  2. Li等人的“ 渐进式和鲁棒子空间学习”(2003年)
  3. Levey和Lindenbaum的顺序Karhunen-Loeve基础提取及其在图像中的应用(2000年)
  4. Ross等人的“ 增量学习以实现健壮的视觉跟踪”(2007年)

所有人似乎都在解决自己的核心问题;新功能即将推出,我们需要相应地快速更新我们的表示形式。请注意,这些矩阵不是对称的,甚至不是正方形的。M. Brand的另一项工作也可以解决这个问题(请参见文章“ 稀疏奇异值分解的快速低秩修改(2006) ”-文章开头的MO链接中也提到了这一点。)许多关于该主题的出色论文,但大多数都倾向于大量数学运算(例如Benaych-Georgesa和Nadakuditi的论文“ 大型矩形随机矩阵的低阶扰动的奇异值和向量(2012)””),我认为他们不会很快帮助您找到解决方案。建议您继续关注“图像处理”文献。

不幸的是,我还没有遇到过任何R实现一级更新例程。来自Computational Science SE的“ 在Python,C或Fortran中可更新的SVD实现? ” 的答案给出了您可能要考虑的许多MATLAB和C ++实现。通常,R,Python等实现是C,C ++或FORTRAN实现的包装。


6
这是一个很好的评论,但令我失望的是没有找到问题的答案。事实证明,马修·布兰德(Matthew Brand)的另一篇论文(与MO的答案链接)包含一个明确的解决方案。
ub

5
向您和@whuber +1(我认为不应避免“复制”另一个SE网站上提供的任何信息!我认为我们应该尝试使网站上提供的信息保持自我维持实际上,在某种意义上,此处包含的几乎所有信息在某种意义上都是在复制现有的教科书,在线资源或研究论文)。一个问题:您提到了Sherman-Morrison和Woodbury公式,它们描述了矩阵的逆如何在秩更新或更高秩更新后发生变化。他们与SVD有什么关系?
变形虫说恢复莫妮卡

1
我了解您为什么要引导人们访问该链接的MO页面,但是您可能会考虑直接声明它确实解决了问题!(“好的第一步”是个轻描淡写的说法。)您的许多评论可能被误解为表明您尚未找到好的解决方案。
ub

1
@whuber:“好”变成“好”,现在我也提到了纸,更好吗?:)(感谢您的反馈。)
usεr11852说,2015年

2
仅出于历史原因:Bunch和Nielsen率先展示了更新和降级SVD的方法。实际上,Brand的方法概括了此较早论文的方法。
JM不是统计学家
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.