ESC
输入关键词搜索文章
目录

概率图模型

有向图 · 无向图 · 因子图
用图结构表达概率分布,用消息传递实现推断
概述
什么是概率图模型

概率图模型(Probabilistic Graphical Model)是用图结构表达随机变量之间概率依赖关系的框架。图中的节点代表随机变量,边代表条件依赖或无向的势函数关系。

图模型的核心价值在于两点:

  • 结构化表示:将高维联合分布 $P(X_1, \ldots, X_n)$ 分解为局部因子乘积,大幅降低参数存储量
  • 高效推断:利用图结构中的条件独立性,局部化计算,无需对整个联合分布穷举

根据边的性质,概率图模型分为两大类:

  • 有向图(Directed Graph):边带方向,用条件概率表达依赖关系,即贝叶斯网络
  • 无向图(Undirected Graph):边无方向,用势函数(potential function)表达局部关联,即马尔可夫随机场

此外,因子图(Factor Graph)是一种二分图,用于更精细地表示函数的因子分解,是实现通用推断算法的基础结构。

第一部分 · 有向图与贝叶斯网络
有向图(贝叶斯网络)

贝叶斯网络(Bayesian Network)又称信念网络(Belief Network),使用有向无环图(DAG)表达条件独立性:若从节点 $i$ 到节点 $j$ 存在有向边,则 $j$ 的条件概率依赖于 $i$

条件独立性与 d-分离

有向图中,通过d-分离(d-separation)判定条件独立性:给定集合 $Z$ 后,节点 $X$ 与节点 $Y$ 在图中相互独立,当且仅当 $Z$ 阻断了 $X$$Y$ 之间的所有路径。

阻断规则:

  • 顺向路径(tail-to-head / tail-to-tail):若 $Z$ 包含中间节点,则阻断
  • 汇聚路径(head-to-head):仅当 $Z$$Z$ 的后代均不在路径上时,才阻断;若 $Z$ 包含汇聚节点本身或其后代,反而打开(explaining away)
联合分布的因式分解

贝叶斯网络中,整个联合分布可分解为局部的条件概率分布之积:

贝叶斯网络的因式分解

$$P(X_1, \ldots, X_n) = \prod_{i=1}^n P(X_i \mid \text{pa}(X_i))$$

其中 $\text{pa}(X_i)$ 表示节点 $X_i$ 的父节点集合。若节点无父节点,则退化为边缘分布 $P(X_i)$

这一分解使得联合分布的参数化从指数级 $O(2^n)$ 降低为各节点条件概率表(Conditional Probability Table, CPT)之和。

条件概率表(CPT)的规模问题

每个节点 $X_i$ 的 CPT 大小与父节点数量呈指数关系。若某节点有 $k$ 个二元父节点,则 CPT 需 $2^k$ 个参数。这是贝叶斯网络参数化的主要瓶颈,也推动了如置信网络、概率逻辑编程等近似方法的发展。

第二部分 · 无向图与马尔可夫随机场
无向图(马尔可夫随机场)

马尔可夫随机场(Markov Random Field, MRF)使用无向边表达变量间的相互关联,天然适合表达对称的相互作用关系(如图像去噪、物体分割中的空间一致性约束)。

团与势函数

无向图中,节点集合的子集 $C$ 若满足任意两节点间均有边相连(即为极大团),则称 $C$ 为一个团(clique)。联合分布分解为各团上的势函数(potential function)之积:

MRF 的 Hammersley-Clifford 定理

$P(X_1, \ldots, X_n) > 0$(正性假设),则

$$P(X) = \frac{1}{Z} \prod_{C \in \mathcal{C}} \psi_C(X_C)$$

其中 $\mathcal{C}$ 为所有极大团的集合,$\psi_C$ 为团势函数,$Z = \sum_X \prod_C \psi_C(X_C)$ 为归一化常数(配分函数)。

条件独立性

无向图中,给定相邻节点后,非相邻节点相互独立:即对任意节点子集 $A, B, S$,若 $S$$A$$B$ 分离,则 $A \perp B \mid S$

与有向图的比较
维度贝叶斯网络(有向图)马尔可夫随机场(无向图)
边类型有向边(因果方向)无向边(对称关联)
分解形式条件概率之积势函数之积
局部结构CPT(条件概率表)势函数(未归一化)
独立条件d-分离(有向分离)图分离(马尔可夫性)
典型应用因果推理、诊断推断图像建模、协作过滤
第三部分 · 因子图
因子图

因子图(Factor Graph)是一种无向二分图,用于精确表示多元函数的因子分解。节点分为两类:

  • 变量节点(圆形):表示随机变量 $x_i$
  • 因子节点(方形):表示因子函数 $f_j(S_j)$,即变量子集的函数

边仅连接变量节点与因子节点。

数学表示

因子图将多元函数分解为因子之积:

因子图表示

$$g(x_1, x_2, \ldots, x_n) = \prod_{j=1}^m f_j(S_j)$$

其中 $S_j \subseteq \{x_1, \ldots, x_n\}$ 是第 $j$ 个因子的作用域,即该因子所依赖的变量集合。

示例

函数 $g(x_1, x_2, x_3, x_4, x_5) = f_A(x_1)\,f_B(x_2)\,f_C(x_1, x_2, x_3)\,f_D(x_3, x_4)\,f_E(x_3, x_5)$ 对应的因子图结构:

  • 变量节点:$x_1, x_2, x_3, x_4, x_5$
  • 因子节点:$f_A, f_B, f_C, f_D, f_E$
  • 边连接:$f_A-x_1$$f_B-x_2$$f_C-x_1, x_2, x_3$$f_D-x_3, x_4$$f_E-x_3, x_5$
因子图在概率推断中的作用

概率模型中的联合分布 $P(X) = \frac{1}{Z}\prod_j \psi_j(C_j)$ 本身就是一个因子分解,天然可以表示为因子图。因子图的关键优势在于:它能将复杂的全局推断问题,转化为局部变量节点与因子节点之间的消息传递问题。

第四部分 · Sum-Product 算法
Sum-Product 算法(和积算法)

Sum-Product 算法,又称信念传播(Belief Propagation),是在因子图上进行精确边际推断的核心算法。其目标是计算每个变量节点的边缘分布 $P(x_i)$

消息传递规则

算法在因子图的两类节点之间交替传递消息:

1. 变量节点 → 因子节点

变量节点 $x$ 向相邻因子节点 $f$ 发送的消息,是 $x$ 从其他所有相邻因子节点接收消息的乘积:

$$\mu_{x \to f}(x) = \prod_{h \in \mathcal{N}(x) \setminus \{f\}} \mu_{h \to x}(x)$$

其中 $\mathcal{N}(x)$$x$ 的邻居节点集合。

2. 因子节点 → 变量节点

因子节点 $f$ 向变量节点 $x$ 发送的消息,是 $f$ 对所有其他变量边缘化的结果:

$$\mu_{f \to x}(x) = \sum_{\mathbf{y}} \left[ f(\mathbf{y}, x) \prod_{y \in \mathcal{N}(f) \setminus \{x\}} \mu_{y \to f}(y) \right]$$

其中 $\mathbf{y}$ 是因子 $f$ 所有邻接变量(除 $x$ 外)的集合,$\sum$ 表示对离散变量求和(连续变量则为积分)。

边缘分布的计算

当所有消息收敛后,每个变量节点 $x_i$ 的边缘分布(即信念)为:

$$P(x_i) \propto \prod_{f \in \mathcal{N}(x_i)} \mu_{f \to x_i}(x_i)$$

归一化常数由 $\sum_{x_i} P(x_i) = 1$ 确定。

树状结构的收敛性

当因子图是树状结构(无环)时,Sum-Product 算法在有限次迭代内精确收敛,不存在局部最优或振荡问题。对于含环(loopy)无向图,精确推断是 NP 难的,只能用置信度传播近似(Loopy Belief Propagation),迭代后在许多实际应用中仍能给出高质量近似。

伪代码
Sum-Product(x) {
    if (x 是变量节点) {
        if (x 为叶子节点) return 1;
        result = 1;
        for (x_i in x的子因子节点) {
            result = result * Sum-Product(x_i);
        }
        return result;
    }
    if (x 是因子节点) {
        if (x 是叶子节点) return f(x_p);  // f为因子,x_p为父节点
        result = 1;
        for (x_i in x的子变量节点) {
            result = Sum-Product(x_i);
        }
        return marginal(f(x_p, x_C) * result);
        // 对f关于x_C求边缘概率,x_C为子节点集合,x_p为父节点
    }
}
第五部分 · 与机器学习的关系
指数族分布与多元高斯

概率图模型中常用的分布大多是指数族分布,其一般形式为:

$$P(x \mid \theta) = h(x) \exp(\eta(\theta)^T T(x) - A(\theta))$$

其中 $\eta(\theta)$ 为自然参数,$T(x)$ 为充分统计量,$A(\theta)$ 为对数配分函数。指数族具有共轭性、ML 估计的解析形式等优良性质。

多元高斯分布是连续型图模型中最常用的分布,其协方差矩阵的结构(稀疏性)直接决定了图的连通性。在高斯图模型中,协方差矩阵的逆(非零元素对应图中的边)刻画了变量间的偏条件相关性。