CUR矩阵分解(对比SVD)

CUR矩阵分解提供了一种比SVD更强可解释性的矩阵分解方法,特别适合处理稀疏矩阵。它选取原始矩阵的部分行和列,通过这些行和列的组合恢复原矩阵,形成CU†R的形式。当矩阵的秩等于选择的行和列数时,CUR分解能有效地揭示矩阵的主要信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CUR矩阵分解

简单回顾一下SVD分解

提到矩阵分解,相信大家最熟悉的一定是SVD分解,但是SVD分解有两个缺点:

  1. 可解释性较差:对于SVD分解,大家通常的理解应该是,左奇异向量以及右奇异向量分别张成了原始矩阵所在的列空间以及行空间,但是对于原始矩阵而言,并没有较强的可解释性。
  2. 太过密集:就算原始矩阵是一个稀疏矩阵,该矩阵所分解而成的U、V矩阵仍然是高度密集的,这在某些应用场景下是难以接受的。

与SVD相比,CUR分解的可解释性大大加强了。

在这里插入图片描述

CUR矩阵分解

在这里插入图片描述

对于一个矩阵 A ,我们能否将它分解为 只包含 A 中的一些行和列的组合呢?

更具体地讲,对于一个秩 k 矩阵 A ,如果我们选择其中 k 列张成矩阵 A 的列空间,选择其中 k 行张成矩阵 A 的行空间,那么我们也应该能够通过组合这些线性映射来恢复原矩阵。

定理: 对于A∈Km×nA\in K^{m\times n}AKm×n, rank(A)=krank\left( A \right) = krank(A)=k,并且有 I⊂[m]I\subset \left[ m \right]I[m] , J⊂[n]J\subset \left[ n \right]J[n], ∣I∣=t≥k\left| I \right| = t \geq kI=tk, ∣J∣=s≥k\left| J \right| = s \geq k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的红猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值