边缘化是什么?对不关心的变量求和或积分把它消掉
边缘化(Marginalization)是概率论和统计学中的一种基本操作:在涉及多个随机变量的联合分布中,把那些我们不关心的变量,通过求和或积分“消去”,从而得到我们关心的那些变量的分布。得到的结果就叫作边缘分布。
一个直观的例子
假设我们想知道明天是否会堵车,而堵车与是否下雨有关:下雨时堵车的概率是 60%,不下雨时堵车的概率是 20%;明天下雨的概率是 30%。那么明天堵车的总概率是多少?我们并不关心明天到底下不下雨,只关心是否堵车。这时就可以对“是否下雨”进行边缘化:把下雨和不下雨两种情况都考虑进来,按照各自的概率加权求和:30% 乘以 60%,加上 70% 乘以 20%,等于 32%。这就是全概率公式,也是边缘化最基本的形式:对一个变量的所有可能取值,把联合概率加起来。如果这个变量是连续的,比如温度,就需要用积分来代替求和。
为什么边缘化很重要
在现实的问题中,我们常常面对很多相互关联的变量,但只关心其中的一部分。有些变量我们无法观测到,比如隐变量;有些变量是模型中的参数,我们并不确定它们的具体取值。边缘化让我们能够把这些不确定性都考虑进来,得到对关心的问题的综合判断,而不是武断地假定这些变量取某个固定的值。
在贝叶斯方法中
边缘化是贝叶斯方法的核心操作之一。预测:在贝叶斯方法中,我们对模型参数的认识是一个后验分布,而不是一个确定的值。对新数据进行预测时,不是只用某一个“最好”的参数,而是对参数的后验分布进行边缘化:把每一种可能的参数取值下的预测,按照它的后验概率加权平均起来。这样得到的预测分布同时考虑了参数的不确定性,往往比只用一个参数值更可靠,尤其在数据较少的时候。证据的计算:贝叶斯定理中的分母,也就是数据的边缘似然或证据,需要对所有可能的参数取值进行边缘化。它被用于比较不同的模型:一个模型的边缘似然越大,说明它整体上越能解释观测到的数据。这种比较方式自然地包含了对模型复杂度的惩罚,因为过于复杂的模型会把概率分散到太多可能的数据上,被称为“贝叶斯奥卡姆剃刀”。
在含隐变量的模型中
在高斯混合模型、隐马尔可夫模型、主题模型、变分自编码器等含有隐变量的模型中,我们能观测到的只是数据本身,而隐变量,比如每个数据点属于哪个簇、文档的主题,是看不到的。数据的概率需要通过对隐变量进行边缘化来得到。训练这些模型时,往往需要最大化这个边缘似然。
边缘化的计算困难
边缘化在概念上很简单,但在计算上常常非常困难:当需要消去的变量很多时,可能的取值组合数量会呈指数级增长;当变量是连续的、分布形式又很复杂时,积分往往无法求出解析的结果。为此,人们发展了多种方法:在概率图模型中,利用变量之间的条件独立结构,通过变量消元、置信传播等算法高效地进行精确计算;用蒙特卡罗方法,通过随机抽样来近似地计算积分;用变分推断,把边缘似然的计算转化为对它的下界的优化;以及拉普拉斯近似等方法。