什么是平均场变分族?

机器算法验证 可能性 计算统计 变分贝叶斯
2022-04-17 14:17:07

我目前正在研究变分贝叶斯方法,我想我已经掌握了更大的图景。我有时遇到麻烦的地方是如何实现它的确切细节。现在,这集中在平均场变分族的概念上。具体来说,Blei 等人。说以下内容:

在这篇综述中,我们关注平均场变分族,其中潜在变量是相互独立的,并且每个变量都由变分密度中的一个不同因素控制。平均场变分族的一个通用成员是

q(z)=j=1mqj(zj)

恐怕我看不到如何在不简化为常数的情况下以这种方式将分布表示为产品。显然,我错过了一些基本的东西,但我似乎在绕圈子试图用谷歌搜索答案。

谁能提供一些直觉?

1个回答

粗略地说,平均场族定义了特定类别的联合分布。所以实际上是一个长度为m的参数向量。这意味着描述了所有单个 z 的联合分布,并且可以写为zq(z)

q(z)=q(z1,z2,,zm)

我们可以使用链式法则来分解它:

=q(z1)q(z2|z1)q(zm|z1,z2,zm1)

现在,为了使这个联合分布在平均场族中,我们做了一个简化的假设,并假设所有的都是相互独立的。我会在这里指出,这是假设变分分布下的是独立的;真正的联合几乎肯定会在变量之间产生一些依赖性。从这个意义上说,我们正在权衡准确性(丢弃所有协方差)以获得一些计算优势。zizip(z1,zm)

现在,如果我们做出独立假设,我们可以看到联合减少到

q(z)=q(z1)q(z2)q(zm)=i=1mq(zi)

这就是平均场族的形式。至于你关于这不会减少到一个常数的问题,我不完全确定你的意思。所有的都是随机变量,所以我看不出这怎么会变成一个常数。zi