天天看點

詳解降維-主成分分析-機率角度(Probabilistic PCA)【白闆推導系列筆記】

教科書對PCA的推導一般是基于最小化重建誤差或者最大化可分性的,或者說是通過提取資料集的結構資訊來模組化一個限制最優化問題來推導的。事實上,PCA還有一種機率形式的推導,那就是機率PCA,PRML裡面有對機率PCA的詳細講解,感興趣的讀者可以去閱讀。需要注意的是,機率PCA不是PCA的變體,它就是PCA本身,機率PCA是從另一種角度來推導和了解PCA,它把PCA納入了生成式的架構。

如果你隻是為了對現有的資料$\left{x_{i}\right}_{i=1}^{n}$進行降維,而沒有其他需求,那麼簡單粗暴的非生成式方法當然是更好的選擇。

那麼,在什麼情況下,或者說什麼需求下,生成式方法是更好的選擇更好呢?答案就蘊含在“生成式”這個名稱中:在需要生成新樣本的情況下,生成式方法是更好的選擇。

作者:[小木曾雪菜]

連結:(機率)PCA和(變分)自編碼器 - 簡書 (jianshu.com)

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與PPCA推導及了解_scott198510的部落格-CSDN部落格_ppca

詳解降維-主成分分析-機率角度(Probabilistic PCA)【白闆推導系列筆記】

機率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)

$$

是以有

繼續閱讀