# 📏论文中的数学

# 概率图模型

图片截取自机器学习-白板推导系列 (opens new window),感谢shuhuai008 (opens new window)大佬。

# 概率图模型基础-背景介绍

背景知识

其中,条件概率p(ba)p(b|a)表示随机事件aa发生的条件下,bb发生的概率,公式为p(ba)=p(b,a)p(a)p(b|a) = \frac{p(b,a)}{p(a)}。其实条件概率还是可以按照“频数/总数”的方式进行理解,分母部分p(b,a)p(b,a)表示事件发生频数部分,即a,ba,b同时发生的概率,总数部分是aa,即aa发生的所有情况,合起来就是所有aa发生的情况下,a,ba,b同时发生的概率,就是p(ba)p(b|a)

类似的,公式p(a,b)=p(a)p(ba)p(a,b) = p(a) \cdot p(b|a)可以用乘法原理进行理解,即将p(a,b)p(a,b)理解为两个事件,事件1是a发生,事件2是a发生时b发生,合起来就是a和b同时发生。当然,从事件b的角度看也是一样的,事件1
是b发生,事件2是b发生时a发生,即p(a,b)=p(b)p(ab)p(a,b) = p(b) \cdot p(a|b)

# 贝叶斯网络-条件独立性

上图为本次推导的基础。

tail-to-tail结构

这是第一种结构,叫做“tail-to-tail”,上图中,如果a被观测,则b和c被阻隔,a没被观测时,b和c只是在条件a中独立,一旦a被观测,则b和c独立。

其中,p(ca,b)p(ba)p(c|a,b) \cdot p(b|a)的推导来源于多变量贝叶斯公式,对于两变量,贝叶斯公式为p(ab)=p(a,b)p(b)p(a|b)=\frac{p(a,b)}{p(b)},在三变量中,例如对于p(ca,b)p(c|a,b),将a,ba,b看成一个整体Δ\Delta,那么同样有p(ca,b)=p(cΔ)=p(c,Δ)p(Δ)=p(c,a,b)p(a,b)p(c|a,b) = p(c|\Delta)=\frac{p(c,\Delta)}{p(\Delta)}= \frac{p(c,a,b)}{p(a,b)},即p(ca,b)=p(c,a,b)p(a,b)p(c|a,b) = \frac{p(c,a,b)}{p(a,b)},将此带入上式,有:

p(ca,b)p(ba)=p(c,a,b)p(a,b)p(b,a)p(a)=p(c,a,b)p(a)=p(c,ba)\begin{aligned} p(c|a,b) \cdot p(b|a) & = \frac{p(c,a,b)}{p(a,b)} \cdot \frac{p(b,a)}{p(a)} \\ & = \frac{p(c,a,b)}{p(a)} \\ & = p(c,b|a) \end{aligned}

head-to-tail结构

这是第二种结构,叫做head-to-tail结构。

head-to-head结构

这是第三种结构“head-to-head”,这个结构比较特殊,默认情况下a和b是独立的,但是cc被观测之后,路径相通,a,ba,b相互之间就不独立了。

# 贝叶斯网络

上图是背景知识,也是第二节推导出的部分。

上图解释了为什么“head-to-head”结构中,当c观测之后,a和b不是条件独立的。即判断等式p(ac)=p(ac,b)p(a|c) = p(a|c,b)是不是相等?如果相等,则代表c发生的条件下a发生的概率,等于c和b同时发生时a发生的概率,即b发不发生对于c发生的条件下a发生没影响,那么b,c条件独立。

简要解释:由于a(酒量小)和b(心情不好)都是小明喝醉了的原因,因此当知道小明喝醉了这个结果以及其中一个原因“酒量小”p(ac)p(a|c),肯定会影响对“小明是不是心情不好”这个原因的判断。

# 贝叶斯网络概述

从单一到混合,从有限到无限,分为空间和时间两个方面。空间是指随机变量取值可以从离散到连续。

常用单一模型:朴素贝叶斯,其中XX中每个分量xix_i都是独立的,如下图所示。

Naive Bayes

混合模型常用的高斯混合模型(GMM)

GMM

时间上相关的模型有:马尔科夫链和高斯过程。

连续模型:主要用高斯贝叶斯网络。

混合模型和时间维度结合起来就是动态系统(动态模型),这是一个大的体系,最常见的有HMM(隐马尔科夫模型,隐状态是离散的、卡尔曼滤波(连续高斯,线性)、粒子滤波(非连续高斯、非线性)

总结如下:

总结

# 马尔科夫随机场

背景知识如下:

背景知识

团的推导:

完整总结,团的部分之前没介绍过,所以有点晕。

# 概率图模型推断(Inference)

推断就是“求概率”,一是求边缘概率,可能是已知联合概率,求某个变量的边缘概率。二是求条件概率,已知一部分求另一部分。三是求最大后验,期望后验概率达到最大。

精确推断和近似推断,精确推断用变量消除法(VE)、信念传播算法(BP,脱胎于VE,克服了VE的一些缺点,很重要,一般针对树结构)、联合树算法(针对图结构)。

近似推断:采用BP思想,处理有环图结构,称为Loop Belief Propagation;基于采样的蒙特卡洛推断方法,常用的有Importance Sampling和MCMC;确定性近似。

以隐马尔科夫模型为例,进行举例。

本节总结:

# 变量消除法

背景条件:

以马尔科夫链为例,讲解变量消除法,已知前a,b,ca,b,c三个变量的情况,求边缘概率p(d)p(d)。很显然,他是p(a,b,c,d)p(a,b,c,d)的边缘概率,就是对除了dd以外的其他变量求和,然后采用因子分解

为什么p(d)=a,b,cp(a,b,c,d)p(d) = \sum\limits_{a,b,c}{p(a,b,c,d)}?首先需要注意的是,边缘概率p(d)p(d)也是一个函数,一个关于dd的函数,即当d=1,d=2d=1, d=2时概率应该是多少的函数p(d)p(d)是求边缘概率,即在其他各种情况下变量dd的概率值。那么其他各种情况是指谁呢,那就是除了变量dd以外的所有变量,即a,b,ca,b,c。求值中,对于a,b,cp(a,b,c,d)\sum\limits_{a,b,c}{p(a,b,c,d)},每一次a,b,ca,b,c取定一个值,都会得到一个关于dd的函数p(a,b,c,d)p(a,b,c,d),将它求和即可。例如a,b,c,da,b,c,d都是只能选0或1的二值变量,那么p(d)=p(0,0,0,d)+p(1,0,0,d)+\dots+p(1,1,1,d)。

如果“硬上”,那么对于最简单的0-1二值,3个变量,也需要加23=82^3=8次,如上图所示,而且随着维度pp增加,需要加的次数KpK^p呈指数增长。那么采用最简单的变量消除思想,将每一个需要加的变量分离,例如先只考虑aa变量,除非是所有变量全连接,否则他只跟他相连接的变量有值,其他都是0。

化简的原理其实是将先乘法后加法改为先加法后乘法,这样能节省,如下图所示。

这个的缺点在于重复计算,如果计算完p(d)p(d)之后,需要计算p(c)p(c),那么还得再算一次;消除次序对计算复杂度有影响,因为算法先后顺序是敏感的,想要找到一个最优的消除次序,被证明是一个NP-hard问题。

# 信念传播算法--引入

背景知识如下图。

背景知识

采用变量消除法,计算上图的p(e),需要计算a->b,b->c,c->d,d->e这4个值,而如果需要计算p(c),那么需要计算a->b,b->c和e->d, d->c这4个值,可以看到,其中a->b和b->c是重复计算的。

信念传播就是不管求那个变量的概率,先把所有的正向和反向值都算好,然后拿出来用就行。

这部分推导听得不是太懂,计算各部分还需要BP算法来算,NBNB代表变量的邻居,总结如下图。

总结

# 信念传播算法--计算

如果求变量aa,引入belief,按照通项公式,可以化为4项,后2项是bb的2个孩子(children),然后bb的自身(self),以及bbaa的关系。bb自身和孩子加起来就称为“belief”,代表aa通过bb这个子树获取到的所有信息。

BP算法的实现很简单,基本上都是递归。

# Max Product算法

背景知识:

更新于: 7/2/2025, 11:44:25 PM