概率pca(probabilistic pca)的理解

  • ppca原理

    pca 可以从很多角度来理解,今天来谈一谈不太知名的ppca。所谓概率pca, 就是构建一个概率模型,对于一个数据 x, 可以认为这样生成的,x=wz+\mu +\sigma\cdot\epsilon,  w 是p\times q维,p>q , z是均值为0,方差为 _{Iq} 的 q维高斯随机向量,\sigma > 0\epsilon 是均值为0 , 方差为 _{Ip} 的 p 维高斯随机向量,z 和\epsilon  独立。w, \mu ,\sigma 是未知参数,把 z 看成隐变量,对 x 降维的结果,就是要求出它在低维空间的隐变量,但是隐变量是随机变量,因此我们要求得已知 x时 z的期望,即E(z|x) ,这个模型可以看成一种特殊的高斯混合模型,求解方法也和GMM一样。

     要求 E(z|x),我们就要求得P(z|x), 接下来涉及一系列概率计算。给定z时,x-\mu |z,\sigma \sim N(wz,\sigma^{^{2}}I_{p}), 将z积分,可得x-\mu全概率分布 x-\mu \sim N(0,ww^{^{T}}+\sigma^{^{2}}I_{p}) . 根据贝叶斯定理, 

                          p(z|x-\mu )\propto p(x-\mu |z)p(z)=exp(\frac{-1}{2\sigma ^{^{2}}}(x-\mu -wz)^{T}(x-\mu -wz))exp(\frac{-1}{2}z^{T}z),

进行配方,保留和 z 有关的项,得到  

                                                   p(z|x-\mu )\sim N(M^{-1}w^{T}(x-\mu ),\sigma ^{2}M^{-1}),

其中M=\sigma ^{2}I_{q}+w^{T}w, 因此当已知 x 后,z 的期望就是 M^{-1}w^{T}(x-\mu ),即 x 的降维结果,剩下的问题就是如何求得 w, \mu ,\sigma 这三个参数了,有两种方法可以用来求解,极大似然法和EM算法,用这两种求解都非常复杂。这里介绍最大似然的解法。

  • 极大似然求解

       将ww^{^{T}}+\sigma^{^{2}}I_{p} 记作 C,  对数似然函数为F\frac{1}{\left | C \right |^{n/2}} exp(\frac{-1}{2}\sum (x_{i}-\mu )^{T}C^{-1}(x_{i}-\mu )), 和一般高斯分布的似然函数一样, 只是C是参数的复合。写成log的形式:

                                                     -\frac{n}{2}log|C|-\frac{1}{2}\sum(x_{i}-\mu ) ^{T}C^{-1}(x_{i}-\mu )                          

对 \mu 求导,导数为:  \sum C^{-1}(x_{i}-\mu )。令导数等于0,求得 :

                                                                           \mu =1/n\sum_{i=1}^{n}x^{_{i}}

即 \mu 等于样本的均值,这个结果和高斯分布极大似然一样。

        再求 w 和 \sigma 。对 w 求偏导:F 写成trace 的形式,log(C)+tr(C^{-1}S)S 是方差矩阵:

                                                                 S=\frac{1}{n}\sum (x_{i}-\mu )(x_{i}-\mu )^{T} 

根据链式法则,dF==dlog|C|+d tr(C^{-1}S)=dlog\left | C \right |+tr(dC^{-1}S)d 表示微分。

进一步,dlog|C|=tr(C^{-1}dC), 又 C^{-1}C=I, 左右两边求微分,dC^{-1}=-C^{-1}dCC^{-1},

所以 ,

                           dF=tr(C^{-1}dC)-tr(C^{-1}dCC^{-1})

dC=dww^{T}+wdw^{T},带入上式,最后得到:  

                                                            \frac{dF}{dw}=C^{-1}w-C^{-1}SC^{-1}w,

类似的,令\tau =\sigma ^{2}

                                 \frac{dF}{d\tau}=tr(C^{-1}-C^{-1}SC^{-1}).。

令这两项为零,最后即可以求得w,\sigma。由于解这两个方程实在是过于复杂,这里就不介绍怎么解了,以后有时间会介绍怎么用EM来求解。

你可能感兴趣的:(概率pca(probabilistic pca)的理解)