Preface
Marginals and Conditionals of Gaussians(高斯分布的边缘分布与条件分布)
Restrictions of
Σ
Σ
(限制协方差矩阵)
Factor Analysis(因子分析模型)
EM Algorithm for Factor Analysis
Marginals and Conditionals of Gaussians
假设一个随机变量:
其中, x1∈Rr,x2∈Rs,x∈Rr+s x 1 ∈ R r , x 2 ∈ R s , x ∈ R r + s 。
再次假设 x∼N(μ,Σ) x ∼ N ( μ , Σ ) ,所以可以得到:
其中, μ1∈Rr,μ2∈Rs,Σ11∈Rr×r,Σ12∈Rr×s μ 1 ∈ R r , μ 2 ∈ R s , Σ 11 ∈ R r × r , Σ 12 ∈ R r × s ,并且逆对角矩阵相互对称,即为 Σ12=ΣT21 Σ 12 = Σ 21 T 。
同时,我们可以求出随机变量 x x 的协方差矩阵:
其中,随机变量 x1 x 1 的边缘分布为 x1∼N(μ1,Σ11) x 1 ∼ N ( μ 1 , Σ 11 ) ,同时条件分布 x1|x2 x 1 | x 2 为 x1|x2∼N(μ1|2,Σ1|2) x 1 | x 2 ∼ N ( μ 1 | 2 , Σ 1 | 2 ) 。
Restrictions of Σ
之前我们考虑的训练集 x(i)∈Rn,i∈{1,m} x ( i ) ∈ R n , i ∈ { 1 , m } 中样例的个数 m m 都远远大于其特征个数,这样不管是进行回归、聚类等都没有太大的问题。但是如果样例的个数 m m 都小于其特征个数,甚至样例的个数 m m 都远远小于其特征个数,我们在使用以前的模型算法时(例如梯度下降法),如果初值不同,得到的参数结果会有很大偏差。
通过前面的文章Andrew Ng机器学习课程笔记(十四)之无监督学习之混合高斯模型与EM算法中多元高斯分布对数据进行拟合往往可以得到较好的效果。
多元高斯分布的参数估计公式如下:
但是在样例的个数 m m 都小于其特征个数,甚至样例的个数 m m 都远远小于其特征个数的情况下,由于 Σ Σ 是奇异矩阵(缺秩矩阵),即。也就是说, Σ Σ 不存在逆矩阵,即为我们无法解得(没办法拟合出多元高斯分布)。
为了解决上述问题(没有足够的数据去估计Σ时),我们对模型参数进行一定假设,对 Σ Σ 加上一些限制条件:
为对角矩阵,对角矩阵各特征向量间相互独立,我们只需要计算每个特征的方差即可,最后的 Σ Σ 只有对角线上的元素不为 0 。所以为:
更进一步的假设,对角线上的元素都是等值:
进行极大似然估计:
继而得到 Σ Σ 。
Factor Analysis
定义数据集。即,S有m个n维特征的训练样本。
低维映射高维
1.每一个
x(i)
x
(
i
)
由一个 k 维多元高斯分布
z(i)
z
(
i
)
生成。
假设存在一个隐含随机变量
z∈Rk,k<n
z
∈
R
k
,
k
<
n
的联合分布
(x,z)
(
x
,
z
)
,同时
z∼N(0,I)
z
∼
N
(
0
,
I
)
。
所以:
其中, μ∈Rn,Λ∈Rn×k,Ψ∈Rn×n μ ∈ R n , Λ ∈ R n × k , Ψ ∈ R n × n ,并且 Ψ Ψ 为对角阵。
2.将
z(i)
z
(
i
)
通过变换矩阵
Λ
Λ
由k维映射到n维。
所以有:
z(i) z ( i ) 的均值是 0,映射后的 Λz Λ z 仍然是 0。
3.对于变换之后的
Λz
Λ
z
加上均值
μ∈Rn
μ
∈
R
n
。
对应的意义是将变换后的 μ+Λz μ + Λ z 移动到样本 x(i) x ( i ) 的中心点μ。
4.加入协方差为
Ψ
Ψ
的随机噪声。
所以有:
其中, ϵ∼N(0,Ψ) ϵ ∼ N ( 0 , Ψ ) 和 z z 相互独立。
(x,z)的联合分布
这样一来,的联合分布为:
由于 z∼N(0,I) z ∼ N ( 0 , I ) 与 ϵ∼N(0,Ψ) ϵ ∼ N ( 0 , Ψ ) ,所以 E[z]=E[ϵ]=0 E [ z ] = E [ ϵ ] = 0 ,所以:
所以:
由Marginals and Conditionals of Gaussians小节内容可以得到:
所以:
所以
(x,z)
(
x
,
z
)
的联合分布为:
所以x的边缘分布为:
x的最大似然估计
所以,(x,z)的联合分布的似然函数:
同GMM模型一样我们想要求得似然方程求最大值是极其困难的。所以我们将把EM算法用于因子分析中。
EM Algorithm for Factor Analysis
回顾我们在Andrew Ng机器学习课程笔记(十三)之无监督学习之EM算法中提到的EM算法
Repeat until convergence{
- (E-step) for each i, set
w(i)j:=Qi(z(i)=j):=p(z(i)=j|x(i);θ) w j ( i ) := Q i ( z ( i ) = j ) := p ( z ( i ) = j | x ( i ) ; θ ) - (M-step) set
θ:=argmaxθ∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i)) θ := arg max θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )
}
由Marginals and Conditionals of Gaussians小节内容可以得到条件概率:
所以使用因子分析中的 μ,Λ,Ψ μ , Λ , Ψ 参数替换一般化EM算法中的 θ θ 参数,然后在依次解决与 μ,Λ,Ψ μ , Λ , Ψ 参数的更新问题就好。
E-Step
M-Step
我们得到的是:
上式中的步骤(2)到步骤(3)的推导依然是使用数学期望公式(如同在Andrew Ng机器学习课程笔记(十三)之无监督学习之EM算法中关于M-Step的推导方法一样)。需要特别注明的是: Ez(i)∼Qi E z ( i ) ∼ Q i 表示随机变量 z(i) z ( i ) 在某一分布的密度函数 Qi Q i 下的期望值。
同时在这里,由于我们是要基于
w(i)j
w
j
(
i
)
与
μ,Λ,Ψ
μ
,
Λ
,
Ψ
参数去解得目标函数的最大值,我们可以将目标函数的最大值化简为:
(1)基于参数Λ的函数最大化
关于参数
Λ
Λ
求偏导,同时由于只考虑参数,所以有:
上式的第一步到第二步是根据 tra=a(a是实数时) t r a = a ( a 是 实 数 时 ) , trAB=trBA t r A B = t r B A ,第二步到第三步是根据 ∇AtrABATC=CAB+CTAB ∇ A t r A B A T C = C A B + C T A B 。
令上式为0,所以有:
所以:
因为 Qi(z(i))=p(z(i)|x(i);μ.Λ,Ψ) Q i ( z ( i ) ) = p ( z ( i ) | x ( i ) ; μ . Λ , Ψ ) ,且 Ez(i)∼Qi E z ( i ) ∼ Q i 表示随机变量 z(i) z ( i ) 在某一分布的密度函数 Qi Q i 下的期望值。
所以:
由于
E[x2]=E[xxT]
E
[
x
2
]
=
E
[
x
x
T
]
与
Σ=E[x2]−(E[x])2=E[xxT]−(E[x])2
Σ
=
E
[
x
2
]
−
(
E
[
x
]
)
2
=
E
[
x
x
T
]
−
(
E
[
x
]
)
2
,所以:
所以:
(2)基于参数μ的函数最大化
关于参数
μ
μ
求偏导并令其等于0,所以有:
(3)基于参数Ψ的函数最大化
关于参数
Ψ
Ψ
求偏导并令其等于0,所以有:
然后令 Ψii=Φii Ψ i i = Φ i i ,可以得参数 Ψ Ψ 。
EM Algorithm for Factor Analysis
所以EM Algorithm for Factor Analysis的E-step和M-step为:
Repeat until convergence{
- (E-step) for each i, set
- (M-step) set
Λ=(∑mi=1(x(i)−μ)μTz(i)|x(i))(∑mi=1μTz(i)|x(i)+Σz(i)|x(i))−1 Λ = ( ∑ m i = 1 ( x ( i ) − μ ) μ z ( i ) | x ( i ) T ) ( ∑ m i = 1 μ z ( i ) | x ( i ) T + Σ z ( i ) | x ( i ) ) − 1
μ=1m∑mi=1x(i) μ = 1 m ∑ m i = 1 x ( i )
Ψ=1m∑mi=1x(i)x(i)T−x(i)μTz(i)|x(i)ΛT−Λμz(i)|x(i)x(i)T+Λ(μz(i)|x(i)μTz(i)|x(i)+Σz(i)|x(i))ΛT Ψ = 1 m ∑ m i = 1 x ( i ) x ( i ) T − x ( i ) μ z ( i ) | x ( i ) T Λ T − Λ μ z ( i ) | x ( i ) x ( i ) T + Λ ( μ z ( i ) | x ( i ) μ z ( i ) | x ( i ) T + Σ z ( i ) | x ( i ) ) Λ T
}
- (M-step) set