持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情
前一节说明了重构特征空间找什么方向的向量,本节讲的是如何重构特征空间,即通过特征分解(SVD)
对于中心化的数据矩阵HX进行SVD
HX=UΣVT⎩⎨⎧UTU=IVTV=VVT=IΣ为对角阵
那么我们对协方差矩阵S就有
S=N1XTHX=N1XTHTHX=N1VΣUT⋅UΣTVT=N1VΣΣTVT
因此对S进行SDV就可以得到V,即方向、主成分,然后通过HX⋅V得到新的坐标
这里设
TTUΣ=HXXTH=UΣVT⋅VΣUT=UΣ2UT两边同乘UΣ=UΣ2UT⋅UΣ=UΣ3=UΣ⋅Σ2
对于HX⋅V又有
HX两边同乘VHX⋅V=UΣVT=UΣ
因此对T进行SVD可以直接得到新的坐标UΣ。对于T的特征值分解也被称为主坐标分析PCoA
这里需要说明的是,由于PCA的对象是Sp×p,而PCoA的对象是TN×N,因此对于小样本量的数据集我们常采用PCoA的方法
教科书对PCA的推导一般是基于最小化重建误差或者最大化可分性的,或者说是通过提取数据集的结构信息来建模一个约束最优化问题来推导的。事实上,PCA还有一种概率形式的推导,那就是概率PCA,PRML里面有对概率PCA的详细讲解,感兴趣的读者可以去阅读。需要注意的是,概率PCA不是PCA的变体,它就是PCA本身,概率PCA是从另一种角度来推导和理解PCA,它把PCA纳入了生成式的框架。
如果你只是为了对现有的数据{xi}i=1n进行降维,而没有其他需求,那么简单粗暴的非生成式方法当然是更好的选择。
那么,在什么情况下,或者说什么需求下,生成式方法是更好的选择更好呢?答案就蕴含在“生成式”这个名称中:在需要生成新样本的情况下,生成式方法是更好的选择。
作者:小木曾雪菜
链接:(概率)PCA和(变分)自编码器 - 简书 (jianshu.com)
PPCA假设所有的样本点取自某个分布X∈Rp,对应的每个点xi,都有一个zi与之对应,取样与某个分布Z∈Rq(q<p),满足以下条件
x=ωz+μ+ϵ
这里,显然ω是正交矩阵,即ωTω=I,ϵ为噪声ϵ∼N(0,σ2Ip),ϵ⊥z,这里我们令z有高斯先验分布,即
z∼N(Oq,Iq)
其中矩阵ω(维度为p×q)也称作因子导入矩阵(factorloading matrix),ϵ维度为p×p,目的是解释原始数据xi内部的相关性,所以方差矩阵ϵ可设置为对角矩阵。这个能表征全部数据特征的全局模型就称为因子分析(Factor Analysis)。对于一个特例,ω是正交矩阵,满足ωTω=I,ϵ=σ2I,,此时模型就是概率性主成分分析PPCA,进一步地当σ2→0时,就是通常意义上的PCA。
作者:scott198510
链接:PCA与PPCA推导及理解_scott198510的博客-CSDN博客_ppca
概率PCA模型的生成式观点的说明,数据空间为二维,潜在空间为一维。一个观测数据点x的生成方式为:首先从潜在变量的先验分布p(z)中抽取一个潜在的变量的值z^,然后从一个各向同性的高斯分布(用红色圆圈表示)中抽取一个x的值,这个各向同性的高斯分布的均值为ωz^+μ,协方差σ2I。苦涩椭圆画出了边缘概率分布p(x)的概率轮廓线
来源:《PRML Translation》-P389
作者:马春鹏
原著:《Pattern Recognition and Machine Learning》
作者:Christopher M. Bishop
显然我们的目的是为了计算z∣x。根据条件我们可以计算x∣z,x,再根据数学基础-概率-高斯分布-求联合概率分布
就可以得到z∣x
对于x∣z
E(x∣z)Var(x∣z)x∣z=E(ωz+μ+ϵ)=ωz+μ=Var(ωz+μ+ϵ)=σ2I∼N(ωz+μ,σ2I)
对于x
E(x)Var(x)x=E(ωz+μ+ϵ)=E(ωz+μ)+E(ϵ)=μ=Var(ωz+μ+ϵ)=Var(ωz)+Var(ϵ)=ω⋅I⋅ωT+σ2I=ωωT+σ2I∼N(μ,ωωT+σ2I)
这里再把之前数学基础-概率-高斯分布-求联合概率分布
的结论大概推导一下
已知
x=(xaxb),x∼N([μaμb],[ΣaaΣbaΣabΣbb])
设
⎩⎨⎧xb⋅a=xb−ΣbaΣaa−1xaμb⋅a=μb−ΣbaΣaa−1μaΣbb⋅a=Σbb−ΣbaΣaa−1Σab
显然有
xb⋅a∼N(μb⋅a,Σbb⋅a)
又因为xb=xb⋅a+ΣbaΣaa−1xa,有
E(xb∣xa)Var(xb∣xa)xb∣xa=E(xb⋅a)+ΣbaΣaa−1xa=μb⋅a+ΣbaΣaa−1xa=μb+ΣbaΣaa−1(xa−μa)=Var(xb⋅a)=Σbb⋅a=Σbb−ΣbaΣaa−1Σab∼N(μb+ΣbaΣaa−1(xa−μa),Σbb−ΣbaΣaa−1Σab)
这里其实应该证明xb⋅a⊥xa,来保证xb∣xa=xb⋅a∣xa+ΣbaΣaa−1xa∣xa=xb⋅a+ΣbaΣaa−1xa成立,但由于以前的笔记证明过了,就不证了)
那么对于本题而言,有
X=(xz),X∼N([μ0],[ωωT+σ2IΔTΔ I])
这里对Δ,有
Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]=E[(ωz+ϵ)zT]=E(ωzzT+ϵzT)由于ϵ⊥z=E(ωzzT)+0E(ϵ zT)=ωE(z的方差矩阵zzT)=ωI=ω
因此条件补充为
X=(xz),X∼N([μ0],[ωωT+σ2IωTω I])
因此有
z∣x∼N(ωT(ωωT+σ2I)−1(x−μ),I−ωT(ωωT+σ2I)−1ω)