关于概率PCA(多元正态分布)协方差的极大似然估计(MLE)求解问询
看起来你在推导概率PCA的极大似然估计时,卡在了协方差相关参数的求解上,我来帮你梳理这部分的推导逻辑~
首先回顾下概率PCA的基础设定:
我们假设样本$x$服从多元正态分布:
$$x \sim \mathcal N(b, C)$$
其中协方差矩阵$C$有特定的结构:
$$C=WW^\top + \sigma^2 I_d$$
这里$b \in \mathbb{R}^d$是全局均值向量,$W \in \mathbb{R}^{d\times m}$是低维投影矩阵,$\sigma^2$是高斯噪声的方差,$I_d$是$d$维单位矩阵。
对于$n$个独立同分布的样本$(x_i){i=1}^n$,对应的对数似然函数为:
$$\log \mathcal L({x_i} \mid b, W, \sigma^2) = -\frac{nd}{2} \log(2 \pi) - \frac{n}{2} \log|C| - \frac12 \sum{i=1}^n (x_i - b)^\top C^{-1} (x_i - b)$$
你已经找对了均值$b$的MLE——就是样本均值:
$$\hat{b} = \frac1n \sum_{i=1}^n x_i$$
接下来聚焦协方差相关的参数$W$和$\sigma^2$:
当我们对对数似然函数关于$W$求偏导时,得到的结果确实是:
$$\frac{\partial \log \mathcal L}{\partial W} = n(C^{-1} S C^{-1} W - C^{-1} W)$$
(这里补充下,$S$是样本协方差矩阵,即$S = \frac{1}{n}\sum_{i=1}^n (x_i - \hat{b})(x_i - \hat{b})^\top$,这是推导里的关键中间变量)
要找到$W$的MLE,我们令这个偏导数等于0,得到极值条件:
$$C^{-1} S C^{-1} W - C^{-1} W = 0$$
两边同时左乘$C$可以简化式子:
$$S C^{-1} W = W$$
再把$C = WW^\top + \sigma^2 I_d$代入上式,结合样本协方差矩阵$S$的特征值分解,就能推导出闭式解:
- 先对$S$做特征值分解:$S = U \Lambda U^\top$,其中$\Lambda$是按降序排列的特征值对角矩阵,$U$是对应的正交特征向量矩阵
- $W$的MLE取$U$中前$m$个最大特征值对应的列,构成矩阵$U_m$,再乘以$\sqrt{\Lambda_m - \sigma^2 I_m}$,即$\hat{W} = U_m \sqrt{\Lambda_m - \sigma^2 I_m}$
- 噪声方差$\sigma2$的MLE则是剩余$d-m$个特征值的平均值:$\hat{\sigma}2 = \frac{1}{d-m}\sum_{i=m+1}^d \lambda_i$,其中$\lambda_i$是$S$的第$i$个特征值
备注:内容来源于stack exchange,提问作者Lopsio

