持续创作,加速成长!这是我参与「掘金日新计划 · 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模型的生成式观点的说明,数据空间为二维,潜在空间为一维。一个观测数据点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)