稀疏 PCA 到底比 PCA 好多少?

机器算法验证 机器学习 主成分分析
2022-01-18 05:05:02

几节课前我在课堂上了解了 PCA,通过深入挖掘这个迷人的概念,我了解了稀疏 PCA。

我想问,如果我没记错的话,这就是稀疏 PCA:在 PCA 中,如果你有n数据点p变量,您可以表示每个数据点p应用 PCA 之前的维度空间。应用 PCA 后,您可以再次在相同的维度空间中表示它,但是,这一次,第一个主成分将包含最大的方差,第二个将包含第二个最大的方差方向,依此类推。所以你可以去掉最后几个主成分,因为它们不会造成大量的数据丢失,你可以压缩数据。对?

稀疏 PCA 正在选择主成分,以使这些成分在其矢量系数中包含较少的非零值。

这应该如何帮助您更好地解释数据?谁能举个例子?

3个回答

稀疏 PCA 是否比标准 PCA 更容易解释,取决于您正在调查的数据集。以下是我的想法:有时人们对 PCA 投影(数据的低维表示)更感兴趣,有时对主轴更感兴趣;只有在后一种情况下,稀疏 PCA 才能对解释产生任何好处。让我举几个例子。

例如,我正在处理神经数据(许多神经元的同时记录),并且正在应用 PCA 和/或相关的降维技术来获得神经群体活动的低维表示。我可能有 1000 个神经元(即我的数据存在于 1000 维空间中),并希望将其投影到三个主要主轴上。这些轴是什么,与我完全无关,我无意以任何方式“解释”这些轴。我感兴趣的是 3D 投影(因为活动取决于时间,所以我在这个 3D 空间中得到了轨迹)。所以如果每个轴都有 1000 个非零系数,我很好。

另一方面,有人可能正在处理更“有形”的数据,其中单个维度具有明显的含义(与上面的单个神经元不同)。例如,各种汽车的数据集,其中尺寸是从重量到价格的任何东西。在这种情况下,人们可能实际上对主要主轴本身感兴趣,因为人们可能想说点什么:看,第一个主轴对应于汽车的“花哨”(我现在完全是在编造这个)。如果投影是稀疏的,那么这种解释通常会更容易给出,因为许多变量将具有0系数等显然与该特定轴无关。在标准 PCA 的情况下,通常会得到所有变量的非零系数。

您可以在Zou 等人的 2006 Sparse PCA 论文中找到更多示例和对后一种情况的一些讨论。然而,前一种情况和后一种情况之间的区别,我没有看到任何地方明确讨论过(即使它可能是)。

要了解 PCA 中稀疏性的优势,您需要确保了解“加载”和“变量”之间的区别(对我来说,这些名称有些随意,但这并不重要)。

说你有一个n×p数据矩阵X, 在哪里n是样本数。的SVDX=USV,给你三个矩阵。结合前两个Z=US为您提供主成分矩阵。假设您的降级是k, 然后Zn×k.Z本质上是降维后的数据矩阵。从历史上看,

您的主要成分的条目(又名Z=US) 称为变量。

另一方面,V(这是p×k) 包含主载荷向量,其条目称为主载荷。鉴于 PCA 的性质,很容易证明Z=XV. 这意味着:

主成分是通过使用主载荷作为数据矩阵线性组合中的系数得出的X.

现在这些定义已经不存在了,我们来看看稀疏性。大多数论文(或至少我遇到的大多数论文)都对主要负载(又名V)。稀疏的优点是

稀疏的V会告诉我们哪些变量(来自原始p维特征空间)值得保留。这称为可解释性。

也有对条目执行稀疏性的解释Z,我见过人们称之为“稀疏变量 PCA””,但这远不那么受欢迎,老实说,我并没有考虑那么多。

所以你可以去掉最后几个主成分,因为它们不会造成大量的数据丢失,你可以压缩数据。对?

你是对的。如果有N变量V1,V2,,VN,那么你有N主成分PC1,PC2,,PCN, 和每个变量Vi在每台 PC 中都有信息(贡献)PCi.

在稀疏 PCA 中有PCi没有一些变量的信息Vj,Vl,,系数为零的变量。

那么,如果在一个平面上(PCi,PCj),变量比预期的少(N),在这个平面上更容易清除它们之间的线性关系。