Factor Analysis and Principal Components Analysis

RPChe_

本文原先是要讲 Mixture of Gaussians, Factor Analysis, Independent Components Analysis 和 Principal Components Analysis 的。但后来我觉得 MoG 在计算上实在是没什么好讲的,而 ICA 的假设太强而脱离实际,所以这两者就不讲了。

Factor Analysis

  • 对于 维欧式空间 中的数据,假设其服从高斯分布。现在我们希望通过某种方式学习一个高斯分布 来拟合这些数据。对于一般的情况,直接做 MLE 即可,即直接使用数据的均值 和协方差矩阵 作为高斯参量。但有时我们会遇到一些问题,主要是:

    • 若数据量 远小于维数 ,此时数据的协方差矩阵 是退化的,这导致 相对于 上勒贝格测度的概率密度并不存在,可能会造成一定的麻烦。

    另一方面,我们有时会希望对模型做这样的假设,例如在心理学中,可能会假设数据由较少的几个潜在因子影响。从这些看法出发,我们考虑假设模型由一些低维的潜变量再加上高维中的噪声影响。我们期待这一建模可以反映少量低维潜在因子的假设,并且可以在数据量较少的情况下学习到更合理的概率分布,这便是 Factor Analysis 。

The Factor Analysis Model

  • 考虑这样的简单隐变量模型,对于 ,假设 。进一步,对于可观测变量 ,假设其服从条件分布 ,其中 为一对角阵,作为 维高斯噪声。若定义 ,并令 ,则容易看出,该建模等价于设定 熟知任意独立高斯的和仍然是高斯1,因此 服从高斯分布。

How to Solve Factor Analysis

  • 观察 FA 的建模,其是具备单一隐变量 的简单隐变量模型。由于直接优化比较困难,我们考虑做 EM 。此处其实并没有什么特别的技巧,但是由于本人并不熟高斯分布的计算2,所以此处给出对 FA 做 EM 的详细推导,作为练习。为此,我们先考虑 的联合分布。由于 是联合高斯的。注意到 是对 的仿射变换,因而也是联合高斯的。容易看出,随机向量 的均值为 现在考虑协方差 以及 的方差 注意以上利用到 。这说明对于随机向量 的联合分布应有:
  • 现在考虑对 FA 做 EM 。回忆 EM 的优化目标是: 其中参数 。在 E-step 中,我们对 做优化,此时应有: 由于 联合高斯,条件分布 也是高斯,下面我们对此给出一个简要的推导。

    考虑一般的联合高斯随机变量 现在我们希望求取 。方便起见,先做中心化得到 。我们希望得到这样的形式 其中 为一线性变换,使得 ,因为这样便有 ,我们可以从中直接读出条件分布的信息。由于 是联合高斯的仿射变换,其同样是一高斯。而高斯随机变量独立等价于协方差为 ,因此 注意到协方差是双线性的 我们一般要求协方差矩阵是满秩的,以保证概率密度存在。因此 从而 显然 是中心化的,因此 现在考虑 的方差,应有 注意最后一步代入了 。这说明

    由以上的结果,代入 FA 的形式,便得到了后验概率

  • 现在考虑 M-Step 。即: 注意后两项是与 无关的。我们最关心

    显然, 总是应取样本均值。接下来需要优化 ,我们以 为例。对其做梯度 展开二次型得到 现在我们要分别计算两项的梯度。按照《Discussion to Differetials and Derivatives》一篇中的叙述,容易得到 由费马引理,在极值点处 剩下的也就没啥好算的了,这里就不演示了。

Principal Components Analysis

  • 一般的资料中对 PCA 的看法可能很多,这里我们介绍较为严格的两种。

子空间估计

  • 第一种看法是将 PCA 看作直接的子空间估计。具体的,对于 中某个分布采样得到的数据集 ,我们假设其应服从某个落在 维线性子空间中的分布,然而由于采样过程中的噪声,数据点的差向量张成的线性空间实际上可能是 。因此,我们希望找到某个 维子空间,使其最有可能是数据点的原分布所在的空间。

    一般的,此时我们会想做 MLE ,为此我们需要对 的分布提出具体的建模。然而一个直接的看法是,我们希望找到一个 的子空间,使得所有数据点到这一空间的投影残差平方和最小。为此,先对数据点做中心化,以去除均值带来的偏置。这一做法的根因是原分布可能落在某个仿射子空间中,但以下我们只考虑线性子空间。至此,原问题转化为了标准的子空间估计问题,熟知解恰为 SVD 分解中前 大奇异值对应的正交向量所张成的空间,亦即数据协方差的谱分解的前 大特征值对应特征向量的张成。

Probabilistic PCA

  • 如果寻求严格的 MLE 解释,应考虑类似于 FA 的建模。具体的,假设观测数据 服从 其中 ,称该建模为 Probabilistic PCA 。容易看出 ,则 对其做 MLE ,写出对数似然 显然 总是应取样本均值。则最大化上式等价于最小化 注意到其中出现了样本协方差 因此优化目标为 注意到 均为对称阵,对其做谱分解得到 ,其中 注意 的特征值序列用到了 的半正定性。显然 对于后一项,考虑 为一单位正交阵,得到 。易见 可取任意的单位正交阵,因此 也是任取的。现在暂时固定 ,将迹展开

    ,则矩阵 是 doubly stochastic matrix ,即每行列的和均为 。熟知任意 doubly stochastic matrix 可以写成置换阵的凸组合,即对于全体置换阵组成的集合 ,存在 ,使得 因此 由 exchange argument ,容易看出对于任意 这便给出了 且当 时取等。因此 且上式在 时取等。这便给出了对 所在子空间的估计,其恰为 的前 个列向量的张成。进一步,考虑固定子空间时的优化目标 这是一个简单的问题。容易得到最优解应为

    这进一步给出了 PPCA 模型的高斯噪声大小和子空间分布的协方差。令 的前 列, 为前 大特征值构成的对角阵,则应有 其中开方按照谱演算定义, 为一任意正交阵。由此可以看出 PPCA 的 MLE 解并不唯一,被确定的应是 为样本协方差的前 大特征值对应特征向量的张成。


  1. 简短的证明可以由特征函数给出。由于本人忘了特征函数那一套,可能以后再给出详细证明。↩︎

  2. 我们以后应该会单独写一篇详细讨论高斯分布的计算和性质。↩︎

  • 标题: Factor Analysis and Principal Components Analysis
  • 作者: RPChe_
  • 创建于 : 2025-10-31 00:00:00
  • 更新于 : 2026-06-28 02:05:23
  • 链接: https://rpche-6626.github.io/2025/10/31/ML/fa/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论