随机变量X是混合高斯分布时,我们采用EM算法可以解决,此时样本的数量是远大于特征数量的,当样本数量小于特征数量时,我们该如何建立模型呢?因子分析进入人们的视野。
假设数据是高斯分布,我们估计期望和方差:
由于样本数量小于特征数量,我们可以发现|∑| = 0,Σ是奇异矩阵,那么 Σ-1 就不存在。但我们仍想使用高斯分布,那就需要对∑进行限制。
一、∑的限制
∑没限制之前,对角线上的元素为:
我们添加限制,∑不仅是对角线元素,且元素相等,Σ=σ2I,其中 σ2 是控制参数,σ2为
只要m>2, ∑就是非奇异的。
二、高斯的边缘和条件分布
后面可能会用到高斯的边缘和条件分布,所以我们在这里简单介绍一下。
假设有一个随机变量
其中 x1 属于 r 维向量空间,x1∈Rr,x2∈Rs,x∈Rr+s,假设 x~N(μ,Σ),其中
E[x1]=μ1,Cov(x1)=E[(x1-μ1)(x1-μ1)]=Σ11,所以
x1的高斯边缘分布x1~N(μ1,Σ11),x1|x2条件分布为x1|x2~N(μ1|2,Σ1|2),所以
三、因子分析模型
我们假设(X,Z)是联合分布,其中Z是隐含变量,所以
其中Z是k维,向量 μ∈Rn,矩阵 Λ∈Rn×k,对角矩阵 Ψ∈Rn×n,k 值通常是小于 n 的。我们假设数据xi是由k元高斯zi产生的,将它通过 μ+Λz(i)映射到n维,再加上噪音Ψ。
因子分析模型如下:
(z,x)联合高斯分布为
x的期望
联合分布期望为
我们可得Σzz=Cov(z)=I
联合分布为
x的边缘分布为x~N(μ,ΛΛT+Ψ),给定样本集 {x(i);i=1,2,...,m},我们能得到极大似然估计为
我们采用EM算法
四、求因子分析
EM算法第一步E求期望, Qi(z(i))=p(z(i)|x(i);μ,Λ,Ψ)
由
我们可得到
即
我们可得到Qi(zi)为
第二部M算法最大化求参数
使最大化
上式可简化为
后面两项与参数无关,所以可以舍去,只留第一项,所以
对Λ求导可得
导数等于0,我们可以得到
我们得到
从 Q 是均值为 μz|x 协方差为 Σz|x 的高斯的定义可得:
第二式对于随机变量 Y,Cov(Y)=E[YYT]-E[Y]E[Y]T。
所以
我们通过求导也可以得到:
设置 Ψii=Φii。对角矩阵 Ψ 只包含对角元素 Φ。
五、优缺点:
优点:
缺点:
待补充
参考:
https://www.cnblogs.com/NaughtyBaby/p/5408643.html