在存在非线性替代方案的情况下,线性降维的价值是多少?

机器算法验证 主成分分析 降维 多方面学习
2022-03-19 19:54:33

从我看到的结果来看,对于复杂的、非常高维的数据集(如图像或视频),流形学习方法似乎通常优于 PCA。这对我来说很有意义,因为非线性降维(如流形学习)将允许对高维数据的理解比 PCA 等线性方法更复杂。那么,如果流形学习比 PCA 更强大、更成功,为什么人们仍然使用像 PCA 这样的线性方法呢?

1个回答

我将扩展评论中提到的一些观点,并添加更多内容。

计算复杂度。PCA 在时间和内存方面比更复杂的非线性降维 (NLDR) 技术更有效。这是处理大型数据集时的一个重要问题,NLDR 技术可能不可行。即使是简单的 PCA 实现也可以处理大型数据集,并且可以使用技巧来大规模扩展。缩放技巧可用于某些 NLDR 技术(例如,地标 isomap 和自动编码器的在线培训),但情况并非总是如此。

有时线性是合适的。有时数据确实位于低维线性流形附近。在这些情况下,像 PCA 这样的线性技术是最合适的。即使流形不是完全线性的,PCA 也可以提供足够好的近似值,不需要更复杂的技术。

使用方便。PCA 易于使用。给定一个特定的实现,除了维数之外没有任何选择。NLDR 技术通常需要选择至少一个超参数,在某些情况下需要选择多个超参数。为超参数调整运行搜索程序会增加这些方法已经很大的计算成本。首先,还需要从数十种可能的 NLDR 技术中选择一种来使用,而且选择并不总是显而易见的。不同的 NLDR 方法在不同的情况下效果很好,您可能不知道先验哪一种最合适。

前向映射。PCA 给出了从高维空间到低维空间的映射。这使得可以将相同的转换应用于不属于训练集的样本外数据。这对于交叉验证是必要的,并且在必须将相同的过程扩展到新数据时也很有用。一些 NLDR 技术(例如自动编码器)本身也提供这样的映射,但大多数不提供。已经为其他 NLDR 方法设计了样本外扩展程序,但是它们通过需要对映射本身进行额外的运行时、学习和/或超参数调整而增加了程序的复杂性。

非线性下游算法。降维通常用作下游学习算法(例如监督学习)的预处理步骤。在预处理过程中可能不需要学习非线性结构,因为这可以通过下游算法来完成。如果存在非线性结构,则可能只需要使用比数据的真实/固有维度更多的主成分(例如,半球的表面本质上是二维的,但可以使用三个维度完美地保留)。这并不是说 NLDR 预处理无济于事;在某些情况下可以。

过拟合。由于模型复杂性增加,NLDR 技术比 PCA 具有更大的过拟合能力,因此必须小心。

可解释性。在某些情况下,我们可能希望使用降维来帮助理解生成数据的过程。PCA 权重可以更容易地根据数据的原始维度来表达某些内容,但对于许多 NLDR 方法而言并非如此。

人类学问题。PCA 是一种古老、值得信赖且广为人知的标准,这使其成为人们经常使用的一种技术。论文的读者、客户和主管更有可能熟悉它。对 NLDR 算法的认识并没有那么好,实现也没有那么广泛。

综上所述,NLDR 是一个令人兴奋的领域,显然有 NLDR 消除了 PCA 的情况。我只关注 PCA 的优点,因为这就是问题所在。这完全取决于上下文。是 PCA 还是 NLDR 更合适取决于具体情况。