如果有一个多个高斯模型混合(a mixture of several Gaussians)而来的数据集
x
(
i
)
∈
R
n
x^{(i)} ∈ R^n
x ( i ) ∈ R n ,那么就可以用期望最大化算法(EM algorithm)来对这个混合模型(mixture model)进行拟合。这种情况下,对于有充足数据(sufficient data)的问题,我们通常假设可以从数据中识别出多个高斯模型结构(multiple-Gaussian structure)。例如,如果我们的训练样本集合规模(training set size) m 远远大于(significantly larger than)数据的维度(dimension) n,就符合这种情况。 然后来考虑一下反过来的情况,也就是 n 远远大于 m,即 n ≫ m。在这样的问题中,就可能用单独一个高斯模型来对数据建模都很难,更不用说多个高斯模型的混合模型了。由于 m 个数据点所张开(span)的只是一个 n 维空间
R
n
R^n
R n 的低维度子空间(low-dimensional subspace),如果用高斯模型(Gaussian)对数据进行建模,然后还是用常规的最大似然估计(usual maximum likelihood estimators)来估计(estimate)平均值(mean)和方差(covariance),得到的则是:
μ
=
1
m
∑
i
=
1
m
x
(
i
)
Σ
=
1
m
∑
i
=
1
m
(
x
(
i
)
−
μ
)
(
x
(
i
)
−
μ
)
T
,
\begin{aligned} \mu&=\frac1m\sum_{i=1}^mx^{(i)}\\ \Sigma&=\frac1m\sum_{i=1}^m(x^{(i)}-\mu)(x^{(i)}-\mu)^T, \end{aligned}
μ Σ = m 1 i = 1 ∑ m x ( i ) = m 1 i = 1 ∑ m ( x ( i ) − μ ) ( x ( i ) − μ ) T ,
我们会发现这里的
Σ
Σ
Σ 是一个奇异(singular)矩阵。这也就意味着其逆矩阵
Σ
−
1
Σ^{−1}
Σ − 1 不存在,而
1
/
∣
Σ
∣
1
/
2
=
1
/
0
1/|Σ|^{1/2} = 1/0
1 / ∣ Σ ∣ 1 / 2 = 1 / 0 。 但这几个变量都还是需要的,要用来计算一个多元高斯分布(multivariate Gaussian distribution)的常规密度函数(usual density)。还可以用另外一种方法来讲述清楚这个难题,也就是对参数(parameters)的最大似然估计(maximum likelihood estimates)会产生一个高斯分布(Gaussian),其概率分布在由样本数据所张成的仿射空间(affine space)中,对应着一个奇异的协方差矩阵(singular covariance matrix)。
通常情况下,除非 m 比 n 大出相当多(some reasonable amount),否则最大似然估计(maximum likelihood estimates)得到的均值(mean)和方差(covariance)都会很差(quite poor)。尽管如此,我们还是希望能用已有的数据,拟合出一个合理(reasonable)的高斯模型(Gaussian model),而且还希望能识别出数据中的某些有意义的协方差结构(covariance structure)。那这可怎么办呢?
在接下来的这一部分内容里,我们首先回顾一下对
Σ
Σ
Σ 的两个可能的约束(possible restrictions),这两个约束条件能让我们使用小规模数据来拟合
Σ
Σ
Σ ,但都不能就我们的问题给出让人满意的解(satisfactory solution)。然后接下来我们要讨论一下高斯模型的一些特点,这些后面会用得上,具体来说也就是如何找到高斯模型的边界和条件分布 。最后,我们会讲一下因子分析模型(factor analysis model),以及对应的期望最大化算法(EM algorithm)。
1
Σ
Σ
Σ 的约束条件(Restriction)
如果我们没有充足的数据来拟合一个完整的协方差矩阵(covariance matrix),就可以对矩阵空间
Σ
Σ
Σ 给出某些约束条件(restrictions)。例如,我们可以选择去拟合一个对角(diagonal)的协方差矩阵
Σ
Σ
Σ 。这样,读者很容易就能验证这样的一个协方差矩阵的最大似然估计(maximum likelihood estimate)可以由对角矩阵(diagonal matrix)
Σ
Σ
Σ 满足:
Σ
j
j
=
1
m
∑
i
=
1
m
(
x
j
(
i
)
−
μ
j
)
2
.
\begin{aligned} \Sigma_{jj}=\frac1m\sum_{i=1}^m(x^{(i)}_j-\mu_j)^2. \end{aligned}
Σ j j = m 1 i = 1 ∑ m ( x j ( i ) − μ j ) 2 .
因此,
Σ
j
j
Σ_{jj}
Σ j j 就是对数据中第 j 个坐标位置的方差值的经验估计(empirical estimate)。
回忆一下,高斯模型的密度的形状是椭圆形 的。对角线矩阵
Σ
Σ
Σ 对应的就是椭圆长轴(major axes)对齐(axis- aligned)的高斯模型。
有时候,我们还要对这个协方差矩阵(covariance matrix)给出进一步的约束,不仅设为对角的(major axes),还要求所有对角元素(diagonal entries)都相等。这时候,就有
Σ
=
σ
2
I
Σ = σ^2I
Σ = σ 2 I ,其中
σ
2
σ^2
σ 2 是我们控制的参数。对这个
σ
2
σ^2
σ 2 的最大似然估计则为:
σ
2
=
1
m
n
∑
j
=
1
n
∑
i
=
1
m
(
x
j
(
i
)
−
μ
j
)
2
.
\begin{aligned} \sigma^2=\frac1{mn}\sum_{j=1}^n\sum_{i=1}^m(x^{(i)}_j-\mu_j)^2. \end{aligned}
σ 2 = m n 1 j = 1 ∑ n i = 1 ∑ m ( x j ( i ) − μ j ) 2 .
这种模型对应的是密度函数为圆形轮廓 的高斯模型(在二维空间也就是平面中是圆形,在更高维度当中就是球(spheres)或者超球体(hyperspheres))。
如果我们对数据要拟合一个完整的,不受约束的(unconstrained)协方差矩阵
Σ
Σ
Σ ,就必须满足
m
≥
n
+
1
m ≥ n + 1
m ≥ n + 1 ,这样才使得对
Σ
Σ
Σ 的最大似然估计不是奇异矩阵(singular matrix)。在上面提到的两个约束条件之下,只要
m
≥
2
m ≥ 2
m ≥ 2 ,我们就能获得非奇异的(non-singular)
Σ
Σ
Σ 。
然而,将
Σ
Σ
Σ 限定为对角矩阵,也就意味着对数据中不同坐标(coordinates)的
x
i
x_i
x i ,
x
j
x_j
x j 建模都将是不相关的(uncorrelated),且互相独立(independent)。通常,还是从样本数据里面获得某些有趣的相关信息结构比较好。如果使用上面对
Σ
Σ
Σ 的某一种约束,就可能没办法获取这些信息了。在本章讲义里面,我们会提到因子分析模型 (factor analysis model),这个模型使用的参数比对角矩阵
Σ
Σ
Σ 更多,而且能从数据中获得某些相关性信息(captures some correlations),但也不能对完整的协方差矩阵(full covariance matrix)进行拟合。
2 多重高斯模型(Gaussians )的边界(Marginal)和条件(Conditional)
在讲解因子分析(factor analysis)之前,我们要先说一下一个联合多元高斯分布(joint multivariate Gaussian distribution)下的随机变量(random variables)的条件(conditional)和边界(marginal)分布(distributions)。
假如我们有一个值为向量的随机变量(vector-valued random variable):
x
=
[
x
1
x
2
]
\begin{aligned} x=\begin{bmatrix} x_1\\x_2\end{bmatrix} \end{aligned}
x = [ x 1 x 2 ]
其中
x
1
∈
R
r
x_1 ∈ R^r
x 1 ∈ R r ,
x
2
∈
R
s
x_2 ∈ R^s
x 2 ∈ R s ,因此
x
∈
R
r
+
s
x ∈ R^{r+s}
x ∈ R r + s 。设
x
∼
N
(
μ
,
Σ
)
x ∼ N(μ,Σ)
x ∼ N ( μ , Σ ) , 即以
μ
μ
μ 和
Σ
Σ
Σ 为参数的正态分布,则这两个参数为:
μ
=
[
μ
1
μ
2
]
,
Σ
=
[
Σ
11
Σ
12
Σ
21
Σ
22
]
.
\begin{aligned} \mu=\begin{bmatrix} \mu_1\\\mu_2\end{bmatrix},\Sigma=\begin{bmatrix} \Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}. \end{aligned}
μ = [ μ 1 μ 2 ] , Σ = [ Σ 1 1 Σ 2 1 Σ 1 2 Σ 2 2 ] .
其中,
μ
1
∈
R
r
μ_1 ∈ R^r
μ 1 ∈ R r ,
μ
2
∈
R
s
μ_2 ∈ R^s
μ 2 ∈ R s ,
Σ
11
∈
R
r
×
r
Σ_{11} ∈ R^{r×r}
Σ 1 1 ∈ R r × r ,
Σ
12
∈
R
r
×
s
Σ_{12} ∈ R^{r×s}
Σ 1 2 ∈ R r × s ,以此类推。由于协方差矩阵(covariance matrices)是对称的(symmetric),所以有
Σ
12
=
Σ
21
T
Σ_{12} = Σ^T_{21}
Σ 1 2 = Σ 2 1 T .
基于我们的假设,
x
1
x_1
x 1 和
x
2
x_2
x 2 是联合多元高斯分布 (jointly multivariate Gaussian)。 那么
x
1
x_1
x 1 的边界分布是什么?不难看出
x
1
x_1
x 1 的期望
E
[
x
1
]
=
μ
1
E[x_1] = μ1
E [ x 1 ] = μ 1 ,而协方差
C
o
v
(
x
1
)
=
E
[
(
x
1
−
μ
1
)
(
x
1
−
μ
1
)
]
=
Σ
11
Cov(x_1) = E[(x_1 − μ_1)(x_1 − μ_1)] = Σ_{11}
C o v ( x 1 ) = E [ ( x 1 − μ 1 ) ( x 1 − μ 1 ) ] = Σ 1 1 。接下来为了验证后面这一项成立,要用
x
1
x_1
x 1 和
x
2
x_2
x 2 的联合方差的概念:
C
o
v
(
x
)
=
Σ
=
[
Σ
11
Σ
12
Σ
21
Σ
22
]
=
E
[
(
x
−
μ
)
(
x
−
μ
)
T
]
=
E
[
(
x
1
−
μ
1
x
1
−
μ
1
)
(
x
1
−
μ
1
x
1
−
μ
1
)
T
]
=
E
[
(
x
1
−
μ
1
)
(
x
1
−
μ
1
)
T
(
x
1
−
μ
1
)
(
x
2
−
μ
2
)
T
(
x
2
−
μ
2
)
(
x
1
−
μ
1
)
T
(
x
2
−
μ
2
)
(
x
2
−
μ
2
)
T
]
.
\begin{aligned} Cov(x)&=\Sigma\\ &=\begin{bmatrix} \Sigma_{11}&\Sigma_{12}\\\Sigma_{21}&\Sigma_{22}\end{bmatrix}\\ &=E[(x-\mu)(x-\mu)^T]\\ &=E\begin{bmatrix}\binom{x_1 − μ_1}{x_1 − μ_1} \binom{x_1 − μ_1}{x_1 − μ_1} ^T\end{bmatrix}\\ &=E\begin{bmatrix}(x_1 − μ_1)(x_1 − μ_1)^T&(x_1 − μ_1)(x_2 − μ_2)^T\\ (x_2 − μ_2)(x_1 − μ_1)^T&(x_2 − μ_2)(x_2 − μ_2)^T\end{bmatrix}. \end{aligned}
C o v ( x ) = Σ = [ Σ 1 1 Σ 2 1 Σ 1 2 Σ 2 2 ] = E [ ( x − μ ) ( x − μ ) T ] = E [ ( x 1 − μ 1 x 1 − μ 1 ) ( x 1 − μ 1 x 1 − μ 1 ) T ] = E [ ( x 1 − μ 1 ) ( x 1 − μ 1 ) T ( x 2 − μ 2 ) ( x 1 − μ 1 ) T ( x 1 − μ 1 ) ( x 2 − μ 2 ) T ( x 2 − μ 2 ) ( x 2 − μ 2 ) T ] .
在上面的最后两行中,匹配(Matching)矩阵的左上方子阵(upper-left sub blocks),就可以得到结果了。
高斯分布的边界分布(marginal distributions)本身也是高斯分布,所以我们就可以给出一个正态分布
x
1
∼
N
(
μ
1
,
Σ
11
)
x_1 ∼ N (μ_1, Σ_{11})
x 1 ∼ N ( μ 1 , Σ 1 1 ) 来作为
x
1
x_1
x 1 的边界分布(marginal distributions)。
此外,我们还可以提出另一个问题,给定
x
2
x_2
x 2 的情况下
x
1
x_1
x 1 的条件分布是什么呢?通过参考多元高斯分布的定义,就能得到这个条件分布
x
1
∣
x
2
∼
N
(
μ
1
∣
2
,
Σ
1
∣
2
)
x_1|x_2 ∼ N (μ_{1|2}, Σ_{1|2})
x 1 ∣ x 2 ∼ N ( μ 1 ∣ 2 , Σ 1 ∣ 2 ) 为:
(1)
μ
1
∣
2
=
μ
1
+
Σ
12
Σ
22
−
1
(
x
2
−
μ
2
)
Σ
1
∣
2
=
Σ
11
−
Σ
12
Σ
22
−
1
Σ
21
\begin{aligned} \mu_{1|2}&= \mu_1+\Sigma_{12}\Sigma^{-1}_{22}(x_2-\mu_2)\tag{1}\\ \Sigma_{1|2}&=\Sigma_{11}-\Sigma_{12}\Sigma_{22}^{-1}\Sigma_{21} \end{aligned}
μ 1 ∣ 2 Σ 1 ∣ 2 = μ 1 + Σ 1 2 Σ 2 2 − 1 ( x 2 − μ 2 ) = Σ 1 1 − Σ 1 2 Σ 2 2 − 1 Σ 2 1 ( 1 )
在下一节对因子分析模型(factor analysis model)的讲解中,上面这些公式就很有用了,可以帮助寻找高斯分布的条件和边界分布(conditional and marginal distributions)。
3 因子分析模型(Factor analysis model)
在因子分析模型(factor analysis model)中,我们制定在 (x, z) 上的一个联合分布,如下所示,其中
z
∈
R
k
z ∈ R^k
z ∈ R k 是一个潜在随机变量(latent random variable):
z
∼
N
(
0
,
I
)
x
∣
z
∼
N
(
μ
+
Λ
z
,
Ψ
)
\begin{aligned} z&\thicksim N(0,I)\\ x|z&\thicksim N(\mu +\varLambda z,\varPsi ) \end{aligned}
z x ∣ z ∼ N ( 0 , I ) ∼ N ( μ + Λ z , Ψ )
上面的式子中,我们这个模型中的参数是向量
μ
∈
R
n
μ ∈ R^n
μ ∈ R n ,矩阵
Λ
∈
R
n
×
k
Λ ∈ R^{n×k}
Λ ∈ R n × k ,以及一个对角矩阵
Ψ
∈
R
n
×
n
Ψ ∈ R^{n×n}
Ψ ∈ R n × n 。k 的值通常都选择比 n 小一点的。
这样,我们就设想每个数据点
x
(
i
)
x^{(i)}
x ( i ) 都是通过在一个
k
k
k 维度的多元高斯分布
z
(
i
)
z^{(i)}
z ( i ) 中取样获得的。然后,通过计算
μ
+
Λ
z
(
i
)
μ+Λz^{(i)}
μ + Λ z ( i ) ,就可以映射到实数域
R
n
R^n
R n 中的一个
k
k
k 维仿射空间(k-dimensional affine space),在
μ
+
Λ
z
(
i
)
μ + Λz^{(i)}
μ + Λ z ( i ) 上加上协方差
Ψ
Ψ
Ψ 作为噪音,就得到了
x
(
i
)
x^{(i)}
x ( i ) 。
反过来,咱们也就可以来定义因子分析模型(factor analysis model),使用下面的设定:
z
∼
N
(
0
,
I
)
ϵ
∼
N
(
0
,
Ψ
)
x
=
μ
+
Λ
z
+
ϵ
\begin{aligned} z&\thicksim N(0,I)\\ \epsilon&\thicksim N(0,\varPsi )\\ x&=\mu+\varLambda z+\epsilon \end{aligned}
z ϵ x ∼ N ( 0 , I ) ∼ N ( 0 , Ψ ) = μ + Λ z + ϵ
其中的
ε
ε
ε 和
z
z
z 是互相独立的。
然后咱们来确切地看看这个模型定义的分布(distribution our)。其中,随机变量
z
z
z 和
x
x
x 有一个联合高斯分布(joint Gaussian distribution):
[
x
1
x
2
]
∼
N
(
μ
z
x
,
Σ
)
.
\begin{aligned} \begin{bmatrix} x_1\\x_2\end{bmatrix}\thicksim N(\mu_{zx},\Sigma). \end{aligned}
[ x 1 x 2 ] ∼ N ( μ z x , Σ ) .
然后咱们要找到
μ
z
x
μ_{zx}
μ z x 和
Σ
Σ
Σ .
我们知道
z
z
z 的期望
E
[
z
]
=
0
E[z] = 0
E [ z ] = 0 ,这是因为
z
z
z 服从的是均值为 0 的正态分布
z
∼
N
(
0
,
I
)
z ∼ N(0,I)
z ∼ N ( 0 , I ) 。 此外我们还知道:
E
[
x
]
=
E
[
μ
+
Λ
z
,
ϵ
]
=
μ
+
Λ
E
[
z
]
+
E
[
ϵ
]
=
μ
\begin{aligned} E[x]&= E[\mu +\varLambda z,\epsilon ]\\ &=\mu+\varLambda E[z]+E[\epsilon]\\ &=\mu\end{aligned}
E [ x ] = E [ μ + Λ z , ϵ ] = μ + Λ E [ z ] + E [ ϵ ] = μ
综合以上这些条件,就得到了:
μ
z
x
=
[
0
⃗
μ
]
\begin{aligned} \mu_{zx}=\begin{bmatrix} \vec{0}\\\mu\end{bmatrix} \end{aligned}
μ z x = [ 0
μ ]
下一步就是要找出
Σ
Σ
Σ ,我们需要计算出
Σ
z
z
=
E
[
(
z
−
E
[
z
]
)
(
z
−
E
[
z
]
)
T
]
Σ_{zz} = E[(z − E[z])(z − E[z])^T ]
Σ z z = E [ ( z − E [ z ] ) ( z − E [ z ] ) T ] (矩阵
Σ
Σ
Σ 的左上部分(upper-left block)),
Σ
z
x
=
E
[
(
z
−
E
[
z
]
)
(
x
−
E
[
x
]
)
T
]
Σ_{zx} = E[(z − E[z])(x − E[x])^T ]
Σ z x = E [ ( z − E [ z ] ) ( x − E [ x ] ) T ] (右上部分(upper-right block)),以及
E
[
(
x
−
E
[
x
]
)
(
x
−
E
[
x
]
)
T
]
E[(x − E[x])(x − E[x])^T ]
E [ ( x − E [ x ] ) ( x − E [ x ] ) T ] (右下部分(lower-right block))。
由于
z
z
z 是一个正态分布
z
∼
N
(
0
,
I
)
z ∼ N (0, I)
z ∼ N ( 0 , I ) ,很容易就能知道
Σ
z
z
=
C
o
v
(
z
)
=
I
Σ_{zz} = Cov(z) = I
Σ z z = C o v ( z ) = I 。另外:
E
[
(
z
−
E
[
z
]
)
(
x
−
E
[
x
]
)
T
]
=
E
[
z
(
μ
+
Λ
z
+
ϵ
−
μ
)
T
]
=
E
[
z
z
T
]
Λ
T
+
E
[
z
ϵ
T
]
=
Λ
T
\begin{aligned} E[(z−E[z])(x−E[x])^T ]&=E[z(\mu+\varLambda z+\epsilon-\mu)^T] \\ &=E[zz^T]\varLambda^T+E[z\epsilon^T]\\&=\varLambda^T \end{aligned}
E [ ( z − E [ z ] ) ( x − E [ x ] ) T ] = E [ z ( μ + Λ z + ϵ − μ ) T ] = E [ z z T ] Λ T + E [ z ϵ T ] = Λ T
在上面的最后一步中,使用到了结论
E
[
z
z
T
]
=
C
o
v
(
z
)
E[zz^T ] = Cov(z)
E [ z z T ] = C o v ( z ) (因为 z 的均值为 0),而且
E
[
z
ε
T
]
=
E
[
z
]
E
[
ε
T
]
=
0
)
E[zε^T ] = E[z]E[ε^T ] = 0)
E [ z ε T ] = E [ z ] E [ ε T ] = 0 ) (因为
z
z
z 和
ε
ε
ε 相互独立,因此乘积(product)的期望(expectation)等于期望的乘积)。
同样的方法,我们可以用下面的方法来找到
Σ
x
x
Σ_{xx}
Σ x x :
E
[
(
x
−
E
[
x
]
)
(
x
−
E
[
x
]
)
T
]
=
E
[
(
μ
+
Λ
z
+
ϵ
−
μ
)
(
μ
+
Λ
z
+
ϵ
−
μ
)
T
]
=
E
[
Λ
z
z
T
Λ
T
+
ϵ
z
T
Λ
T
+
Λ
z
ϵ
T
+
ϵ
ϵ
T
]
=
Λ
E
[
z
z
T
]
Λ
T
+
E
[
ϵ
ϵ
T
]
=
Λ
Λ
T
+
Ψ
.
\begin{aligned} E[(x−E[x])(x−E[x])^T ]&=E[(\mu+\varLambda z+\epsilon-\mu)(\mu+\Lambda z+\epsilon-\mu)^T] \\ &=E[\Lambda zz^T\varLambda^T+\epsilon z^T\Lambda^T+\Lambda z\epsilon ^T + \epsilon \epsilon ^T]\\&=\Lambda E[zz^T]\Lambda^T+E[\epsilon\epsilon^T]\\&=\Lambda\Lambda^T+\Psi. \end{aligned}
E [ ( x − E [ x ] ) ( x − E [ x ] ) T ] = E [ ( μ + Λ z + ϵ − μ ) ( μ + Λ z + ϵ − μ ) T ] = E [ Λ z z T Λ T + ϵ z T Λ T + Λ z ϵ T + ϵ ϵ T ] = Λ E [ z z T ] Λ T + E [ ϵ ϵ T ] = Λ Λ T + Ψ .
把上面这些综合到一起,就得到了:
(3)
[
z
x
]
∼
N
(
[
0
⃗
μ
]
,
[
I
Λ
T
Λ
Λ
Λ
T
+
Ψ
]
)
.
\begin{aligned} \begin{bmatrix} z\\x\end{bmatrix}\thicksim N\left(\begin{bmatrix} \vec{0}\\\mu\end{bmatrix},\begin{bmatrix} I &\Lambda^T\\\Lambda & \Lambda\Lambda^T+\Psi\end{bmatrix}\right).\tag{3} \end{aligned}
[ z x ] ∼ N ( [ 0
μ ] , [ I Λ Λ T Λ Λ T + Ψ ] ) . ( 3 )
因此,我们还能发现
x
x
x 的边界分布(marginal distribution)为
x
∼
N
(
μ
,
Λ
Λ
T
+
Ψ
)
x ∼ N(μ,ΛΛ^T +Ψ)
x ∼ N ( μ , Λ Λ T + Ψ ) 。所以,给定一个训练样本集合
{
x
(
i
)
;
i
=
1
,
.
.
.
,
m
}
\{x^{(i)}; i = 1, ..., m\}
{ x ( i ) ; i = 1 , . . . , m } ,参数(parameters)的最大似然估计函数的对数函数(log likelihood),就可以写为:
ℓ
(
μ
,
Λ
,
Ψ
)
=
log
∏
i
=
1
m
1
(
2
π
)
n
/
2
∣
Λ
Λ
T
+
Ψ
∣
exp
(
−
1
2
(
x
(
i
)
−
μ
)
T
(
Λ
Λ
T
+
Ψ
)
−
1
(
x
(
i
)
−
μ
)
)
\begin{aligned} \ell(\mu,\Lambda,\Psi)=\log\prod_{i=1}^m\frac{1}{(2\pi)^{n/2}|\Lambda\Lambda^T+\Psi|}\exp\left( -\frac12(x^{(i)}-\mu)^T(\Lambda\Lambda^T+\Psi)^{-1}(x^{(i)}-\mu)\right) \end{aligned}
ℓ ( μ , Λ , Ψ ) = log i = 1 ∏ m ( 2 π ) n / 2 ∣ Λ Λ T + Ψ ∣ 1 exp ( − 2 1 ( x ( i ) − μ ) T ( Λ Λ T + Ψ ) − 1 ( x ( i ) − μ ) )
为了进行最大似然估计,我们就要最大化上面这个关于参数的函数。但确切地对上面这个方程式进行最大化,是很难的,不信你自己试试哈,而且我们都知道没有算法能够以封闭形式(closed-form)来实现这个最大化。所以,我们就改用期望最大化算法 (EM algorithm)。下一节里面,咱们就来推导一下针对因子分析模型(factor analysis)的期望最大化算法(EM)。
4 针对因子分析模型(factor analysis)的期望最大化算法(EM)
E
−
s
t
e
p
E-step
E − s t e p 步骤的推导很简单。只需要计算出来
Q
i
(
z
(
i
)
)
=
p
(
z
(
i
)
∣
x
(
i
)
;
μ
,
Λ
,
Ψ
)
Q_i(z^{(i)}) = p(z^{(i)}|x^{(i)}; μ, Λ, Ψ)
Q i ( z ( i ) ) = p ( z ( i ) ∣ x ( i ) ; μ , Λ , Ψ ) 。把等式(3) 当中给出的分布代入到方程(1-2),来找出一个高斯分布的条件分布,我们就能发现
z
(
i
)
∣
x
(
i
)
;
μ
,
Λ
,
Ψ
∼
N
(
μ
z
(
i
)
∣
x
(
i
)
,
Σ
z
(
i
)
∣
x
(
i
)
)
z^{(i)}|x^{(i)}; μ, Λ, Ψ ∼ N (μ_{z^{(i)}|x^{(i)}} , Σ_{z^{(i)}|x^{(i)}} )
z ( i ) ∣ x ( i ) ; μ , Λ , Ψ ∼ N ( μ z ( i ) ∣ x ( i ) , Σ z ( i ) ∣ x ( i ) ) ,其中:
μ
z
(
i
)
∣
x
(
i
)
=
Λ
T
(
Λ
Λ
T
+
Ψ
)
−
1
(
x
(
i
)
−
μ
)
,
Σ
z
(
i
)
∣
x
(
i
)
=
I
−
Λ
T
(
Λ
Λ
T
+
Ψ
)
−
1
Λ
.
\begin{aligned} μ_{z^{(i)}|x^{(i)}}&=\Lambda ^T(\Lambda\Lambda^T+\Psi)^{-1}(x^{(i)}-\mu),\\ \Sigma_{z^{(i)}|x^{(i)}}&=I-\Lambda ^T(\Lambda\Lambda^T+\Psi)^{-1}\Lambda. \end{aligned}
μ z ( i ) ∣ x ( i ) Σ z ( i ) ∣ x ( i ) = Λ T ( Λ Λ T + Ψ ) − 1 ( x ( i ) − μ ) , = I − Λ T ( Λ Λ T + Ψ ) − 1 Λ .
所以,通过对
μ
z
(
i
)
∣
x
(
i
)
μ_{z^{(i)}|x^{(i)}}
μ z ( i ) ∣ x ( i ) 和
Σ
z
(
i
)
∣
x
(
i
)
\Sigma_{z^{(i)}|x^{(i)}}
Σ z ( i ) ∣ x ( i ) ,进行这样的定义,就能得到:
Q
i
(
z
(
i
)
)
=
1
(
2
π
)
k
/
2
∣
Σ
z
(
i
)
∣
x
(
i
)
∣
1
/
2
exp
(
−
1
2
(
z
(
i
)
−
μ
z
(
i
)
∣
x
(
i
)
)
T
Σ
z
(
i
)
∣
x
(
i
)
−
1
(
z
(
i
)
−
μ
z
(
i
)
∣
x
(
i
)
)
)
\begin{aligned} Q_i(z^{(i)})=\frac{1}{(2\pi)^{k/2}|\Sigma_{z^{(i)}|x^{(i)}}|^{1/2}}\exp\left( -\frac12(z^{(i)}-μ_{z^{(i)}|x^{(i)}})^T\Sigma_{z^{(i)}|x^{(i)}}^{-1}(z^{(i)}-μ_{z^{(i)}|x^{(i)}})\right) \end{aligned}
Q i ( z ( i ) ) = ( 2 π ) k / 2 ∣ Σ z ( i ) ∣ x ( i ) ∣ 1 / 2 1 exp ( − 2 1 ( z ( i ) − μ z ( i ) ∣ x ( i ) ) T Σ z ( i ) ∣ x ( i ) − 1 ( z ( i ) − μ z ( i ) ∣ x ( i ) ) )
接下来就是
M
−
s
t
e
p
M-step
M − s t e p 步骤了。这里需要去最大化下面这个关于参数
μ
,
Λ
,
Ψ
μ, Λ, Ψ
μ , Λ , Ψ 的函数值:
(4)
∑
i
=
1
m
∫
z
(
i
)
Q
i
(
z
(
i
)
)
log
p
(
x
(
i
)
,
z
(
i
)
;
μ
,
Λ
,
Ψ
)
Q
i
(
z
(
i
)
)
d
z
(
i
)
\begin{aligned} \sum_{i=1}^m\int_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)}; μ, Λ, Ψ)}{Q_i(z^{(i)})}dz^{(i)}\tag{4} \end{aligned}
i = 1 ∑ m ∫ z ( i ) Q i ( z ( i ) ) log Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; μ , Λ , Ψ ) d z ( i ) ( 4 )
我们在本文中仅仅对
Λ
Λ
Λ 进行优化,关于
μ
μ
μ 和
Ψ
Ψ
Ψ 的更新就作为练习留给读者自己进行推导了。
把等式(4) 简化成下面的形式:
∑
i
=
1
m
∫
z
(
i
)
Q
i
(
z
(
i
)
)
[
log
p
(
x
(
i
)
∣
z
(
i
)
;
μ
,
Λ
,
Ψ
)
+
log
p
(
z
(
i
)
−
log
Q
i
(
z
(
i
)
)
Q
i
(
z
(
i
)
)
]
d
z
(
i
)
=
∑
i
=
1
m
E
z
(
i
)
∼
Q
i
[
log
p
(
x
(
i
)
∣
z
(
i
)
;
μ
,
Λ
,
Ψ
)
+
log
p
(
z
(
i
)
)
−
log
Q
i
(
z
(
i
)
)
]
\begin{aligned} \sum_{i=1}^m&\int_{z^{(i)}}Q_i(z^{(i)})[\log{p(x^{(i)}|z^{(i)}; μ, Λ, Ψ)}+\log p(z^{(i)}-\log Q_i(z^{(i)}){Q_i(z^{(i)})}]dz^{(i)} \\&=\sum_{i=1}^mE_{z^{(i)}\thicksim Q_i}[\log p(x^{(i)}|z^{(i)};\mu,\Lambda,\Psi)+\log p(z^{(i)})-\log{Q_i(z^{(i)})}] \end{aligned}
i = 1 ∑ m ∫ z ( i ) Q i ( z ( i ) ) [ log p ( x ( i ) ∣ z ( i ) ; μ , Λ , Ψ ) + log p ( z ( i ) − log Q i ( z ( i ) ) Q i ( z ( i ) ) ] d z ( i ) = i = 1 ∑ m E z ( i ) ∼ Q i [ log p ( x ( i ) ∣ z ( i ) ; μ , Λ , Ψ ) + log p ( z ( i ) ) − log Q i ( z ( i ) ) ]
上面的等式中,“
z
(
i
)
∼
Q
i
z^{(i)} ∼ Q_i
z ( i ) ∼ Q i ” 这个下标(subscript),表示的意思是这个期望是关于从
Q
i
Q_i
Q i 中取得的
z
(
i
)
z^{(i)}
z ( i ) 的。在后续的推导过程中,如果没有歧义的情况下,我们就会把这个下标省略掉。删除掉这些不依赖参数的项目后,我们就发现只需要最大化:
∑
i
=
1
m
E
[
log
p
(
x
(
i
)
∣
z
(
i
)
;
μ
,
Λ
,
Ψ
)
]
=
∑
i
=
1
m
E
[
log
1
(
2
π
)
n
/
2
∣
Ψ
∣
1
/
2
exp
(
−
1
2
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
T
Ψ
−
1
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
)
]
=
∑
i
=
1
m
E
[
−
1
2
log
∣
Ψ
∣
−
n
2
log
(
2
π
)
−
1
2
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
T
Ψ
−
1
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
]
\begin{aligned} \sum_{i=1}^m&E[\log p(x^{(i)}|z^{(i)};\mu,\Lambda,\Psi)]\\ &=\sum_{i=1}^mE\left[\log\frac{1}{(2\pi)^{n/2}|\Psi|^{1/2}}\exp\left( -\frac12(x^{(i)}-μ-\Lambda z^{(i)})^T\Psi^{-1}(x^{(i)}-μ-\Lambda z^{(i)})\right)\right]\\ &=\sum_{i=1}^mE\left[-\frac12\log|\Psi|-\frac n2\log(2\pi)-\frac12(x^{(i)}-μ-\Lambda z^{(i)})^T\Psi^{-1}(x^{(i)}-μ-\Lambda z^{(i)})\right] \end{aligned}
i = 1 ∑ m E [ log p ( x ( i ) ∣ z ( i ) ; μ , Λ , Ψ ) ] = i = 1 ∑ m E [ log ( 2 π ) n / 2 ∣ Ψ ∣ 1 / 2 1 exp ( − 2 1 ( x ( i ) − μ − Λ z ( i ) ) T Ψ − 1 ( x ( i ) − μ − Λ z ( i ) ) ) ] = i = 1 ∑ m E [ − 2 1 log ∣ Ψ ∣ − 2 n log ( 2 π ) − 2 1 ( x ( i ) − μ − Λ z ( i ) ) T Ψ − 1 ( x ( i ) − μ − Λ z ( i ) ) ]
我们先对上面的函数进行关于
Λ
Λ
Λ 的最大化。可见只有最后的一项依赖
Λ
Λ
Λ 。求导数,同时利用下面几个结论:
t
r
a
=
a
(
f
o
r
a
∈
R
)
,
t
r
A
B
=
t
r
B
A
,
∇
A
t
r
A
B
A
T
C
=
C
A
B
+
C
T
A
B
tr a = a (for a ∈ R), tr AB = tr BA, ∇_Atr ABA^T C = CAB + C^T AB
t r a = a ( f o r a ∈ R ) , t r A B = t r B A , ∇ A t r A B A T C = C A B + C T A B ,就能得到:
∇
Λ
∑
i
=
1
m
−
E
[
1
2
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
T
Ψ
−
1
(
x
(
i
)
−
μ
−
Λ
z
(
i
)
)
]
=
∑
i
=
1
m
∇
Λ
E
[
−
t
r
1
2
z
(
i
)
T
Λ
T
Ψ
−
1
Λ
z
(
i
)
+
t
r
z
(
i
)
T
Λ
T
Ψ
−
1
(
x
(
i
)
−
μ
)
]
=
∑
i
=
1
m
∇
Λ
E
[
−
t
r
1
2
Λ
T
Ψ
−
1
Λ
z
(
i
)
z
(
i
)
T
+
t
r
Λ
T
Ψ
−
1
(
x
(
i
)
−
μ
)
z
(
i
)
T
]
=
∑
i
=
1
m
E
[
−
Ψ
−
1
Λ
z
(
i
)
z
(
i
)
T
+
Ψ
−
1
(
x
(
i
)
−
μ
)
z
(
i
)
T
]
\begin{aligned} \nabla_\Lambda&\sum_{i=1}^m-E\left[ \frac12(x^{(i)}-μ-\Lambda z^{(i)})^T\Psi^{-1}(x^{(i)}-μ-\Lambda z^{(i)})\right]\\ &=\sum_{i=1}^m\nabla_\Lambda E\left[ -tr\frac12{z^{(i)}}^T\Lambda^T\Psi^{-1}\Lambda z^{(i)}+tr{z^{(i)}}^T\Lambda^T\Psi^{-1}(x^{(i)}-μ)\right]\\ &=\sum_{i=1}^m\nabla_\Lambda E\left[ -tr\frac12\Lambda^T\Psi^{-1}\Lambda z^{(i)}{z^{(i)}}^T+tr\Lambda^T\Psi^{-1}(x^{(i)}-μ){z^{(i)}}^T\right]\\ &=\sum_{i=1}^mE\left[ -\Psi^{-1}\Lambda z^{(i)}{z^{(i)}}^T+\Psi^{-1}(x^{(i)}-μ){z^{(i)}}^T\right] \end{aligned}
∇ Λ i = 1 ∑ m − E [ 2 1 ( x ( i ) − μ − Λ z ( i ) ) T Ψ − 1 ( x ( i ) − μ − Λ z ( i ) ) ] = i = 1 ∑ m ∇ Λ E [ − t r 2 1 z ( i ) T Λ T Ψ − 1 Λ z ( i ) + t r z ( i ) T Λ T Ψ − 1 ( x ( i ) − μ ) ] = i = 1 ∑ m ∇ Λ E [ − t r 2 1 Λ T Ψ − 1 Λ z ( i ) z ( i ) T + t r Λ T Ψ − 1 ( x ( i ) − μ ) z ( i ) T ] = i = 1 ∑ m E [ − Ψ − 1 Λ z ( i ) z ( i ) T + Ψ − 1 ( x ( i ) − μ ) z ( i ) T ]
设置导数为 0,然后简化,就能得到:
∑
i
=
1
m
Λ
E
z
(
i
)
∼
Q
i
[
z
(
i
)
z
(
i
)
T
]
=
∑
i
=
1
m
(
x
(
i
)
−
μ
)
E
z
(
i
)
∼
Q
i
[
z
(
i
)
T
]
\begin{aligned} \sum_{i=1}^m\Lambda E_{z^{(i)}\thicksim Q_i}[z^{(i)}{z^{(i)}}^T]=\sum_{i=1}^m(x^{(i)}-μ)E_{z^{(i)}\thicksim Q_i}[{z^{(i)}}^T] \end{aligned}
i = 1 ∑ m Λ E z ( i ) ∼ Q i [ z ( i ) z ( i ) T ] = i = 1 ∑ m ( x ( i ) − μ ) E z ( i ) ∼ Q i [ z ( i ) T ]
接下来,求解
Λ
Λ
Λ ,就能得到:
Λ
=
(
∑
i
=
1
m
(
x
(
i
)
−
μ
)
E
z
(
i
)
∼
Q
i
[
z
(
i
)
T
]
)
(
∑
i
=
1
m
E
z
(
i
)
∼
Q
i
[
z
(
i
)
z
(
i
)
T
]
)
−
1
\begin{aligned} \Lambda=\left(\sum_{i=1}^m(x^{(i)}-μ)E_{z^{(i)}\thicksim Q_i}[{z^{(i)}}^T]\right)\left(\sum_{i=1}^mE_{z^{(i)}\thicksim Q_i}[z^{(i)}{z^{(i)}}^T]\right)^{-1} \end{aligned}
Λ = ( i = 1 ∑ m ( x ( i ) − μ ) E z ( i ) ∼ Q i [ z ( i ) T ] ) ( i = 1 ∑ m E z ( i ) ∼ Q i [ z ( i ) z ( i ) T ] ) − 1
有一个很有意思的地方需要注意,上面这个等式和用最小二乘线性回归(least squares regression)推出的正则方程(normal equation)有密切关系:
“
θ
T
=
(
y
T
X
)
(
X
T
X
)
−
1
”
\begin{aligned} “\theta^T=(y^TX)(X^TX)^{-1}” \end{aligned}
“ θ T = ( y T X ) ( X T X ) − 1 ”
与之类似,这里的
x
x
x 是一个关于
z
z
z (以及噪音 noise)的线性方程。考虑在
E
−
s
t
e
p
E-step
E − s t e p 步骤中对
z
z
z 已经给出了猜测,接下来就可以尝试来对与
x
x
x 和
z
z
z 相关的未知线性量(unknown linearity)
Λ
Λ
Λ 进行估计。接下来不出意料,我们就会得到某种类似正则方程的结果。然而,这个还是和利用对
z
z
z 的“最佳猜测(best guesses)” 进行最小二乘算法有一个很大的区别的;这一点我们很快就会看到了。
为了完成
M
−
s
t
e
p
M-step
M − s t e p 步骤的更新,接下来我们要解出等式(7) 当中的期望值(values of the expectations)。由于我们定义
Q
i
Q_i
Q i 是均值(mean)为
μ
z
(
i
)
∣
x
(
i
)
μ_{z^{(i)}|x^{(i)}}
μ z ( i ) ∣ x ( i ) ,协方差(covariance)为
Σ
z
(
i
)
∣
x
(
i
)
\Sigma_{z^{(i)}|x^{(i)}}
Σ z ( i ) ∣ x ( i ) 的一个高斯分布,所以很容易能得到:
E
z
(
i
)
∼
Q
i
[
z
(
i
)
T
]
=
μ
z
(
i
)
∣
x
(
i
)
T
\begin{aligned} E_{z^{(i)}\thicksim Q_i}[{z^{(i)}}^T]=μ_{z^{(i)}|x^{(i)}}^T \end{aligned}
E z ( i ) ∼ Q i [ z ( i ) T ] = μ z ( i ) ∣ x ( i ) T
E
z
(
i
)
∼
Q
i
[
z
(
i
)
z
(
i
)
T
]
=
μ
z
(
i
)
∣
x
(
i
)
μ
z
(
i
)
∣
x
(
i
)
T
+
Σ
z
(
i
)
∣
x
(
i
)
\begin{aligned} E_{z^{(i)}\thicksim Q_i}[z^{(i)}{z^{(i)}}^T]=μ_{z^{(i)}|x^{(i)}}μ_{z^{(i)}|x^{(i)}}^T+\Sigma_{z^{(i)}|x^{(i)}} \end{aligned}
E z ( i ) ∼ Q i [ z ( i ) z ( i ) T ] = μ z ( i ) ∣ x ( i ) μ z ( i ) ∣ x ( i ) T + Σ z ( i ) ∣ x ( i )
上面第二个等式的推导依赖于下面这个事实:对于一个随机变量
Y
Y
Y ,协方差
C
o
v
(
Y
)
=
E
[
Y
Y
T
]
−
E
[
Y
]
E
[
Y
]
T
Cov(Y ) = E[Y Y^ T ]−E[Y ]E[Y ]^T
C o v ( Y ) = E [ Y Y T ] − E [ Y ] E [ Y ] T ,所以
E
[
Y
Y
T
]
=
E
[
Y
]
E
[
Y
]
T
+
C
o
v
(
Y
)
E[Y Y ^T ] = E[Y ]E[Y ]^T +Cov(Y)
E [ Y Y T ] = E [ Y ] E [ Y ] T + C o v ( Y ) 。把这个代入到等式(7),就得到了
M
−
s
t
e
p
M-step
M − s t e p 步骤中 Λ 的更新规则:
Λ
=
(
∑
i
=
1
m
(
x
(
i
)
−
μ
)
μ
z
(
i
)
∣
x
(
i
)
T
)
(
∑
i
=
1
m
μ
z
(
i
)
∣
x
(
i
)
μ
z
(
i
)
∣
x
(
i
)
T
+
Σ
z
(
i
)
∣
x
(
i
)
)
−
1
\begin{aligned} \Lambda=\left(\sum_{i=1}^m(x^{(i)}-μ)μ_{z^{(i)}|x^{(i)}}^T\right)\left(\sum_{i=1}^mμ_{z^{(i)}|x^{(i)}}μ_{z^{(i)}|x^{(i)}}^T+\Sigma_{z^{(i)}|x^{(i)}}\right)^{-1} \end{aligned}
Λ = ( i = 1 ∑ m ( x ( i ) − μ ) μ z ( i ) ∣ x ( i ) T ) ( i = 1 ∑ m μ z ( i ) ∣ x ( i ) μ z ( i ) ∣ x ( i ) T + Σ z ( i ) ∣ x ( i ) ) − 1
上面这个等式中,要特别注意等号右边这一侧的
Σ
z
(
i
)
∣
x
(
i
)
\Sigma_{z^{(i)}|x^{(i)}}
Σ z ( i ) ∣ x ( i ) 。这是一个根据
z
(
i
)
z^{(i)}
z ( i ) 给出的
x
(
i
)
x^{(i)}
x ( i ) 后验分布(posterior distribution)
p
(
z
(
i
)
∣
x
(
i
)
)
p(z^{(i)}|x^{(i)})
p ( z ( i ) ∣ x ( i ) ) 的协方差,而在
M
−
s
t
e
p
M-step
M − s t e p 步骤中必须要考虑到在这个后验分布中
z
(
i
)
z^{(i)}
z ( i ) 的不确定性(uncertainty)。推导 EM 算法的一个常见错误就是在
E
−
s
t
e
p
E-step
E − s t e p 步骤进行假设,只需要算出潜在随机变量(latent random variable)
z
z
z 的期望
E
[
z
]
E[z]
E [ z ] ,然后把这个值放到
M
−
s
t
e
p
M-step
M − s t e p 步骤当中
z
z
z 出现的每个地方来进行优化(optimization)。当然,这能解决简单问题,例如高斯混合模型(mixture of Gaussians),在因子模型的推导过程中,就同时需要
E
[
z
z
T
]
和
E
[
z
]
E[zz^T ] 和 E[z]
E [ z z T ] 和 E [ z ] ;而我们已经知道,
E
[
z
z
T
]
E[zz^T ]
E [ z z T ] 和
E
[
z
]
E
[
z
]
T
E[z]E[z]^T
E [ z ] E [ z ] T 随着
Σ
z
∣
x
Σz|x
Σ z ∣ x 而变化。因此,在
M
−
s
t
e
p
M-step
M − s t e p 步骤就必须要考虑到后验分布(posterior distribution)
p
(
z
(
i
)
∣
x
(
i
)
)
p(z^{(i)}|x^{(i)})
p ( z ( i ) ∣ x ( i ) ) 中 z 的协方差(covariance)。
最后,我们还可以发现,在
M
−
s
t
e
p
M-step
M − s t e p 步骤对参数
μ
μ
μ 和
Ψ
Ψ
Ψ 的优化。不难发现其中的
μ
μ
μ 为:
μ
=
1
m
∑
i
=
1
m
x
(
i
)
\begin{aligned} \mu=\frac1m\sum_{i=1}^mx^{(i)} \end{aligned}
μ = m 1 i = 1 ∑ m x ( i )
由于这个值不随着参数的变换而改变(也就是说,和
Λ
Λ
Λ 的更新不同,这里等式右侧不依赖
Q
i
(
z
(
i
)
)
=
p
(
z
(
i
)
∣
x
(
i
)
;
μ
,
Λ
,
Ψ
)
Q_i(z^{(i)}) = p(z^{(i)}|x^{(i)}; μ, Λ, Ψ)
Q i ( z ( i ) ) = p ( z ( i ) ∣ x ( i ) ; μ , Λ , Ψ ) ,这个
Q
i
(
z
(
i
)
)
Q_i(z^{(i)})
Q i ( z ( i ) ) 是依赖参数的),这个只需要计算一次就可以,在算法运行过程中,也不需要进一步更新。类似地,对角矩阵
Ψ
Ψ
Ψ 也可以通过计算下面这个式子来获得:
Φ
=
1
m
∑
i
=
1
m
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
\begin{aligned} \Phi=\frac1m\sum_{i=1}^mx^{(i)}{x^{(i)}}^T-x^{(i)}μ_{z^{(i)}|x^{(i)}}^T\Lambda^T-\Lambdaμ_{z^{(i)}|x^{(i)}}{x^{(i)}}^T+\Lambda(μ_{z^{(i)}|x^{(i)}}μ_{z^{(i)}|x^{(i)}}^T+\Sigma_{z^{(i)}|x^{(i)}})\Lambda^T \end{aligned}
Φ = m 1 i = 1 ∑ m 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
然后只需要设
Ψ
i
i
=
Φ
i
i
Ψ_{ii} = Φ_{ii}
Ψ i i = Φ i i (也就是说,设
Ψ
Ψ
Ψ 为一个仅仅包含矩阵
Φ
Φ
Φ 中对角线元素的对角矩阵)。