图形模型:原理、应用与算法解析
1. 图形模型简介
图形模型,也被称为贝叶斯网络、信念网络或概率网络,由节点和节点间的弧组成。每个节点对应一个随机变量 $X$,其值为该随机变量的概率 $P(X)$。若存在从节点 $X$ 到节点 $Y$ 的有向弧,则表明 $X$ 对 $Y$ 有直接影响,这种影响由条件概率 $P(Y|X)$ 表示。网络是有向无环图(DAG),即不存在循环。节点和弧定义了网络结构,条件概率则是给定结构下的参数。
以一个简单的例子来说明,假设存在一个模型表示雨会导致草变湿。雨在 40% 的日子里会下,当下雨时,草有 90% 的概率变湿;还有 20% 的概率草会在没有下雨的情况下变湿,比如使用了洒水器。这里的随机变量是二元的,即真或假。
根据这些信息,我们可以计算联合分布 $P(R, W)$:
已知 $P(R) = 0.4$,则 $P(\sim R) = 0.6$;$P(\sim W|R) = 0.1$,$P(\sim W|\sim R) = 0.8$。联合分布可写为 $P(R, W) = P(R)P(W|R)$。
通过对其父节点的可能取值求和,可计算草变湿的个体(边缘)概率:
[
\begin{align
}
P(W) &= \sum_{R} P(R, W)\
&= P(W|R)P(R) + P(W|\sim R)P(\sim R)\
&= 0.9 \cdot 0.4 + 0.2 \cdot 0.6\
&= 0.48
\end{align
}
]
若知道下雨,草变湿的概率为 0.9;若知道没下雨,概率为 0.2;若不确定是否下雨,概率为 0.48。
利用贝叶斯规则,我们可以进行诊断。例如,已知草是湿的,可计算下雨的概率:
[
P(R|W) = \frac{P(W|R)P(R)}{P(W)} = \frac{0.9 \cdot 0.4}{0.48} = 0.75
]
这表明知道草湿后,下雨的概率从 0.4 增加到了 0.75,原因是 $P(W|R)$ 高而 $P(W|\sim R)$ 低。
2. 条件独立的典型案例
在图形模型中,并非所有节点都相互连接,某些子图暗示了条件独立陈述,这有助于将复杂图分解为更小的子集,便于局部推理并传播结果。主要有三种典型情况:
2.1 头到尾连接
三个事件可能串行连接,如在图中,$X$ 和 $Z$ 在给定 $Y$ 的情况下是独立的,即 $P(Z|Y, X) = P(Z|Y)$,意味着 $Y$ 阻断了从 $X$ 到 $Z$ 的路径。此时,联合分布可写为 $P(X, Y, Z) = P(X)P(Y|X)P(Z|Y)$。
例如,$X$ 为阴天,$Y$ 为下雨,$Z$ 为草湿。若不知道阴天情况,可计算:
$P(R) = P(R|C)P(C) + P(R|\sim C)P(\sim C) = 0.38$
$P(W) = P(W|R)P(R) + P(W|\sim R)P(\sim R) = 0.47$
若早上看到天气是阴天,可通过先将证据传播到中间节点 $R$,再传播到查询节点 $W$,计算草湿的概率:
$P(W|C) = P(W|R)P(R|C) + P(W|\sim R)P(\sim R|C) = 0.76$
同样,若看到草湿,可利用贝叶斯规则反向传播证据,计算阴天的概率:
$P(C|W) = \frac{P(W|C)P(C)}{P(W)} = 0.65$
2.2 尾到尾连接
$X$ 可能是两个节点 $Y$ 和 $Z$ 的父节点,联合密度可写为 $P(X, Y, Z) = P(X)P(Y|X)P(Z|X)$。通常情况下,$Y$ 和 $Z$ 通过 $X$ 相关,但在给定 $X$ 的情况下,它们变得独立,即 $P(Y, Z|X) = P(Y|X)P(Z|X)$。
例如,阴天会同时影响下雨和使用洒水器的概率。若知道下雨,可利用贝叶斯规则推断原因:
$P(C|R) = \frac{P(R|C)P(C)}{P(R)} = \frac{P(R|C)P(C)}{P(R|C)P(C) + P(R|\sim C)P(\sim C)} = 0.89$
若不知道 $X$ 的值,知道 $Y$ 的状态可以推断 $X$,进而推断 $Z$。例如,知道洒水器开着,会影响下雨的概率:
$P(R|S) = \sum_{C} P(R, C|S) = P(R|C)P(C|S) + P(R|\sim C)P(\sim C|S) = 0.22$
若知道洒水器关着,下雨的概率会增加:$P(R|\sim S) = 0.55$
2.3 头到头连接
在头到头节点中,单个节点 $Z$ 有两个父节点 $X$ 和 $Y$,联合密度为 $P(X, Y, Z) = P(X)P(Y)P(Z|X, Y)$。$X$ 和 $Y$ 原本是独立的,但在知道 $Z$ 的情况下会变得相关。
例如,节点 $W$ 有两个父节点 $R$ 和 $S$,其概率取决于这两个节点的值 $P(W|R, S)$。在不知道其他信息的情况下,草湿的概率可通过对联合分布进行边缘化计算:
[
\begin{align
}
P(W) &= \sum_{R,S} P(W, R, S)\
&= P(W|R, S)P(R, S) + P(W|\sim R, S)P(\sim R, S) + P(W|R, \sim S)P(R, \sim S) + P(W|\sim R, \sim S)P(\sim R, \sim S)\
&= P(W|R, S)P(R)P(S) + P(W|\sim R, S)P(\sim R)P(S) + P(W|R, \sim S)P(R)P(\sim S) + P(W|\sim R, \sim S)P(\sim R)P(\sim S)\
&= 0.52
\end{align
}
]
若知道洒水器开着,可计算草湿的概率:
$P(W|S) = \sum_{R} P(W, R|S) = P(W|R, S)P(R|S) + P(W|\sim R, S)P(\sim R|S) = 0.92$
也可以计算在草湿的情况下,洒水器开着的概率:
$P(S|W) = \frac{P(W|S)P(S)}{P(W)} = 0.35$
若知道下雨,洒水器导致草湿的概率会降低,这被称为“解释消除”:
$P(S|R, W) = \frac{P(W|R, S)P(S|R)}{P(W|R)} = \frac{P(W|R, S)P(S)}{P(W|R)} = 0.21$
3. 条件独立的应用与优势
我们可以通过组合上述子图构建更大的图。例如,在一个包含多个因素的图中,计算在阴天的情况下草湿的概率:
$P(W|C) = \sum_{R,S} P(W, R, S|C)$
$= P(W|R, S, C)P(R, S|C) + P(W|\sim R, S, C)P(\sim R, S|C) + P(W|R, \sim S, C)P(R, \sim S|C) + P(W|\sim R, \sim S, C)P(\sim R, \sim S|C)$
$= P(W|R, S)P(R|C)P(S|C) + P(W|\sim R, S)P(\sim R|C)P(S|C) + P(W|R, \sim S)P(R|C)P(\sim S|C) + P(W|\sim R, \sim S)P(\sim R|C)P(\sim S|C)$
这里利用了条件独立性,如 $P(W|R, S, C) = P(W|R, S)$,即给定 $R$ 和 $S$,$W$ 与 $C$ 独立;$P(R, S|C) = P(R|C)P(S|C)$,给定 $C$,$R$ 和 $S$ 独立。
贝叶斯网络的优势在于它明确编码了独立性,允许将推理分解为对小变量组的计算,并从证据节点传播到查询节点。例如,对于四个二元变量的联合密度,通常需要存储 15 个值($2^4 - 1$),而在贝叶斯网络中只需要 9 个。若每个节点的父节点数量较少,复杂度将从指数级降低到线性级。
在一般情况下,当有变量 $X_1, \cdots, X_d$ 时,联合分布可写为:
$P(X_1, \cdots, X_d) = \prod_{i = 1}^{d} P(X_i|parents(X_i))$
给定某些变量的证据值,可通过对联合分布进行边缘化计算其他变量的概率分布。但这种计算成本较高,后续将介绍信念传播算法以降低计算成本。
4. 一些特殊情况与概念
- 变量类型 :尽管上述例子使用的是二元变量,但图形模型可很容易地推广到离散变量(具有任意数量的可能值,若有 $m$ 个可能值和 $k$ 个父节点,条件概率需要一个大小为 $m^k$ 的表格)或连续变量(通过参数化,如 $p(Y|x) \sim N(\mu(x|\theta), \sigma^2)$)。
- 隐藏变量 :在问题中可能存在隐藏变量,其值永远不会通过证据得知。使用隐藏变量的优势在于可以更轻松地定义依赖结构。例如,在购物篮分析中,可指定一个隐藏节点“家里有婴儿”作为“婴儿食品”、“尿布”和“牛奶”消费的隐藏原因。当存在隐藏节点时,其值会根据观察节点的值进行估计并填充。
- 因果关系 :需要强调的是,节点 $X$ 的链接并不总是意味着因果关系,它仅表示 $X$ 对 $Y$ 有直接影响,即 $Y$ 的概率取决于 $X$ 的值,即使没有直接原因,两个节点之间也可能存在链接。在构建网络时,最好具有因果关系以解释数据的生成方式,但并非总是能获得这样的原因。
5. 示例图形模型
5.1 朴素贝叶斯分类器
在分类问题中,对应的图形模型中,输入为 $x$,类别代码 $C$ 是一个多项式变量,可取 $K$ 个状态之一。根据贝叶斯规则,可进行诊断:$P(C|x) = \frac{P(C)p(x|C)}{P(x)}$。
若输入是独立的,则为朴素贝叶斯分类器,它忽略了输入之间可能的依赖关系,将多元问题简化为一组单变量问题:$p(x|C) = \prod_{j = 1}^{d} p(x_j|C)$。
聚类与分类类似,不同之处在于分类中多项式类别指示变量 $C$ 是可观察的,而聚类中类似的变量 $Z$ 是不可观察的。期望最大化算法的 E 步使用贝叶斯规则反转弧并根据输入估计聚类指示。
5.2 隐马尔可夫模型
隐马尔可夫模型(HMM)是头到尾连接的一个例子,在一阶马尔可夫模型中,三个连续状态 $q_{t - 2}, q_{t - 1}, q_t$ 对应于链上的三个状态。时间 $t$ 的状态 $q_t$ 仅取决于时间 $t - 1$ 的状态 $q_{t - 1}$,给定 $q_{t - 1}$,$q_t$ 与 $q_{t - 2}$ 独立,即 $P(q_t|q_{t - 1}, q_{t - 2}) = P(q_t|q_{t - 1})$,这由状态转移概率矩阵 $A$ 给出。每个隐藏变量生成一个可观察的离散观测值,由观测概率矩阵 $B$ 给出。HMM 的前向 - 后向过程是信念传播的一个特殊情况。
不同类型的 HMM 可表示为不同的图形模型,如输入 - 输出 HMM、因子 HMM、耦合 HMM 和切换 HMM 等。此外,线性动态系统(也称为卡尔曼滤波器)中,状态和观测值都是连续的,其状态和观测值的关系可通过线性映射和噪声协方差来描述。
5.3 线性回归
线性回归也可可视化为图形模型。输入 $x_t$ 从先验 $p(x)$ 中抽取,因变量 $r_t$ 取决于输入 $x$、权重 $w$(从由 $\alpha$ 参数化的先验中抽取,即 $p(w) \sim N(0, \alpha^{-1}I)$)和噪声 $\epsilon$(由 $\beta$ 参数化,即 $p(\epsilon) \sim N(0, \beta^{-1})$):
$p(r_t|x_t, w) \sim N(w^T x_t, \beta^{-1})$
给定新输入 $x’$,目标是估计 $r’$,即 $E[r’|x’, w]$。权重 $w$ 可通过训练集 $[X, r]$ 进行估计:
$p(r’|x’, r, X) = \int p(r’|x’, w)p(w|X, r)dw$
$= \int \frac{p(r’|x’, w)p(r|X, w)p(w)}{p(r)} dw$
$\propto \int p(r’|x’, w) \prod_{t} p(r_t|x_t, w)p(w)dw$
这里的第二行是由于贝叶斯规则,第三行是由于训练集中实例的独立性。
6. d - 分离
d - 分离是对阻断和分离概念的推广,用于检查任意节点子集 $A$、$B$ 和 $C$ 之间的独立性。可将其可视化成一个球在图上弹跳,称为贝叶斯球。将节点 $C$ 设置为其值,在节点 $A$ 处放置球,让球根据一组规则移动,检查球是否到达节点 $B$。若到达,则 $A$ 和 $B$ 相关;否则,它们独立。
具体检查方法如下:考虑 $A$ 中任意节点与 $B$ 中任意节点之间的所有可能路径。若满足以下条件之一,则路径被阻断:
- 路径上的边方向为头到尾(情况 1)或尾到尾(情况 2),且该节点在 $C$ 中。
- 路径上的边方向为头到头(情况 3),且该节点及其后代都不在 $C$ 中。
若所有路径都被阻断,则称 $A$ 和 $B$ 在给定 $C$ 的情况下是 d - 分离的,即独立;否则,它们相关。
7. 信念传播算法
在讨论了一些手动推理的例子后,我们关注一种能够回答诸如 $P(X|E)$ 这样查询的算法,其中 $X$ 是图中的任意查询节点,$E$ 是证据节点的任意子集,其值被设置为特定值。以下将从简单的链结构开始,逐步介绍到更复杂的图结构。
7.1 链结构中的信念传播
链是一系列头到尾连接的节点,有一个没有父节点的根节点,其他节点都有且仅有一个父节点,除最后一个叶子节点外,每个节点都有一个子节点。
若证据在 $X$ 的祖先节点中,可进行诊断推理并将证据沿链向下传播;若证据在 $X$ 的后代节点中,可进行因果推理并使用贝叶斯规则向上传播。考虑一个一般情况,证据在链的两个方向上分别为 $E^+$ 和 $E^-$。
每个节点 $X$ 被视为一个处理器,接收来自邻居的消息,并在进行一些局部计算后传递。每个节点 $X$ 会局部计算并存储两个值:
- $\lambda(X) \equiv P(E^-|X)$:是 $X$ 从其子节点接收并转发给其父节点的 $E^-$ 传播值。
- $\pi(X) \equiv P(X|E^+)$:是 $X$ 从其父节点接收并传递给其子节点的 $E^+$ 传播值。
节点 $X$ 在给定证据 $E$ 下的概率可表示为:
$P(X|E) = \frac{P(E|X)P(X)}{P(E)} = \frac{P(E^+, E^-|X)P(X)}{P(E)} = \frac{P(E^+|X)P(E^-|X)P(X)}{P(E)} = \frac{P(X|E^+)P(E^+)P(E^-|X)P(X)}{P(X)P(E)} = \alpha P(X|E^+)P(E^-|X) = \alpha \pi(X) \lambda(X)$
其中 $\alpha$ 是一个不依赖于 $X$ 值的归一化常数。这里的第二行是因为给定 $X$ 时,$E^+$ 和 $E^-$ 是独立的,第三行是由于贝叶斯规则。
对于证据节点 $E$,若其被实例化为特定值 $\tilde{e}$,则 $\lambda(\tilde{e}) \equiv 1$,$\lambda(e) \equiv 0$($e \neq \tilde{e}$)。未实例化的叶子节点 $X$ 的 $\lambda(x) \equiv 1$(对于所有 $x$ 值);未实例化的根节点 $X$ 将先验概率作为 $\pi$ 值,即 $\pi(x) \equiv P(x)$($\forall x$)。
基于这些初始条件,可推导出沿链传播证据的递归公式:
- $\pi$ 消息:
$\pi(X) \equiv P(X|E^+) = \sum_{U} P(X|U, E^+)P(U|E^+) = \sum_{U} P(X|U)P(U|E^+) = \sum_{U} P(X|U) \pi(U)$
这里第二行是因为 $U$ 阻断了 $X$ 和 $E^+$ 之间的路径。
- $\lambda$ 消息:
$\lambda(X) \equiv P(E^-|X) = \sum_{Y} P(E^-|X, Y)P(Y|X) = \sum_{Y} P(E^-|Y)P(Y|X) = \sum_{U} P(Y|X) \lambda(Y)$
这里第二行是因为 $Y$ 阻断了 $X$ 和 $E^-$ 之间的路径。
当证据节点被设置为特定值时,它们会引发消息传递,节点会持续更新直到收敛。可将其视为一个并行机器,每个节点由一个处理器实现,与其他处理器并行工作,并通过 $\lambda$ 和 $\pi$ 消息与父节点和子节点交换信息。
7.2 树结构中的信念传播
链结构具有一定的局限性,因为每个节点只能有一个父节点和一个子节点。在树结构中,每个节点可以有多个子节点,但除了单个根节点外,所有节点都有且仅有一个父节点。
信念传播同样适用于树结构,与链结构的不同之处在于,节点会从其子节点接收不同的 $\lambda$ 消息($\lambda_Y(X)$ 表示节点 $X$ 从其子节点 $Y$ 接收的消息),并向其子节点发送不同的 $\pi$ 消息($\pi_Y(X)$ 表示节点 $X$ 发送给其子节点 $Y$ 的消息)。
将可能的证据分为两部分,$E^-$ 是位于查询节点 $X$ 为根的子树中的节点,$E^+$ 是其他地方的证据节点。重要的是,$X$ 会分离 $E^+$ 和 $E^-$,使得 $P(E^+, E^-|X) = P(E^+|X)P(E^-|X)$,因此有:
$P(X|E) = \alpha \pi(X) \lambda(X)$
其中 $\alpha$ 是归一化常数。
$\lambda(X)$ 是位于以 $X$ 为根的子树中的证据。若 $X$ 有两个子节点 $Y$ 和 $Z$,则:
$\lambda(X) \equiv P(E^-_X|X) = P(E^-_Y, E^-_Z|X) = P(E^-_Y|X)P(E^-_Z|X) = \lambda_Y(X) \lambda_Z(X)$
在一般情况下,若 $X$ 有 $m$ 个子节点 $Y_j$($j = 1, \cdots, m$),则:
$\lambda(X) = \prod_{j = 1}^{m} \lambda_{Y_j}(X)$
一旦 $X$ 从其子节点的 $\lambda$ 消息中积累了证据,它会将其向上传播给其父节点:
$\lambda_X(U) = \sum_{X} \lambda(X) P(X|U)$
同样,$\pi(X)$ 是其他地方的证据,通过 $P(U|E^+)$ 积累并作为 $\pi$ 消息传递给 $X$:
$\pi(X) \equiv P(X|E^+
X) = \sum
{U} P(X|U)P(U|E^+
X) = \sum
{U} P(X|U) \pi_X(U)$
计算得到的 $\pi$ 值会向下传播给 $X$ 的子节点。若 $Y$ 有多个兄弟节点,$Y$ 从 $X$ 接收的消息是 $X$ 从其父节点 $U$ 以及其他子节点接收的信息组合:
$\pi_Y(X) \equiv P(X|E^+_Y) = \frac{P(E^-_Z|X, E^+_X)P(X|E^+_X)}{P(E^-_Z)} = \frac{P(E^-_Z|X)P(X|E^+_X)}{P(E^-_Z)} = \alpha \lambda_Z(X) \pi(X)$
若 $Y$ 有多个兄弟节点 $Z_s$($s \neq j$),则:
$\pi_{Y_j}(X) = \alpha \prod_{s \neq j} \lambda_{Y_s}(X) \pi(X)$
7.3 多树结构中的信念传播
在树结构中,节点只有一个父节点。而在多树结构中,节点可以有多个父节点,但要求图是单连通的,即任意两个节点之间只有一条链。若移除节点 $X$,图将分裂为两个组件,这样才能继续将 $E_X$ 拆分为 $E^+_X$ 和 $E^-_X$,且它们在给定 $X$ 的情况下是独立的。
若 $X$ 有多个父节点 $U_i$($i = 1, \cdots, k$),它会从所有父节点接收 $\pi$ 消息 $\pi_X(U_i)$,并将它们组合:
$\pi(X) \equiv P(X|E^+
X) = \sum
{U_1} \sum_{U_2} \cdots \sum_{U_k} P(X|U_1, U_2, \cdots, U_k) \prod_{i = 1}^{k} \pi_X(U_i)$
然后将其传递给多个子节点 $Y_j$($j = 1, \cdots, m$):
$\pi_{Y_j}(X) = \alpha \prod_{s \neq j} \lambda_{Y_s}(X) \pi(X)$
在这种情况下,当 $X$ 有多个父节点时,$X$ 传递给其父节点 $U_i$ 的 $\lambda$ 消息不仅包含 $X$ 从其子节点接收的证据,还包含 $X$ 从其他父节点 $U_r$($r \neq i$)接收的 $\pi$ 消息,它们共同构成了 $E^-
{U_iX}$:
$\lambda_X(U_i) \equiv P(E^-
{U_iX}|X) = \sum_{X} \sum_{U_{r \neq i}} P(E^-
X, E^+
{U_{r \neq i}X}, X, U_{r \neq i}|U_i) = \beta \sum_{X} \sum_{U_{r \neq i}} \lambda(X) \prod_{r \neq i} \pi_X(U_r) P(X|U_1, \cdots, U_k)$
为了找到其总体 $\lambda$,父节点会将从其子节点接收的 $\lambda$ 消息相乘:
$\lambda(X) = \prod_{j = 1}^{m} \lambda_{Y_j}(X)$
然而,在多树结构中,当父节点数量 $k$ 较大时,需要存储和操作给定所有父节点的条件概率 $p(X|U_1, \cdots, U_k)$,这会带来较高的计算成本。为了降低复杂度,提出了一些方法:
-
噪声或门
:任何一个父节点都足以导致事件发生,且当多个父节点事件发生时,可能性不会降低。若仅当原因 $U_i$ 发生时 $X$ 发生的概率为 $1 - q_i$,即 $P(X|U_i, \sim U_{p \neq j}) = 1 - q_i$,则当其中一个子集 $T$ 发生时,$X$ 发生的概率为:
$P(X|T) = 1 - \prod_{u_i \in T} q_i$
例如,若湿草有两个原因:雨和洒水器,$q_R = q_S = 0.1$,即两者单独导致湿草的概率均为 90%,则 $P(W|R, \sim S) = 0.9$,$P(W|R, S) = 0.99$。
-
线性模型
:将条件概率写为给定一组参数的函数,例如线性模型:
$P(X|U_1, \cdots, U_k, w_0, w_1, \cdots, w_k) = sigmoid\left(\sum_{i = 1}^{k} w_i U_i + w_0\right)$
其中 sigmoid 函数确保输出是介于 0 和 1 之间的概率。在训练过程中,可以学习参数 $w_i$($i = 0, \cdots, d$),例如最大化样本上的似然。
7.4 联合树结构中的信念传播
若图中存在循环,即底层无向图中存在环,例如节点 $X$ 的父节点有共同祖先,前面讨论的算法将不再适用。在这种情况下,存在多条路径用于传播证据,在评估节点 $X$ 的概率时,无法将 $E$ 拆分为因果(向上)和诊断(向下)证据 $E^+_X$ 和 $E^-_X$,移除 $X$ 也不会将图拆分为两个部分,对它们进行 $X$ 条件化也不能使它们独立,它们可以通过其他不涉及 $X$ 的路径相互作用。
若能将图转换为多树结构,则仍可使用相同的算法。具体做法是定义对应于一组原始变量的团节点,并将它们连接成树。这就是联合树算法的基本思想。
8. 无向图:马尔可夫随机场
前面讨论的是有向图,其中影响是单向的,并且使用贝叶斯规则来反转弧。若影响是对称的,则使用无向图形模型,也称为马尔可夫随机场。例如,图像中相邻像素往往具有相同的颜色,即它们是相关的,且这种相关性是双向的。
有向图和无向图对条件独立性的定义不同,因此存在一些概率分布只能由有向图表示,而另一些只能由无向图表示。
由于无向图中没有方向,也就没有弧的头或尾之分,因此对无向图的处理更简单。例如,检查节点子集 $A$ 和 $B$ 在给定 $C$ 的情况下是否独立,只需检查移除所有 $C$ 中的节点后,$A$ 中的节点与 $B$ 中的节点之间是否仍存在路径。若存在路径,则它们相关;否则,若 $A$ 和 $B$ 中的节点之间的所有路径都经过 $C$ 中的节点,移除 $C$ 会使 $A$ 和 $B$ 中的节点处于不同的组件中,则它们独立。
在无向图中,不讨论父节点或子节点,而是讨论团,团是一组节点,其中任意两个节点之间都存在链接。最大团具有最大数量的元素。与有向图中的条件概率不同,无向图中使用势函数 $\psi_C(X_C)$,其中 $X_C$ 是团 $C$ 中的变量集,联合分布定义为图中最大团的势函数的乘积:
$p(X) = \frac{1}{Z} \prod_{C} \psi_C(X_C)$
其中 $Z$ 是归一化常数,确保 $\sum_{X} p(X) = 1$,即:
$Z = \sum_{X} \prod_{C} \psi_C(X)$
可以证明有向图已经是归一化的。与有向图不同,无向图中的势函数不需要有概率解释,因此在定义它们时具有更大的自由度。一般来说,势函数可以被视为表达局部约束,即更倾向于某些局部配置。例如,在图像中,可以定义相邻像素之间的成对势函数,若它们的颜色相似,则该函数取值较高。
若有有向图,可通过去掉所有方向将其重绘为无向图。若节点只有一个父节点,可以将成对势函数简单地设置为条件概率。但若节点有多个父节点,由于头到头节点的“解释消除”现象会使父节点相关,因此需要将父节点放在同一个团中,使得团势包含所有父节点。这可以通过连接节点的所有父节点,使它们完全相互连接并形成一个团来实现,这个过程称为“道德化”,它也是生成联合树(无向图)的步骤之一。
可以很容易地将信念传播算法应用于无向图,因为势函数是对称的,不需要区分因果和诊断证据。因此,可以在无向链和树中进行推理。但在多树结构中,当节点有多个父节点时,道德化必然会产生循环,此时该算法将不再适用。一种解决方法是将其转换为因子图,因子图除了变量节点外,还使用第二种类型的因子节点,并将联合分布写为因子的乘积:
$p(X) = \frac{1}{Z} \prod_{S} f_S(X_S)$
其中 $X_S$ 表示因子 $S$ 使用的变量节点的子集。有向图是因子对应于局部条件分布的特殊情况,无向图是因子是最大团上的势函数的特殊情况。因子图的优势在于,即使在道德化之后也能保持树结构。
可以将信念传播算法推广到因子图上,这被称为和积算法。在和积算法中,有相同的思想,即进行一次局部计算,并将结果作为消息在图中传播。不同之处在于,由于有两种类型的节点(因子和变量),因此有两种类型的消息。需要注意的是,因子图是二分图,一种类型的节点只能与另一种类型的节点相互作用。
在信念传播或和积算法中,目标是找到一组节点 $X$ 在给定另一组证据节点 $E$ 被固定为特定值时的概率 $P(X|E)$。在某些应用中,可能希望找到所有 $X$ 的设置,以最大化全联合概率分布 $p(X)$。例如,在无向图中,势函数编码局部一致的配置,这种方法可以将局部约束传播到整个图中,并找到使全局一致性最大化的解决方案。在一个节点对应于像素且成对势函数倾向于相关性的图中,这种方法可以实现去噪。实现这一目标的算法称为最大积算法,它与和积算法类似,只是将求和(边缘化)替换为取最大值(选择最可能的值),这类似于隐马尔可夫模型中前向 - 后向过程与维特比算法的区别。
需要注意的是,节点不一定对应于像像素这样的低级概念。在视觉应用中,可能会有不同类型的角点或不同方向的线的节点,势函数用于检查它们之间的兼容性,以确定它们是否可以成为同一解释的一部分,从而在整合局部证据后出现整体一致的解决方案。
然而,在多树或联合树结构上的推理算法的复杂度取决于最大父节点数量或最大团的大小。当这个值较大时,精确推理可能不可行,此时需要使用近似或采样算法。
9. 图形模型结构的学习
学习图形模型包括两个部分:
-
参数学习
:在给定图结构的情况下学习参数相对容易。在图形模型中,可以通过最大化似然或使用贝叶斯方法(若已知合适的先验)来训练条件概率表或其参数化形式。
-
结构学习
:这是更困难且有趣的部分,本质上是一个模型选择问题。可以将其视为在所有可能的图空间中进行搜索,例如考虑可以添加/移除弧和/或隐藏节点的操作符,然后在每一步评估改进情况(在每个中间迭代中进行参数学习)。为了避免过拟合,应该进行适当的正则化,对应于使用倾向于简单图的先验的贝叶斯方法。由于状态空间很大,若有人类专家能够手动定义变量之间的因果关系并创建小变量组的子图,将非常有帮助。
10. 影响图
影响图是图形模型的扩展,允许将图形模型推广到包括决策和效用。影响图包含表示随机变量的机会节点、决策节点和效用节点。决策节点表示行动选择,效用节点用于计算效用。决策可以基于机会节点,并可能影响其他机会节点和效用节点。
在影响图上的推理是图形模型上信念传播的扩展。给定一些机会节点的证据,传播该证据,并为每个可能的决策计算效用,选择具有最高效用的决策。例如,在对给定输入进行分类的影响图中,给定输入,决策节点决定类别,每个选择会产生一定的效用(风险)。
11. 图形模型的优势与应用
图形模型具有两个主要优势:
-
可视化与理解
:可以直观地展示变量之间的相互作用,通过使用因果生成模型,能更好地理解过程。
-
推理简化
:通过找到与基本概率过程(如贝叶斯规则或边缘化)对应的图操作,推理任务可以映射到通用图算法,从而高效地表示和实现。
图形模型的思想在决策、编码和信号处理等不同领域都有应用。在处理多树或联合树结构上的推理算法时,当复杂度较高时,可使用变分近似和马尔可夫链蒙特卡罗(MCMC)等算法。
图形模型特别适合表示贝叶斯方法,除了变量节点外,还可以有影响观测变量的隐藏参数节点,甚至可以引入层次结构,包含超参数节点。
隐马尔可夫模型是图形模型的一种类型,实际上任何图形模型都可以通过在时间上展开并添加连续副本之间的依赖关系扩展为动态图形模型,这在语音识别等具有时间维度的领域有应用。例如,线性动态系统可以看作是一系列因子分析模型,当前因子也依赖于先前的因子。
图形模型的一般形式主义允许超越传统隐马尔可夫模型的能力,从而在语音识别、计算机视觉(如信息检索和场景分析)以及生物信息学等领域取得更好的性能。
图形模型:原理、应用与算法解析
12. 图形模型的复杂度与近似算法
在处理图形模型时,推理算法的复杂度是一个关键问题。在多树或联合树结构中,复杂度主要由最大父节点数量或最大团的大小决定。当这些值较大时,精确推理可能变得不可行,因为需要计算指数级数量的联合概率组合。
为了应对这种情况,人们提出了多种近似算法,下面介绍一些常见的方法:
-
变分近似
:变分近似的核心思想是通过引入一个简单的分布族,尝试找到该族中最接近真实后验分布的分布。具体步骤如下:
1. 定义一个变分分布族,通常选择易于处理的分布形式,如高斯分布。
2. 通过优化变分参数,使得变分分布与真实后验分布之间的差异(通常用 KL 散度衡量)最小化。
3. 使用优化后的变分分布进行推理,避免了直接计算复杂的真实后验分布。
-
马尔可夫链蒙特卡罗(MCMC)
:MCMC 算法通过构建一个马尔可夫链,使得该链的平稳分布就是我们想要的目标分布(如后验分布)。具体操作流程如下:
1. 初始化一个初始状态。
2. 根据转移概率从当前状态生成下一个状态。
3. 重复步骤 2 多次,直到马尔可夫链达到平稳状态。
4. 从平稳状态开始采样,得到的样本可以近似表示目标分布。
这些近似算法在实际应用中能够在一定程度上平衡计算复杂度和推理精度,使得图形模型在大规模问题中也能得到有效应用。
13. 动态图形模型
动态图形模型是图形模型在时间维度上的扩展,它允许我们处理具有时间序列特性的数据。任何图形模型都可以通过在时间上展开并添加连续副本之间的依赖关系来转换为动态图形模型。
以隐马尔可夫模型为例,它本质上就是一个动态图形模型,其中每个时间步的状态依赖于前一个时间步的状态。在语音识别中,动态图形模型可以更好地捕捉语音信号的时序特征。例如,一个单词的发音是由一系列连续的音素组成的,每个音素的出现都与前一个音素相关,动态图形模型可以很好地描述这种依赖关系。
线性动态系统也是一种动态图形模型,它可以看作是一系列因子分析模型的序列,当前的因子不仅依赖于当前的观测值,还依赖于前一个时间步的因子。这种模型在处理具有动态变化的数据时非常有效,如股票价格的波动、传感器数据的变化等。
14. 图形模型在不同领域的应用案例
图形模型在多个领域都有广泛的应用,下面列举一些具体的案例:
| 领域 | 应用场景 | 图形模型的作用 |
| ---- | ---- | ---- |
| 语音识别 | 自动语音识别系统 | 动态图形模型可以捕捉语音信号的时序特征,提高识别准确率。例如,通过建模音素之间的依赖关系,更好地理解语音内容。 |
| 计算机视觉 | 图像信息检索、场景分析 | 可以用于表示图像中不同元素之间的关系,如物体的位置、颜色、形状等。在场景分析中,图形模型可以帮助识别图像中的不同物体和场景结构。 |
| 生物信息学 | 系统发育树建模 | 用于描述物种之间的进化关系,通过条件概率表示物种进化的可能性,帮助研究生物的进化历程。 |
| 购物篮分析 | 挖掘商品之间的关联规则 | 可以引入隐藏变量来表示消费者的潜在需求,从而更好地发现商品之间的依赖关系,为商家提供营销策略建议。 |
15. 图形模型的未来发展趋势
随着数据量的不断增长和问题复杂度的提高,图形模型在未来有着广阔的发展前景,以下是一些可能的发展趋势:
-
与深度学习的融合
:深度学习在处理复杂数据方面表现出色,而图形模型可以提供明确的概率解释和结构化的表示。将两者结合,可以充分发挥各自的优势,提高模型的性能和可解释性。例如,在图像识别中,可以使用图形模型来表示图像的语义结构,然后结合深度学习模型进行特征提取和分类。
-
处理高维数据
:随着科技的发展,数据的维度越来越高,如何有效地处理高维数据是图形模型面临的一个挑战。未来的研究可能会集中在开发更高效的算法和模型结构,以应对高维数据的挑战。
-
实时推理
:在一些应用场景中,如实时监控、自动驾驶等,需要模型能够进行实时推理。因此,提高图形模型的推理速度和效率将是未来的一个重要研究方向。
16. 总结
图形模型作为一种强大的工具,在多个领域都展现出了巨大的潜力。它通过可视化的方式展示变量之间的关系,利用条件独立性简化推理过程,使得复杂问题的处理变得更加高效和可行。
从基本的贝叶斯网络到动态图形模型,图形模型不断发展和扩展,以适应不同类型的数据和问题。同时,为了应对复杂度问题,人们提出了各种近似算法和优化方法。
在实际应用中,图形模型已经在语音识别、计算机视觉、生物信息学等领域取得了显著的成果。未来,随着技术的不断进步,图形模型有望与其他技术进一步融合,在更多领域发挥重要作用。我们相信,图形模型将在数据分析、人工智能等领域继续推动技术的发展,为解决复杂问题提供更有效的解决方案。
通过对图形模型的深入学习和研究,我们可以更好地理解数据背后的规律,做出更准确的预测和决策。希望本文能够为读者提供一个全面的图形模型介绍,激发大家对这一领域的兴趣和探索。
超级会员免费看

被折叠的 条评论
为什么被折叠?



