目录
  1. 1. P-PCA
    1. 1.1. 数据生成背景
    2. 1.2. 算法理论部分
    3. 1.3. EM算法
      1. 1.3.1. Likelihood
      2. 1.3.2. Joint Likelihood
      3. 1.3.3. E步:
      4. 1.3.4. M步:固定后验概率,即充分统计量固定(看作常数)
P-PCA

P-PCA

数据生成背景

根据白板推导我们已经知道,高斯混合模型有两种理解方式:几何角度**(非概率版本)和生成角度(概率版本)**。

模型的生成方式是:先选定一个高斯分布,再根据这个高斯分布的PDF生成数据点。所以高斯混合模型默认隐变量是离散的。而P-PCA隐变量是均值为0,方差为1的高斯分布。

概率版本非概率版本的区别在于隐变量的分布

  • 原先的隐变量为离散 --> 连续性(满足某个概率分布)

隐变量的分布情况

上图中左部分是传统的GMM模型,把三个独立的高斯分布根据权重拟合成一个混合的高斯分布。而右图中有无穷多个高斯分布,若选择zz均值附近被选中的概率非常高,所以拟合出的分布这里会非常高。

算法理论部分

已知: p(x)p(x) p(xz)p(x|z) p(z)p(z)

  • 隐变量服从零均值单位协方差p(z)N(z0,I)p(z) \sim \N(z|0,I)

  • 观测变量xx生成方式x=Wz+μ+εx = Wz + \mu + \varepsilon

    数据生成方式
  • p(xz)N(Wz+μ,σ2I)p(x|z) \sim \N(Wz+\mu,\sigma^2\cdot I)

  • p(x)p(x)也是高斯分布,原因在于:p(x)=zp(xz)p(z)dzp(x) = \int_zp(x|z)p(z)dz

推导xxPDF

xN(xμ,WWT+σ2I)x \sim N(x|\mu,WW^T+\sigma^2I)

分析:

E[x]=E[Wz+μ+ε]=μcov[x]=E[(xE[x])(xE[x])T]=E[(Wz+ε)(Wz+ε)T]=E[WzzTWT+εzTWT+WzεT+εεT]=WIWTD(z)+D(ε)=WWT+σ2I\begin{aligned} E[x] =& E[Wz+\mu+\varepsilon]=\mu \\ cov[x] =& E[(x-E[x])(x-E[x])^T] \\ =& E[(Wz+\varepsilon)(Wz+\varepsilon)^T] \\ =& E[Wzz^TW^T+\varepsilon z^TW^T+Wz\varepsilon^T+\varepsilon\varepsilon^T] \\ =& WIW^T\cdot D(z) +D(\varepsilon) \\ =& WW^T + \sigma^2 I \end{aligned}

其中:zzε\varepsilon 是独立的。E(zεT)=E(z)E(ε)=0E(z\cdot \varepsilon^T) = E(z)E(\varepsilon)=0

也可以直接利用方差的性质:

Var[x]=Var[Wz+μ+ε]=Var[Wz]+Var[ε]=WIWT+σ2I\begin{aligned} Var[x] = & Var[Wz+\mu+\varepsilon]\\ = & Var[Wz]+Var[\varepsilon] \\ = & W\cdot I \cdot W^T + \sigma^2I \end{aligned}

对于求解p(zx)p(z|x)比较难:

首先联合概率分布的PDF

性质:

xba=xbΣbaΣaa1xaμba=μbΣbaΣaa1μaΣbba=ΣbbΣbaΣaa1ΣabxbaN(μba,Σbba)\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} \\ x_{b\cdot a} \sim & N(\mu_{b\cdot a},\Sigma_{bb\cdot a}) \end{aligned}

又:xb=xba+ΣbaΣaa1xax_b = x_{b\cdot a} + \Sigma_{ba}\Sigma_{aa}^{-1}x_a

E[xbxa]=E[xba]+ΣbaΣaa1xa=μba+ΣbaΣaa1xa=μb+ΣbaΣaa1(xaμa)Var[xbxa]=Var[xba]+0=Σbba\begin{aligned} E[x_b|x_a] = &E[x_{b\cdot a }]+ \Sigma_{ba}\Sigma_{aa}^{-1}x_a \\ = &\mu_{ba} + \Sigma_{ba}\Sigma_{aa}^{-1}x_a \\ = &\mu_b + \Sigma_{ba}\Sigma_{aa}^{-1}(x_a-\mu_a) \\ Var[x_b|x_a] = & Var[x_{b\cdot a}]+0 = \Sigma_{bb\cdot a} \end{aligned}

上面介绍完性质:直接套用

(xz)N([μ0][WWT+σ2IWWI])\left( \begin{array}{c} x\\ z\\ \end{array} \right) \sim N\left( \begin{matrix} \left[ \begin{array}{c} \mu\\ 0\\ \end{array} \right]& \left[ \begin{matrix} WW^T+\sigma ^2I& W\\ W& I\\ \end{matrix} \right]\\ \end{matrix} \right)

其中:

cov(x,z)=E[(xμ)(z0)T]=E[(Wz+ε)zT]=E[WzzT]+E[εzT]=WI=W\begin{aligned} cov(x,z) =& E[(x-\mu)(z-0)^T] \\ =& E[(Wz+\varepsilon)z^T] \\ =& E[Wzz^T]+E[\varepsilon\cdot z^T] \\ =& W \cdot I = W \end{aligned}

白板书推导:

p(zx)N(WT(WWT+σ2I)1(xμ),IWT(WWT+σ2I)1W)p(z|x) \sim N(W^T(WW^T+\sigma^2I)^{-1}(x-\mu),I-W^T(WW^T+\sigma^2I)^{-1}W)

PRML:

M=WTW+σ2IM = W^TW + \sigma^2I

P(zx)N(zM1WT(xμ),σ2M1)P(z|x) \sim N(z|M^{-1}W^T(x-\mu),\sigma^2M^{-1})

根据矩阵的求逆公式:

(P1+BTR1B)1BTR1=PBT(BPBT+R)1(P^{-1}+B^TR^{-1}B)^{-1}B^TR^{-1} = PB^T(BPB^T+R)^{-1}

可以证明上面白板书推导出的公式和PRML给出的公式是等价的。

EM算法

其中需要估计的参数是:W,μ,σ2W,\mu,\sigma^2

Likelihood

lnp(XW,μ,σ2)=n=1Nlnp(xnW,μ,σ2)=ND2ln(2π)N2lnΣ12n=1N(xnμ)TΣ1(xnμ)=N2{Dln(2π)+lnΣ+Tr(Σ1S}\begin{aligned} lnp({X}|W,\mu,\sigma^2) = & \sum_{n=1}^N lnp(x_n|W,\mu,\sigma^2)\\ = & -\frac{ND}{2}ln(2\pi) - \frac{N}{2}ln|\Sigma|-\frac{1}{2}\sum_{n=1}^N (x_n-\mu)^T\Sigma^{-1}(x_n-\mu) \\ = & -\frac{N}{2}\{ Dln(2\pi)+ln|\Sigma|+Tr(\Sigma^{-1}S\} \end{aligned}

常规:MLE求极值能得到近似封闭解

Joint Likelihood

lnp(X,ZW,μ,σ2)=n=1N{lnp(xnzn)+lnp(zn)}E[lnp(x,zW,μ,σ2)]=n=1N{D2ln(2πσ2)+12Tr(E[znznT])+12σ2xnμ21σ2E[zn]TWT(xnμ)+12σ2Tr(E[znZnT]WTW)+M2ln(2π)}\begin{aligned} lnp(X,Z|W,\mu,\sigma^2) = & \sum_{n=1}^N\{lnp(x_n|z_n)+lnp(z_n)\} \\ E[lnp(x,z|W,\mu,\sigma^2)] = & -\sum_{n=1}^N\{\frac{D}{2}ln(2\pi\sigma^2) +\frac{1}{2}Tr(E[z_nz_n^T])+ \\ &\frac{1}{2\sigma^2}\|x_n-\mu\|^2-\frac{1}{\sigma^2}{E[z_n]^TW^T(x_n-\mu)+\frac{1}{2\sigma^2}Tr(E[z_nZ_n^T]W^TW)+\frac{M}{2}ln(2\pi)}\} \end{aligned}

其中,涉及需要估计充分统计量,需要依赖后验概率

E步:

Ezx[zn]=M1WT(xnxˉ)Ezx[znznT]=cov[zn]+E[zn]E[zn]T=σ2M1+E[zn]E[zn]T\begin{aligned} E_{z|x}[z_n] = & M^{-1}W^T(x_n-\bar{x}) \\ E_{z|x}[z_nz_n^T] = & cov[z_n] + E[z_n]E[z_n]^T \\ = & \sigma^2M^{-1}+E[z_n]E[z_n]^T \end{aligned}

M步:固定后验概率,即充分统计量固定(看作常数)

首先明确更新的变量为:σ2\sigma^2WW

举例说明:ΔW\frac{\partial\Delta}{\partial W}

Δ=n=1N{1σ2E[zn]TWT(xnμ)+12σ2Tr(E[znznT]WTW)}\Delta = -\sum_{n=1}^N\{-\frac{1}{\sigma^2}E[z_n]^TW^T(x_n-\mu)+\frac{1}{2\sigma^2}Tr(E[z_nz_n^T]W^TW)\}

为了方便求导,利用迹的性质:

Tr(ABC)=Tr(BCA)=Tr(CAB)Tr(ABC) = Tr(BCA) = Tr(CAB)

故上面公式中:

Tr(E[znznT]WTW)=Tr(WTWE[znznT])Tr(E[z_nz_n^T]W^TW) = Tr(W^TWE[z_nz_n^T])

拉格朗日求导:

ΔW=n=1N{1σ2E[zn]T(xnμ)+12σ22WE[znznT]}=0\frac{\partial\Delta}{\partial W} = \sum_{n=1}^N\{-\frac{1}{\sigma^2}E[z_n]^T(x_n-\mu)+\frac{1}{2\sigma^2}2WE[z_nz_n^T]\} = 0

可以推出:

Wnew=[n=1NE[zn]T(xnμ)][n=1NE[znznT]]1W_{new} = [\sum_{n=1}^NE[z_n]^T(x_n-\mu)][\sum_{n=1}^NE[z_nz_n^T]]^{-1}

同理可得:(这里具体推导省略)

σ^new=1NDn=1N{xnxˉ2E[zn]TWnewT(xnxˉ)+Tr(E[znznT]WnewTWnew)}\hat{\sigma}_{new}=\frac{1}{ND}\sum_{n=1}^N\{\|x_n-\bar{x}\|-2E[z_n]^TW_{new}^T(x_n-\bar{x})+Tr(E[z_nz_n^T]W_{new}^TW_{new}) \}

文章作者: Jacky
文章链接: https://wangjs-jacky.github.io/2020/03/04/P-PCA/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jacky's blogs