📜  自动编码器与 PCA 有何不同

📅  最后修改于: 2022-05-13 01:58:08.786000             🧑  作者: Mango

自动编码器与 PCA 有何不同

在本文中,我们将了解自动编码器与主成分分析 (PCA) 有何不同。

降维在 ML 中的作用

当数据记录的数量不是特征数量的重要组成部分时,我们经常会在机器学习项目中遇到维度问题的诅咒。这通常会导致问题,因为它需要使用有限的数据集训练大量参数,这很容易导致过度拟合和泛化性差。高维也需要长时间的训练。为了解决这些挑战,通常使用降维方法。尽管它位于高维空间,但特征空间通常具有低维结构。

PCA 和自动编码器是降低特征空间维数的两种流行方法。

主成分分析 (PCA)

PCA 通过使用由数据方差指定的投影向量学习线性变换,将数据简单地投影到另一个空间。可以通过将维度限制为占数据集中大部分变化的少数分量来实现降维。

自动编码器

自动编码器是一种神经网络,它堆叠了许多非线性变换,以将输入减少到低维潜在空间(层)中。他们使用编码器-解码器系统。编码器将输入转换为潜在空间,而解码器重建它。为了准确的输入重建,它们通过反向传播进行训练。当潜在空间的维度少于输入时,自动编码器可用于降低维度。因为它们可以重建输入,根据直觉,这些低维潜在变量应该存储最相关的属性。

通用自动编码器的简单说明

PCA 与自动编码器

  • 尽管 PCA 从根本上说是一种线性变换,但自动编码器可以描述复杂的非线性过程。
  • 因为 PCA 特征是在正交基上的投影,所以它们是完全线性不相关的。然而,由于自动编码的特征只被训练用于正确的重建,它们可能具有相关性。
  • 与自动编码器相比,PCA 的计算速度更快且成本更低。
  • PCA 非常类似于具有线性激活函数的单层自动编码器。
  • 由于参数数量众多,自编码器容易过拟合。 (但是,规范化和适当的规划可能有助于防止这种情况发生)。

如何选择模型?

除了处理计算资源之外,方法的选择还受到特征空间本身的特征的影响。如果特征具有非线性连接,则自动编码器可以通过利用其表示复杂非线性过程的能力,更有效地将数据压缩到低维潜在空间中。

研究人员创建了一个二维特征空间,它们之间具有线性和非线性关系(x 和 y 是两个特征)(添加了一些噪声)。将输入投影到潜在空间后,我们可以比较自动编码器和 PCA 正确重构输入的能力。 PCA 是具有明确定义的逆变换的线性变换,重构的输入来自自编码器的解码器输出。对于 PCA 和自动编码器,我们使用一维潜在空间。

如果特征空间中存在非线性连接(或曲率),则可以使用自动编码的潜在空间进行更准确的重建。另一方面,PCA 只保留对第一个主成分的投影,并丢弃任何垂直于它的信息。

结论:

特征空间中必须有底层的低维结构才能成功降维。换句话说,特征应该相互关联。如果低暗淡结构具有非线性或曲率,则自动编码器可以用更少的维度编码更多信息。因此,在某些情况下,它们是一种优越的降维策略。