SVD 所需的数据量和假设

数据挖掘 数据挖掘
2021-10-06 07:41:07

我正在研究 SVD 的定义,并试图了解需要满足哪些条件才能使用它。

  1. 关于我要应用 SVD 的数据分布是否有任何假设?
  2. 条件(数据向量的数量 > 向量空间的维度)是否严格?还是总有办法使用 SVD 分解数据集?在 SVD 的定义中,我能找到的所有网站都以相同的条件开始,无需担心解释:

给定一个×n实矩阵 A 与n>, A 可以写成...

1个回答

SVD是分解矩阵的操作进入矩阵产品=üΛ, 在哪里ü是酉矩阵 (üü=üü=一世等),以及Λ是对角线。

所以正式的答案是:

  1. 不,没有关于分布的假设. 它根本不是随机的,它只是任何性质的矩阵。
  2. 状况n>, 在哪里(n,)是形状, 没有必要。确实,如果你有n>, 你可以转置方程 =üΛ要得到 =Λü,这也是一个有效的 SVD 分解。

现在是不太正式的部分。

在数据挖掘中,SVD 有两个主要应用:计算(如矩阵求逆、最小二乘等)和降维(例如压缩推荐系统中的用户项目矩阵)。对于计算,只有 SVD(如上所示)的代数性质很重要。

为了降维,使用截断的 SVD:Λ被丢弃,并且只有ķ最大的被保留。这个操作相当于找一个ķ维超平面,使得数据的投影() 在这个超平面上最接近原始数据(以欧几里得距离)。

在最后一种情况下,分析师希望分解能够很好地推广到看不见的数据,并且这个问题可以用概率语言很好地表述。如果我们说包括n独立身份证维随机变量,那么如果它们是联合正态的,那么 SVD 似乎效果最好。那是因为:

一个。多元正态分布实际上几乎是一个超平面,并且

湾。对于多元正态,欧几里得距离与概率密度紧密相关。因此,截断的 SVD(或 PCA,在数学上是相同的)可以被视为多元正态分布的最大似然估计,其中ķ独立的组件。有关详细信息,请参阅Bishop 的文章