变分贝叶斯方法

变分贝叶斯方法是近似贝叶斯推理与机器学习中较难积分的一系列技术，通常用于由观测变量及未知参数、潜变量组成的复杂统计模型，之间存在的各种关系可用图模式描述。贝叶斯推理中，参数和潜变量一般归为“未观察变量”。变分贝叶斯方法主要用于两个目的：
就目的1（近似后验概率），变分贝叶斯是蒙特卡洛法（特别是马尔可夫链蒙特卡洛，如吉布斯采样）的替代，可采用完全贝叶斯的方法，对难以取值或抽样的复杂分布进行统计推断。蒙特卡洛技术利用一组样本对精确后验值进行数值近似，而变分贝叶斯可求近似后验的局部最优的精确解析解。
变分贝叶斯可视作最大期望算法（EM）的推广，从估计参数的单一最似然值的最大后验概率（MAP估计），推广到计算参数及潜变量的整个近似后验分布的完全贝叶斯估计。贝叶斯估计同EM一样，也能找到一组最优参数值，且与EM有相同的交替结构——基于不能求解析解的相依方程组。
很多应用中，变分贝叶斯能更快得到与吉布斯采样精度相当的解，但推导迭代方程组需要更多工作。即便是很多概念上非常简单的模型也如此，下面以只有2个参数、没有潜变量的基本不分层模型为例说明。
数学推导.
问题.
变分推断中，数据formula_1的一组未观测变量formula_2的后验分布近似于所谓变分分布formula_3
分布formula_3属于在形式上比formula_6简单的分布族（如高斯分布族），这是为使formula_3与真实后验formula_6更相似。
相似性用不相似函数formula_9衡量，推断（inference）通过求分布formula_3使formula_9最小化进行。
KL散度.
最常见的变分贝叶斯法以"Q"与"P"的KL散度作为不相似函数，很适合最小化。KL散度的定义是
注意"Q"和"P"是相反的。反向KL散度在概念上类似于期望最大化算法（KL散度则产生期望传播算法）。
难解性.
变分技术通常用于近似以下参数：
对formula_14边缘化（以计算分母中的formula_15）通常是难解的，因为formula_14的搜索空间在组合上可能很大。因此，我们用formula_17求近似。
证据下界.
考虑到formula_18，KL散度也可写作
因为formula_3是分布，所以formula_21；又由于formula_22对于formula_14是常数，所以
根据（离散随机变量）期望的定义，上式可以写作
重排为
由于"对数证据"formula_27对于"Q"是定值，最大化末项formula_28会使"Q"对"P"的KL散度最小化。适当选择"Q"可以让formula_28更容易计算，更容易最大化，因此既有后验formula_6的解析近似"Q"，也有对数证据formula_27的下界formula_28（KL散度非负）。
下界formula_28与热力学自由能类似，也称作（负）变分自由能，因为它也可以表为负能量formula_34加"Q"的熵。formula_28项也称作证据下界（ELBO），是数据的对数证据的下界。
证明.
根据布雷格曼散度（KL散度是其特例）的广义勾股定理，可以证明
其中formula_37是凸集，且
时等号成立。这时，全局最小值formula_39，其中formula_40可以如下求得：
其中归一化常数为
formula_43项在实践中常称作证据下界（ELBO），因为formula_44，如上所示。
交换formula_45的角色，可以迭代计算真实模型边际formula_46的近似formula_47。这种迭代保证单调收敛，但收敛到的formula_48只是formula_49的局部极小值。
若约束空间formula_37被限制在独立空间内，即formula_51，则上述迭代将成为所谓平均场近似（mean field approximation）formula_52。
平均场近似.
变分分布formula_3常被假定为潜变量的某划分的因式分解，即对潜变量formula_54的划分formula_55，
由变分法可以证明，对每个因子formula_57的最佳分布formula_58（就KL散度最小的分布而言，如上所述）满足
其中formula_60是数据与潜变量的对数联合概率的期望值，是相对于不属于划分的所有变量的formula_61而取。关于formula_62的推导见的引理 4.1。
实践中，通常用对数表示：
上式中的常数与归一化常数（formula_58上述表达式中的分母）有关，通常通过检查来恢复，因为表达式的其余部分通常是已知的分布（如正态分布、伽马分布等）。
利用期望的性质，式formula_60通常可简为潜变量先验分布的固定超参数及不属于当前划分的潜变量（即不属于formula_66的潜变量）的期望值的函数（有时还包括方差等高阶矩）。这就在某一划分的变量分布参数同其他划分的变量的期望值之间产生了循环依赖，自然就需要类似期望最大化算法的迭代法，以某种方式（也许随机）初始化潜变量期望（可能还有高阶矩），再利用当前期望依次计算每个分布的参数、适当设置新算出的分布的期望。这种算法保证收敛。
换一种说法，对每个变量划分，简化其中变量分布的表达式、研究分布与相关变量的函数依赖关系，通常就能确定分布的族（反过来确定了常数）。分布的参数公式可用先验分布的超参数（已知常数）表示，也可用其他划分中变量函数的期望表示。通常这些期望可简为变量本身的期望值函数（即平均值）；有时也会出现变量平方（与变量方差有关）或更高次幂高阶矩）的期望。其他变量的分布一般来自已知族，相关期望的公式可查到；但公式取决于分布的参数，参数又取决于其他变量的期望，所以每个变量的分布参数公式都可表为一群变量间非线性相互依赖的方程。通常不能直接求解，不过可以用简单的迭代算法，大多数时候都能保证收敛。
变分推理对偶公式.
下面的定理称作变分推理对偶公式，解释了变分贝叶斯方法中变分分布的一些重要性质。
此外，当且仅当（supremum）
关于概率测度"Q"几乎是确定的，其中formula_75分别表示概率测度"P"、"Q"对formula_69的Radon–Nikodym导数，右式才取上界。
基本例子.
考虑简单的不分层贝叶斯模型，由来自正态分布（均值、方差未知）的独立同分布观测量组成。下面我们将详细介绍这模型，以说明变分贝叶斯方法的工作原理。
为了数学上的方便，下例中我们用精度（即方差倒数；多元正态分布时是协方差矩阵的逆。理论上精度和方差等价，因为两者间是双射）。
数学模型.
将共轭先验分布置于未知均值formula_77、精度formula_78，即均值也遵循高斯分布，而精度遵循伽马分布。
先验分布超参数formula_80、formula_81是已知定值，可设为小正数，以得到较宽的先验分布，表明我们对formula_77、formula_78的先验分布一无所知。
已知"N"个数据点formula_84，而我们的目标是推断参数formula_85的后验分布formula_86。
联合概率.
所有变量的联合概率可重写为
个体因子是
其中
因式分解近似.
假设formula_90，即后验分布因式分解为formula_85的独立因子。这种假设是变分贝叶斯方法的基础。事实上，真正的后验分布并非如此（这种简单情形我们知道它是正态-伽马分布），因此所得结果将是近似值。
导出.
则
上面的推导中，formula_93指对formula_77为常数的值。注意formula_95项不是formula_77的函数，无论formula_77的值是多少，它都不变。因此，第三行中可以把它吸收到末尾的常数项，第七行也如此。
最后一行是formula_77的二次多项式。由于这是formula_99的对数，我们可以看到formula_99本身是正态分布。
通过一些繁琐的计算（展开括号里的平方、分离出涉及formula_77、formula_102的项、对formula_77应用配方法），可得到正态分布的参数：
注意上面所有步骤用二次和公式都能化简。
即
推导.
formula_106的推导大致相同，简洁起见略去细节。
两侧取指数，可见formula_106服从伽马分布。
计算参数.
回忆前几节的结论：
每种情形下，某变量的分布参数取决于对另一变量的期望。可用正态分布和伽马分布矩期望的标准公式推广期望：
大多数时候将这些公式应用到上述方程不困难，但formula_113需要更多工作：
这样就可以写出参数方程如下，不需要期望：
注意formula_116和formula_113存在相互依赖关系，自然产生了类似最大期望算法的算法：
然后就有了后验参数近似分布的超参数值，可用于计算后验的任何属性，如均值、方差、95%最高密度区域（包含总概率95%的最小区间）等等。
可以证明这种算法保证收敛到局部极大值。
还要注意，后验分布与相应的先验分布有同样的形式。只需假设分布可以分解，分布形式便随之而来。事实证明，后验、先验形式相同并非巧合，而是先验分布为指数族成员时的一般结果，大多数标准分布都如此。
进一步讨论.
分步法.
上面例子展示了给定贝叶斯网络中推导后验概率密度的变分贝叶斯近似的方法：