将 PCA 编写为一种特殊的自动编码器

机器算法验证 主成分分析 优化 自动编码器
2022-03-24 21:41:22

我想知道是否可以将 PCA 视为一种特定类型的神经网络,但是,有一个主要的绊脚石我还没有克服。

定义以下“具有线性传递/激活函数的单层神经网络”:

nn(x)=Wx+b.
你会使用什么损失函数或训练方案来获得nn表现得像 PCA?具体来说,是否有一种梯度下降方案似乎至少在实践中可以保证W? PCA 给出了转换
XUΣ
被定义为
f(X~)=X~V
在哪里X=UΣV是数据矩阵的奇异值分解X.

注意:我写的方式,x是一个列向量,所以xT是个j矩阵的第 行(“观察”)X. 所以,一定是这样W=VT并且要么b0[如果没有美白],或b=VTμ在哪里μ是列均值的向量X[如果有美白]。

1个回答

组件的正交性不是您可以反向传播的。您必须更改优化以包括在每次更新后也强制正交性的步骤。这很昂贵,而且结果可能并非处处可微。(这在“批标准化:通过减少内部协变量偏移来加速深度网络训练”中顺便讨论过,Sergey Ioffe 和 Christian Szegedy)

但是,您可以使用线性自动编码器来发现跨越主成分的基础,或者使用非线性自动编码器来获得与非线性 PCA 类似的模拟。

更多信息可以在Elad Plaut的“ From Principal Subspaces to Principal Components with Linear Autoencoders ”中找到。

自编码器是一种有效的无监督学习模型,广泛用于深度学习。众所周知,具有单个全连接隐藏层、线性激活函数和平方误差成本函数的自动编码器训练的权重跨越与主成分加载向量跨越的子空间相同的子空间,但它们是与加载向量不同。在本文中,我们展示了如何从自动编码器权重中恢复加载向量。

由 Daniel Kunin、Jonathan M. Bloom、Aleksandrina Goeva、Cotton Seed 撰写的“正则化线性自动编码器的损失景观”进一步发展了这一想法

自编码器是一种用于表示学习的深度学习模型。当被训练以最小化数据与其重建之间的欧几里得距离时,线性自动编码器 (LAE) 学习由顶部主方向跨越的子空间,但不能学习主方向本身。在本文中,我们证明L2- 正则化 LAE 将主方向学习为解码器的左奇异向量,为排名提供了一种极其简单和可扩展的算法-kSVD。更一般地,我们考虑具有 (i) 无正则化,(ii) 编码器和解码器组合的正则化,以及 (iii) 编码器和解码器分别正则化的 LAE。我们将 (iii) 的最小值与概率 PCA 的 MAP 估计联系起来,并表明对于所有关键点,编码器和解码器都是转置的。基于拓扑直觉,我们通过一个新颖的统一框架平滑地参数化所有三种损失的关键流形,并以经验方式说明这些结果。总的来说,这项工作阐明了自编码器和贝叶斯模型之间以及正则化和正交性之间的关系。