教科书对PCA的推导一般是基于最小化重建误差或者最大化可分性的,或者说是通过提取数据集的结构信息来建模一个约束最优化问题来推导的。事实上,PCA还有一种概率形式的推导,那就是概率PCA,PRML里面有对概率PCA的详细讲解,感兴趣的读者可以去阅读。需要注意的是,概率PCA不是PCA的变体,它就是PCA本身,概率PCA是从另一种角度来推导和理解PCA,它把PCA纳入了生成式的框架。
如果你只是为了对现有的数据$\left{x_{i}\right}_{i=1}^{n}$进行降维,而没有其他需求,那么简单粗暴的非生成式方法当然是更好的选择。
那么,在什么情况下,或者说什么需求下,生成式方法是更好的选择更好呢?答案就蕴含在“生成式”这个名称中:在需要生成新样本的情况下,生成式方法是更好的选择。
作者:小木曾雪菜
PPCA假设所有的样本点取自某个分布$X \in \mathbb{R}^{p}$,对应的每个点$x_{i}$,都有一个$z_{i}$与之对应,取样与某个分布$Z \in \mathbb{R}^{q}(q<p)$,满足以下条件
$$
x=\omega z +\mu+\epsilon
$$
这里,显然$\omega$是正交矩阵,即$\omega^{T}\omega=\mathbb{I}$,$\epsilon$为噪声$\epsilon \sim N(0,\sigma^{2}\mathbb{I}_{p}),\epsilon \bot z$,这里我们令$z$有高斯先验分布,即
$$
z \sim N(\mathbb{O}{q},\mathbb{I}{q})
$$
其中矩阵$\omega$(维度为$p \times q$)也称作因子导入矩阵(factorloading matrix),$\epsilon$维度为$p \times p$,目的是解释原始数据$x_{i}$内部的相关性,所以方差矩阵$\epsilon$可设置为对角矩阵。这个能表征全部数据特征的全局模型就称为因子分析(Factor Analysis)。对于一个特例,$\omega$是正交矩阵,满足$\omega^{T}\omega=\mathbb{I},\epsilon =\sigma^{2}\mathbb{I}$,,此时模型就是概率性主成分分析PPCA,进一步地当$\sigma^{2}\to 0$时,就是通常意义上的PCA。
作者:scott198510
概率PCA模型的生成式观点的说明,数据空间为二维,潜在空间为一维。一个观测数据点$x$的生成方式为:首先从潜在变量的先验分布$p(z)$中抽取一个潜在的变量的值$\hat{z}$,然后从一个各向同性的高斯分布(用红色圆圈表示)中抽取一个$x$的值,这个各向同性的高斯分布的均值为$\omega \hat{z}+\mu$,协方差$\sigma^{2}\mathbb{I}$。苦涩椭圆画出了边缘概率分布$p(x)$的概率轮廓线
来源:《PRML Translation》-P389
作者:马春鹏
原著:《Pattern Recognition and Machine Learning》
作者:Christopher M. Bishop
显然我们的目的是为了计算$z|x$。根据条件我们可以计算$x|z,x$,再根据数学基础-概率-高斯分布-求联合概率分布
就可以得到$z|x$
对于$x|z$
$$
\begin{aligned}
E(x|z)&=E(\omega z+\mu+\epsilon )\
&=\omega z+\mu\
\text{Var}(x|z)&=\text{Var}(\omega z+\mu+\epsilon )\
&=\sigma^{2}\mathbb{I}\
x|z &\sim N(\omega z+\mu,\sigma^{2}\mathbb{I})
\end{aligned}
$$
对于$x$
$$
\begin{aligned}
E(x)&=E(\omega z+\mu+\epsilon )\
&=E(\omega z+\mu)+E(\epsilon )\
&=\mu\
\text{Var}(x)&=\text{Var}(\omega z+\mu+\epsilon )\
&=\text{Var}(\omega z)+\text{Var}(\epsilon )\
&=\omega \cdot \mathbb{I} \cdot \omega^{T}+\sigma^{2}\mathbb{I}\
&=\omega \omega^{T}+\sigma^{2}\mathbb{I}\
x&\sim N(\mu,\omega \omega^{T}+\sigma^{2}\mathbb{I})
\end{aligned}
$$
这里再把之前数学基础-概率-高斯分布-求联合概率分布
的结论大概推导一下
已知
$$
x=\begin{pmatrix}
x_{a} \ x_{b}
\end{pmatrix},x \sim N\left(\begin{bmatrix}
\mu_{a} \ \mu_{b}
\end{bmatrix},\begin{bmatrix}
\Sigma_{aa} & \Sigma_{ab} \ \Sigma_{ba} & \Sigma_{bb}
\end{bmatrix}\right)
$$
设
$$
\left{\begin{aligned}&x_{b \cdot a}=x_{b}-\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}\
&\mu_{b \cdot a}=\mu_{b}-\Sigma_{ba}\Sigma_{aa}^{-1}\mu_{a}\
&\Sigma_{bb \cdot a}=\Sigma_{bb}-\Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{ab}\end{aligned}\right.
$$
显然有
$$
x_{b \cdot a}\sim N(\mu_{b \cdot a},\Sigma_{bb \cdot a})
$$
又因为$x_{b}=x_{b \cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}$,有
$$
\begin{aligned}
E(x_{b}|x_{a})&=E(x_{b \cdot a})+\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}\
&=\mu_{b \cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}\
&=\mu_{b}+\Sigma_{ba}\Sigma_{aa}^{-1}(x_{a}-\mu_{a})\
\text{Var}(x_{b}|x_{a})&=\text{Var}(x_{b\cdot a})\
&=\Sigma_{bb \cdot a}\
&=\Sigma_{bb}-\Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{ab}\
x_{b}|x_{a}& \sim N(\mu_{b}+\Sigma_{ba}\Sigma_{aa}^{-1}(x_{a}-\mu_{a}),\Sigma_{bb}-\Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{ab})
\end{aligned}
$$
这里其实应该证明$x_{b \cdot a}\bot x_{a}$,来保证$x_{b}|x_{a}=x_{b \cdot a}|x_{a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}|x_{a}=x_{b \cdot a}+\Sigma_{ba}\Sigma_{aa}^{-1}x_{a}$成立,但由于以前的笔记证明过了,就不证了)
那么对于本题而言,有
$$
X=\begin{pmatrix}
x \ z
\end{pmatrix},X \sim N\left(\begin{bmatrix}
\mu \ 0
\end{bmatrix},\begin{bmatrix}
\omega \omega^{T}+\sigma^{2}\mathbb{I} & \Delta \ \Delta ^{T} & \mathbb{I}
\end{bmatrix}\right)
$$
这里对$\Delta$,有
$$
\begin{aligned}
\text{Cov}(x,z)&=E[(x-\mu)(z-0)^{T}]\
&=E[(x-\mu)z^{T}]\
&=E[(\omega z+\epsilon )z^{T}]\
&=E(\omega z z^{T}+\epsilon z^{T})\
&由于\epsilon \bot z\
&=E(\omega z z^{T})+\underbrace{E(\epsilon z^{T})}_{0}\
&=\omega E(\underbrace{zz^{T}}_{z的方差矩阵})\
&=\omega \mathbb{I}\
&=\omega
\end{aligned}
$$
因此条件补充为
$$
X=\begin{pmatrix}
x \ z
\end{pmatrix},X \sim N\left(\begin{bmatrix}
\mu \ 0
\end{bmatrix},\begin{bmatrix}
\omega \omega^{T}+\sigma^{2}\mathbb{I} & \omega \ \omega^{T} & \mathbb{I}
\end{bmatrix}\right)
$$
因此有
$$
z|x \sim N(\omega^{T}(\omega \omega^{T}+\sigma^{2}\mathbb{I})^{-1}(x-\mu),\mathbb{I}-\omega^{T}(\omega \omega^{T}+\sigma^{2}\mathbb{I})^{-1}\omega)
$$