概率PCA与PPCA推导及理解

释放双眼,带上耳机,听听看~!
本文讲解了概率PCA与PPCA模型的生成式观点,以及相关数学推导,涉及了主成分分析和高斯分布等内容。

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,小木曾雪菜

链接:(概率)PCA和(变分)自编码器 – 简书 (jianshu.com)

 

PPCA假设所有的样本点取自某个分布X∈RpX in mathbb{R}^{p},对应的每个点xix_{i},都有一个ziz_{i}与之对应,取样与某个分布Z∈Rq(q<p)Z in mathbb{R}^{q}(q<p),满足以下条件

x=ωz+μ+ϵ
x=omega z +mu+epsilon

这里,显然ωomega是正交矩阵,即ωTω=Iomega^{T}omega=mathbb{I}ϵepsilon为噪声ϵ∼N(0,σ2Ip),ϵ⊥zepsilon sim N(0,sigma^{2}mathbb{I}_{p}),epsilon bot z,这里我们令zz有高斯先验分布,即

z∼N(Oq,Iq)
z sim N(mathbb{O}_{q},mathbb{I}_{q})

 

其中矩阵ωomega(维度为p×qp times q)也称作因子导入矩阵(factorloading matrix),ϵepsilon维度为p×pp times p,目的是解释原始数据xix_{i}内部的相关性,所以方差矩阵ϵepsilon可设置为对角矩阵。这个能表征全部数据特征的全局模型就称为因子分析(Factor Analysis)。对于一个特例,ωomega是正交矩阵,满足ωTω=I,ϵ=σ2Iomega^{T}omega=mathbb{I},epsilon =sigma^{2}mathbb{I},,此时模型就是概率性主成分分析PPCA,进一步地当σ2→0sigma^{2}to 0时,就是通常意义上的PCA。

作者:scott198510

链接:PCA与PPCA推导及理解_scott198510的博客-CSDN博客_ppca

 

概率PCA与PPCA推导及理解

概率PCA模型的生成式观点的说明,数据空间为二维,潜在空间为一维。一个观测数据点xx的生成方式为:首先从潜在变量的先验分布p(z)p(z)中抽取一个潜在的变量的值z^hat{z},然后从一个各向同性的高斯分布(用红色圆圈表示)中抽取一个xx的值,这个各向同性的高斯分布的均值为ωz^+μomega hat{z}+mu,协方差σ2Isigma^{2}mathbb{I}。苦涩椭圆画出了边缘概率分布p(x)p(x)的概率轮廓线

来源:《PRML Translation》-P389

作者:马春鹏

原著:《Pattern Recognition and Machine Learning》

作者:Christopher M. Bishop

 

显然我们的目的是为了计算z∣xz|x。根据条件我们可以计算x∣z,xx|z,x,再根据数学基础-概率-高斯分布-求联合概率分布就可以得到z∣xz|x

对于x∣zx|z

E(x∣z)=E(ωz+μ+ϵ)=ωz+μVar(x∣z)=Var(ωz+μ+ϵ)=σ2Ix∣z∼N(ωz+μ,σ2I)
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}

对于xx

E(x)=E(ωz+μ+ϵ)=E(ωz+μ)+E(ϵ)=μVar(x)=Var(ωz+μ+ϵ)=Var(ωz)+Var(ϵ)=ω⋅I⋅ωT+σ2I=ωωT+σ2Ix∼N(μ,ωωT+σ2I)
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=(xaxb),x∼N([μaμb],[ΣaaΣabΣbaΣbb])
x=begin{pmatrix}

x_{a} \ x_{b}

end{pmatrix},x sim Nleft(begin{bmatrix}

mu_{a} \ mu_{b}

end{bmatrix},begin{bmatrix}

Sigma_{aa} & Sigma_{ab} \ Sigma_{ba} & Sigma_{bb}

end{bmatrix}right)

{xb⋅a=xb−ΣbaΣaa−1xaμb⋅a=μb−ΣbaΣaa−1μaΣbb⋅a=Σbb−ΣbaΣaa−1Σab
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.

显然有

xb⋅a∼N(μb⋅a,Σbb⋅a)
x_{b cdot a}sim N(mu_{b cdot a},Sigma_{bb cdot a})

又因为xb=xb⋅a+ΣbaΣaa−1xax_{b}=x_{b cdot a}+Sigma_{ba}Sigma_{aa}^{-1}x_{a},有

E(xb∣xa)=E(xb⋅a)+ΣbaΣaa−1xa=μb⋅a+ΣbaΣaa−1xa=μb+ΣbaΣaa−1(xa−μa)Var(xb∣xa)=Var(xb⋅a)=Σbb⋅a=Σbb−ΣbaΣaa−1Σabxb∣xa∼N(μb+ΣbaΣaa−1(xa−μa),Σbb−ΣbaΣaa−1Σab)
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_{bcdot 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}

 

这里其实应该证明xb⋅a⊥xax_{b cdot a}bot x_{a},来保证xb∣xa=xb⋅a∣xa+ΣbaΣaa−1xa∣xa=xb⋅a+ΣbaΣaa−1xax_{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=(xz),X∼N([μ0],[ωωT+σ2IΔ ΔTI])
X=begin{pmatrix}

x \ z

end{pmatrix},X sim Nleft(begin{bmatrix}

mu \ 0

end{bmatrix},begin{bmatrix}

omega omega^{T}+sigma^{2}mathbb{I} & Delta  \ Delta ^{T} & mathbb{I}

end{bmatrix}right)

这里对ΔDelta,有

Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]=E[(ωz+ϵ)zT]=E(ωzzT+ϵzT)由于ϵ⊥z=E(ωzzT)+E(ϵ zT)⏟0=ωE(zzT⏟z的方差矩阵)=ωI=ω
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=(xz),X∼N([μ0],[ωωT+σ2Iω ωTI])
X=begin{pmatrix}

x \ z

end{pmatrix},X sim Nleft(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∼N(ωT(ωωT+σ2I)−1(x−μ),I−ωT(ωωT+σ2I)−1ω)
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)

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

降低ViT模型训练成本的方法和技巧

2023-12-2 9:11:14

AI教程

One-Sided Selection 欠采样方法实现函数

2023-12-2 9:21:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索