8维怎么降到3维?

机器算法验证 主成分分析
2022-04-05 04:39:08

我似乎无法理解 PCA 的工作原理。我的(缺乏)数学知识也对我没有帮助。我读过新的变量集必须是旧集的线性组合。

这到底是什么意思?应该有一种方法将数字 a, b, c, ... 与尺寸/变量 x, y, z ... 相乘并获得旧的更大(!)集?

你能回答我的例子吗:如果我有 8 个变量/维度,它们可以减少到 3 个吗?或者 3 个分量的向量不是 8 的线性组合,因此不是?

3个回答

Ion, PCA 只是正交旋转的一个特例。X是您的n x p数据矩阵,包含p维(轴)中的n个点。为了在相对于旧轴以某种方式在空间中旋转的一组新轴中获得相同的点云,您将X乘以旧轴(行)和新轴(列)之间余弦p x p矩阵Q :XQ=C[1],其中C是您的新(旋转)坐标。这个公式说每个新维度都是p个旧维度的线性组合。这也随之而来X=CQ1或者,由于旋转是正交的 -Q是正交矩阵,-X=CQ[2] 说每个旧维度是p个新维度的线性组合。

现在,PCA 实际上就是这种轮换;PCA 的特别之处在于Q不是任意旋转矩阵;它是这种旋转的矩阵,因此C的第一列中的平方和(或方差,如果您的数据已居中)变得最大可能:也就是说,沿第一个主成分的可变性最大化。然后,第二个C列(第二个主成分)中的平方和是第二个最大值。等等。每个下一个组件都是一个新的轴,它在云中的多维可变性越来越少。因此,只有少数m ( m < p ) 新轴(主要成分)占了变异性的最大份额。

在 PCA 中,Q被称为特征向量矩阵(这些是它的列)。如果您只保留m个第一个组件,通过在Q中仅保留m个第一列,您仍然可以使用公式 [1] 来获得m个组件的组件分数- 这些m维度上的点坐标。因此,无论m是什么,每个分量都是原始变量的线性组合。但是,使用 then 公式 [2]从m个分量中获取p个原始变量不会准确地为您提供原始变量:每个原始变量将是m个分量的线性组合加上一些错误术语如果您通过m个分量作为预测变量对每个原始变量执行线性回归(没有常数项),您将看到您得到的回归系数是Q的元素。

+1 为 ttnphns,但我会尝试提供 tl;dr,数学免费版本。

您的怀疑是完全有道理的——在一般情况下,不能将 8 个暗淡填充为 <8 个线性组合。PCA 真正所做的是,它将 8 个暗淡转换为 8 个线性组合,以这样一种方式,它将可能的数据多样性填充到第一个暗淡中,而不是将大部分剩余数据填充到第二个暗淡中,依此类推——因此一个可能会认为最后的暗淡仅包含来自原始数据中的错误和噪声的噪声,并且可能会被省略,这会导致维度降低。

通过这种方式,人们可以将其想象为 MP3 或 JPEG 之类的有损压缩算法——它会转储一些原始信息,但希望只有这无关紧要。

这是我的尝试;完全没有数学,只有一些基本原理和一张图片。你自找的。;)

考虑下图中的场景。您有沿XY轴的 2D 数据点。您可以使用 PCA 找到主轴P

主成分分析

此分析的重点是,如果您的数据以这种方式分布,您实际上并不需要两者XY使用它们。您不妨只使用一维,沿着P.

如果您有 N 维输入空间,则可以使用 PCA 将其减少到 1 到 N 维之间的任何位置。所以是的,你可以从 8 个减少到 3 个;这样做是否有意义取决于您的决定(基于相关的具体数据)。