概率 PCA 中的主要子空间是什么?

机器算法验证 机器学习 主成分分析 潜变量 特征值
2022-02-03 08:28:33

如果X是观察到的数据矩阵和Y那么是潜变量

X=WY+μ+ϵ

在哪里μ是观测数据的平均值,并且ϵ是数据中的高斯误差/噪声,并且W称为主子空间。

我的问题是,当使用普通 PCA 时,我们会得到一组正交特征向量E以下为真

Y=EX

但在 PPCA 中,W既不是标准正交也不是特征向量。那么我怎样才能从W?

按照我的直觉,我在 MATLAB 中搜索了ppca,在那里我遇到了这一行:

收敛时,W 的列跨越子空间,但它们不是正交的。ppca 通过 W 的正交化获得分量的正交系数 coeff。

我稍微修改了 ppca 代码以获取W,运行它,在正交化之后,我确实W得到了P

为什么这种正交化给出了特征向量,沿着它可以看到大部分的方差?

我假设,正交化给了我一组跨越主子空间的正交/正交向量,但是为什么这个正交化的结果矩阵等于特征矩阵(我知道 pca 中的特征矩阵也是正交的)?我可以假设主要子空间仅由一组唯一的正交向量跨越吗?在这种情况下,两个结果将始终一致。

1个回答

这是一个很好的问题。

概率 PCA (PPCA) 是以下潜变量模型

zN(0,I)xN(Wz+μ,σ2I),
在哪里xRp是一个观察和zRq是一个潜变量向量;通常qp. 请注意,这与因子分析仅在一个小细节上有所不同: PPCA 中的误差协方差结构是σ2I在 FA 中它是一个任意的对角矩阵Ψ.

Tipping & Bishop, 1999, 概率主成分分析证明了以下定理: PPCA 的最大似然解可以通过分析获得并由 (Eq. 7) 给出:

WML=Uq(ΛqσML2I)1/2R,
在哪里Uq是一个矩阵q领先的主要方向(协方差矩阵的特征向量),Λq是对应特征值的对角矩阵,σML2也由一个显式公式给出,并且R是任意的q×q旋转矩阵(对应于潜在空间中的旋转)。

ppca()函数实现了期望最大化算法来拟合模型,但我们知道它必须收敛到WML如上所述。

你的问题是:如何获得Uq如果你知道的话WML.

答案是你可以简单地使用奇异值分解WML. 上面的公式已经是正交矩阵乘以对角矩阵乘以正交矩阵的形式,所以它给出了 SVD,因为它是唯一的,你会得到Uq作为左奇异向量WML.

这正是 Matlab 的ppca()函数在第 305 行所做的:

% Orthogonalize W to the standard PCA subspace
[coeff,~] = svd(W,'econ');

我可以假设主要子空间仅由一组唯一的正交向量跨越吗?

不!有无限数量的正交基跨越相同的主子空间。如果您将一些任意正交化过程应用于WML您不能保证获得Uq. 但是,如果您使用 SVD 或类似的东西,那么它会起作用。