上一节介绍了基于平均场假设 的变分推断推导过程。本节将介绍平均场假设变分推断与广义EM之间的联系。
首先,平均场理论(Mean Theory)是一个物理学的概念,将隐变量在概率图中的状态变量 划分成
M
\mathcal M
M个组,将整个关于 隐变量的概率分布看作
M
\mathcal M
M个独立的子概率分布。数学符号表示如下:
Q
(
Z
)
=
∏
i
=
1
M
Q
i
(
Z
(
i
)
)
=
Q
1
(
Z
(
1
)
)
⋅
Q
2
(
Z
(
2
)
)
⋯
Q
M
(
Z
(
M
)
)
Q(Z)=M∏i=1Qi(Z(i))=Q1(Z(1))⋅Q2(Z(2))⋯QM(Z(M))
由于平均场假设,
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)内部各子概率分布
Q
i
(
Z
(
i
)
)
\mathcal Q_{i}(\mathcal Z^{(i)})
Qi(Z(i))之间相互独立,因此,在求解 任一子概率分布
Q
j
(
Z
(
j
)
)
(
j
∈
{
1
,
2
,
⋯
,
M
}
)
\mathcal Q_j(\mathcal Z^{(j)})(j \in \{1,2,\cdots,\mathcal M\})
Qj(Z(j))(j∈{1,2,⋯,M}) 过程中,可以通过固定剩余的
M
−
1
\mathcal M - 1
M−1项进行求解。令:
注意:由于只将
Z
(
j
)
\mathcal Z^{(j)}
Z(j)看作变量,因此该期望基于的分布
∏
i
≠
j
M
Q
i
(
Z
(
i
)
)
\prod_{i \neq j}^{\mathcal M} \mathcal Q_i(\mathcal Z^{(i)})
∏i=jMQi(Z(i))是已知分布。同理,隐变量
Z
=
(
Z
(
1
)
,
Z
(
2
)
,
⋯
,
Z
(
M
)
)
\mathcal Z = (\mathcal Z^{(1)},\mathcal Z^{(2)},\cdots,\mathcal Z^{(\mathcal M)})
Z=(Z(1),Z(2),⋯,Z(M))中只有
Z
(
j
)
\mathcal Z^{(j)}
Z(j)是变量,其余均是常数。因此,将该期望视作关于
X
,
Z
(
j
)
\mathcal X,\mathcal Z^{(j)}
X,Z(j)的函数。
E
∏
i
≠
j
M
Q
i
(
Z
(
i
)
)
[
log
P
(
X
,
Z
)
]
=
log
ϕ
^
(
X
,
Z
(
j
)
)
\mathbb E_{\prod_{i \neq j}^{\mathcal M} \mathcal Q_i(\mathcal Z^{(i)})} \left[ \log P(\mathcal X,\mathcal Z)\right] = \log \hat \phi (\mathcal X ,\mathcal Z^{(j)})
E∏i=jMQi(Z(i))[logP(X,Z)]=logϕ^(X,Z(j))
从而求解最优
Q
j
^
(
Z
(
j
)
)
\hat {\mathcal Q_j}(\mathcal Z^{(j)})
Qj^(Z(j))的值:
Q
j
^
(
Z
(
j
)
)
=
arg
max
Q
j
(
Z
(
j
)
)
L
[
Q
(
Z
)
]
=
arg
max
Q
j
(
Z
(
j
)
)
{
−
K
L
[
ϕ
^
(
X
,
Z
(
j
)
)
∣
∣
Q
j
(
Z
(
j
)
)
]
}
^Qj(Z(j))=argmaxQj(Z(j))L[Q(Z)]=argmaxQj(Z(j)){−KL[ˆϕ(X,Z(j))||Qj(Z(j))]}
同理,可以尝试求解其他的子概率分布:
Q
1
^
(
Z
(
1
)
)
,
Q
1
^
(
Z
(
1
)
)
,
⋯
,
Q
M
^
(
Z
(
M
)
)
\hat {\mathcal Q_1}(\mathcal Z^{(1)}),\hat {\mathcal Q_1}(\mathcal Z^{(1)}),\cdots, \hat {\mathcal Q_{\mathcal M}}(\mathcal Z^{(\mathcal M)})
Q1^(Z(1)),Q1^(Z(1)),⋯,QM^(Z(M))
最终,求得最优解
Q
^
(
Z
)
\hat {\mathcal Q}(\mathcal Z)
Q^(Z):
Q
^
(
Z
)
=
∏
j
=
1
M
Q
^
j
(
Z
(
j
)
)
\hat {\mathcal Q}(\mathcal Z) = \prod_{j=1}^{\mathcal M}\hat {\mathcal Q}_j(\mathcal Z^{(j)})
Q^(Z)=j=1∏MQ^j(Z(j))
观察上式,上述的推导过程看似无懈可击,但实际上 存在漏洞。
并不是说
Q
^
(
Z
)
=
∏
j
=
1
M
Q
^
j
(
Z
(
j
)
)
\hat {\mathcal Q}(\mathcal Z) = \prod_{j=1}^{\mathcal M}\hat {\mathcal Q}_j(\mathcal Z^{(j)})
Q^(Z)=∏j=1MQ^j(Z(j))是错误的,因为该式子是 平均场假设给我们提供的条件。具体漏洞在什么地方?
如果我们将
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)看成关于
Q
1
(
Z
(
1
)
)
,
Q
2
(
Z
(
2
)
)
,
⋯
,
Q
M
(
Z
(
M
)
)
\mathcal Q_1(\mathcal Z^{(1)}),\mathcal Q_2(\mathcal Z^{(2)}),\cdots,\mathcal Q_{\mathcal M}(\mathcal Z^{(\mathcal M)})
Q1(Z(1)),Q2(Z(2)),⋯,QM(Z(M))的函数。即令:
将上式展开即可~
Q
(
Z
)
=
Q
1
(
Z
(
1
)
)
⋅
Q
2
(
Z
(
2
)
)
⋯
Q
M
(
Z
(
M
)
)
=
J
(
Q
1
,
Q
2
,
⋯
,
Q
M
)
Q(Z)=Q1(Z(1))⋅Q2(Z(2))⋯QM(Z(M))=J(Q1,Q2,⋯,QM)
每一次都固定
M
−
1
\mathcal M - 1
M−1的变量,只为求出剩余变量的最优结果。那么如果初始隐变量是随机的,即如果每次求解过程中都对随机结果进行固定并求解,那么我们总是得不到一个最优结果。
因此,如何在各自概率分布分别固定的过程中,使
Q
^
(
Z
)
\hat {\mathcal Q}(\mathcal Z)
Q^(Z)越来越好,最终达到最优?
依然是坐标上升法(Coordinate Ascent)。
将第一次迭代产生的最优解
Q
1
^
(
Z
(
1
)
)
\hat {\mathcal Q_1}(\mathcal Z^{(1)})
Q1^(Z(1))带进
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)中。同上~基于平均场假设的变分推断与广义EM存在很多相似之处:
它们之间的核心区别更在于对于问题的理解角度不同:
相关参考:
机器学习-变分推断3(再回首)