主成分分析的实际输出是什么?

数据挖掘 机器学习 分类
2021-09-17 23:16:37

我正在尝试了解 PCA,但我没有机器学习背景。我来自软件工程,但到目前为止我尝试阅读的文献对我来说很难消化。

据我了解PCA,它将从N维空间中获取一组数据点并将它们转换为M维空间,其中N> M。 我还不明白PCA的实际输出是什么。

例如,取这个 5 维输入数据,其值在 [0,10) 范围内:

// dimensions:
// a  b  c  d  e

[[ 4, 1, 2, 8, 8],      // component 1
 [ 3, 0, 2, 9, 8],
 [ 4, 0, 0, 9, 1],
 ...
 [ 7, 9, 1, 2, 3],      // component 2
 [ 9, 9, 0, 2, 7],
 [ 7, 8, 1, 0, 0]]

我的假设是 PCA 可用于将数据从 5 维减少到 1 维。

数据详情:

数据中有两个“组件”。

  1. 一个组件具有中等a水平、低水平bc水平、高水平d和不确定e水平。
  2. 另一个组件具有高ab级别、低cd级别以及不确定e级别。

这意味着这两个组件由 和 区分最大,由bd稍微区分,并且a可以忽略不计ce

输出?

我正在编造这个,但是具有最高微分能力的(非归一化)线性组合类似于

5*a + 10*b + 0*c + 10*d + 0*e

沿该单轴转换的上述输入数据为:

[[110],
 [105],
 [110],
 ...etc

该线性组合(或描述它的向量)是 PCA 的输出吗?或者输出是实际减少的数据集?还是完全不同的东西?

2个回答

我同意 dpmcmlxxvi 的回答,即 PCA 的常见“输出”是计算并找到主成分的特征向量和方差的特征值,但我还不能添加评论,仍然想贡献。

一旦您完成计算主成分的特征向量和特征值的这一步,您可以根据需要进行多种类型的分析。

我相信您在问题中特别询问的“输出”是将原始数据集的转换或投影应用到所需的线性子空间(n维)的结果数据集。这是获取 PCA 的输出并将其应用于您的原始数据集。

这个PCA 分步示例可能会有所帮助。这个 6 步分析的最终输出是将 3 维数据集投影到 2 维。以下是高级步骤:

  1. 忽略类标签获取整个数据集
  2. 计算 d 维均值向量
  3. 计算散布矩阵(或者,协方差矩阵)
  4. 计算特征向量和相应的特征值
  5. 排序和选择 k 个特征向量
  6. 将样本转换到新的子空间

最终,步骤 4 是“输出”,因为这是执行 PCA 的常见要求的地方。我们可以在第 5 步和第 6 步做出不同的决定,并在那里产生替代输出。

还有几种可能:

  • 您可以决定在移除异常值的情况下投影观察结果
  • 这里另一个可能的结果是计算由一个或任何主成分组合解释的方差比例。例如,K 个分量的前两个主分量所解释的方差比例为(λ1+λ2)/(λ1+λ2+. . .+λK)
  • 在将投影观测值绘制到前两个主成分中(如给定示例中)后,您可以将每个原始维度的载荷图强加到子空间中(按主成分的标准偏差缩放)。这样,我们可以看到原始维度(在您的情况下为 a - e)对主成分 1 和 2 的贡献。双图是 PCA 的另一个常见产品。

您是否尝试过阅读 wiki 上 PCA 页面的直觉部分?此外,我认为“进一步考虑”部分解释了各种组件所代表的内容并解决了您的问题。

这些部分描述的简短摘要是数据的原始组件(即轴)不能正确表示数据中继承的关系。相反,可以组合这些组件以产生一组新的组件或轴,以更好地描述数据的分布方式。

wiki 链接指出“PCA 可以被认为是对数据拟合 n 维椭球”。在这种思路中,PCA 的输出是特征向量和特征值,它们定义了最适合数据的椭球的方向和长度。

你用那个椭球做什么取决于你和你对 PCA 的应用。