PGM 概率图模型基础概念和术语 Probabilistic Graphical Models Principles and Techniques
作者:禅与计算机程序设计艺术
1.简介
在机器学习领域中,概率图模型(Probabilistic Graphical Model, PGM)是一种用于描述复杂系统及其相互关系的统计工具。该模型由变量集合构成,并为每个变量定义了可能的取值范围;同时包含了多个随机变量之间的依赖关系。该模型能够有效捕捉系统的不确定性特征;包括系统处于特定状态的概率分布情况;观测数据出现的概率;以及事件发生的可能性等信息,并据此进行概率预测。
本文涵盖的内容源自Koller & Friedman于2009年出版的《Probabilistic Graphical Models – Principles and Techniques》一书。该书出版后引起了广泛的注意和探讨。本文重点探讨了关于PGM的关键理论,并通过数学模型及其实际应用案例来阐述这些理论。此外还详细阐述了许多核心概念与相关术语,并通过具体实例帮助读者更轻松地掌握PGM的核心内容。
2.概率图模型及其应用
2.1 概率图模型的定义
在概率图模型(Probabilistic Graphical Model, PGM)中****,** 图则由一系列变量及其间的相互依赖关系组成**,** 而概率则是定义在该图上的随机变量取值的概率分布****。进一步说明**,** 一个典型的PGM由一个节点集合V组成**,** 每个节点v_i都对应着自己的取值空间Ω_i**,** 并包含了一系列连接函数f_{ij}(x), 其中j=1,…,n,i=1,…,m****。这些连接函数f_{ij}(x)描述了从v_i到v_j之间的映射关系**,** 即使这些映射关系是基于各节点当前状态或取值情况决定的**。
该公式提供了变量X_k的概率分布描述;定义为\omega的一个排列组合;表示为所有可能取值\omega的概率联合分布;可以看出,在树状结构中...
如图2所示,在该框架下展示了两个实例图形:左侧子图为一个仅包含两个二元变量的概率图模型;右侧子图为一个包含四个二元变量的概率图模型。其中蓝色节点代表变量、灰色方框标记取值范围、黑色箭头体现各节点之间的相互关联性,并在连接处标有对应函数表达式
2.2 概率图模型的特点
(1)对非概率的假设
若采用传统方法处理不确定现象,则通常需要基于这些假设进行建模。如贝叶斯定理或因子分析方法等技术中常会做出这样的前提假定:即所有随机变量服从高斯分布,并且均满足独立同分布的特性(Independent identically distributed)。然而这些假设并非绝对必要,在现实中复杂现象如不确定性、不稳定性等普遍存在。因此概率图模型则认为各变量间存在复杂的关系模式,并且无法完全通过传统的概率模型来刻画这些复杂关系。
(2)结构化方差
在统计学中, 结构化方差(Structured Variance)被定义为衡量不同概率分布之间关联程度的一种指标. 当该值较大时, 则表示各变量间的关联更为紧密; 反之, 在这种情况下, 则意味着各变量间的关联较为分散. 这一特性与线性回归模型具有相似之处, 并且同样可以应用于概率图模型中.
(3)指导变量
在概率图模型中, 将具有较强关联性的变量聚在一起, 就能有效建立它们之间的相互关系. 换言之, 将一个特定变量的影响重点考虑, 则能使其他非关键因素得以忽略, 这样能有效降低整体复杂程度. 这种处理方式有助于增强模型的整体稳定性. 同时, 还可通过潜在变量(latent variables)来捕获更多难以直接观测到的信息
另一种常用的技术被称为蒙特卡罗技术(Monte Carlo Techniques),这种方法即使在样本数量极少的情况下也可以计算任意分布的真实均值和方差。
3.相关理论
3.1 Markov网络
3.1.1 Markov网络概述
马尔科夫网络(Markov Network)遵循马尔可夫链的基本原则,并采用概率图形化模型来构建关联关系。相对于传统概率图形化模型来说,该方法在表示复杂系统中的随机变量及其依赖关系方面展现出显著的优势。
- 模型简单:该模型通过将随机变量进行层次化组织处理,并使各层次之间相互独立从而便于构建相关联的体系结构。
- 计算量小:该马尔可夫网络能够直接推导出各个变量之间的联合概率分布关系而不必依赖复杂的积分运算或其他计算密集型方法。
- 对缺失数据友好:在面对缺失数据时该方法表现稳健(即具有较强的鲁棒性)从而能够维持较高的预测精度和准确性。
- 有时可以获得比贝叶斯方法更好的性能
马尔可夫网络通常被定义为一种具有层次结构的马尔可夫链。在结构方面,该模型假设各层之间相互独立,并不存在自循环或无向连接。各层变量的状态可以通过上一层的状态来推导,而参数上则可以通过在图中构建相应的参数表示来实现。
举例来说,在马尔可夫网络模型中,我们有两个随机变量集合\mathbf{X} = \{X_i\}和\mathbf{Y} = \{Y_j\}(其中i=1,\dots,n, j=1,\dots,m),它们具有相同的取值范围\{a, b, c\}。我们的目标是探究这两个变量集合之间的联合概率分布p(\mathbf{X}, \mathbf{Y})。基于马尔可夫网络理论,在已知其他所有变量的情况下单独考虑两个相邻变量之间的条件概率关系:即给定其他所有变量已知的情况下,计算某一个特定变量的变化对另一个特定变量的影响程度。具体而言,在已知其他所有变量的情况下单独考虑两个相邻变量子集之间的条件概率关系:即给定其他所有变量已知的情况下,计算某一个特定变量子集的变化对另一个特定变量子集的影响程度。为了估计这个目标概率分布p(\mathbf{X}, \mathbf{Y}), 我们采用如下方法:首先假设这两个变量子集之间存在某种依赖关系;然后从第一个变量子集\mathbf{X}中进行抽样,得到样本值x_i^{(s)},接着根据这个已知的结果x_i^{(s)},从第二个变量子集\mathbf{Y}中进行抽样,得到样本值x_j^{(s)},将这些样本值配对形成$(x_{i}^{(s)}, x_{j}{(s)})的形式;最后将这些配对结果汇总成一个数据集{(x_i{(s)}, x_j{(s)})}_{s=1}S,并通过不断重复这一过程直至生成所需数量的样本数据集
3.1.2 结构化的Markov网络
该段实例所提及的关联性本质上就是马尔科夫网络架构的核心组成。若缺乏这种关联性,则无法形成有效的马尔科夫网络。
为了全面展示两个变量的所有组合情况,我们引入符号V来定义所有可能的有序对集合:V = { (x₁, x₂) };同时设定X₁和X₂分别为单个变量的所有取值集合:即X₁ = {x₁}、X₂ = {x₂}。其中p_{ij}代表从状态空间中的状态X_i转移到状态X_j的概率,则转移概率矩阵(p_{ij})通常采用马尔可夫网络结构来描述
p_{ij} \sim \mathcal{N} (\mu_{ij}, \sigma_{ij}^{2}), \quad i
\mu _{ij} 和 \sigma _{ij}^{2} 用来表示从变量 X _{i} 到变量 X _{j} 的转换矩阵的期望值和方差值。可以看出,在这种情况下,在 p _{ii}=1, 表示变量 X _{i} 到自身的转换过程是一个恒定的过程,并且其转换系数等于 1。
如果X_i和X_j之间有依赖关系,那么(p_{ij})可以写成如下形式:
p_{ij} = \sum_{k=1}^{m} W_{ik} h_{kj} + b_i, \quad i
W和h分别表示连接权和影响函数。
如果X_i和X_j之间没有依赖关系,即(p_{ij})=0,表示X_i和X_j之间没有影响。
通过求解各个参数,我们可以估计出X_1和X_2的联合分布。
3.2 相关性理论
3.2.1 相关性
这表明了两个随机变量之间存在线性的关联程度。在一般情况下,默认使用correlation\ coefficient这一指标来进行两个变量间关系的量化分析。然而由于其不易直接理解,在某些研究领域中人们倾向于采用其他度量方式来描述变量间的关联情况。
3.2.2 协方差和共分散
协方差(Covariance)是一种用于衡量两个随机变量之间线性关系的方法,在统计学中具有重要应用价值。具体而言,在一个系统中当某一因素发生变化时会引发另一因素的变化情况及其程度即是协方差所要分析的对象。其计算结果反映了这两个相关事件之间是否存在较强的相关性以及这种相关性的强弱程度。
共分散(Covariance Matrix)是协方差矩阵的协方差的商。
用协方差和共分散来描述变量之间的相关性,有以下几条定律:
只有当两变量间存在协方差时,则它们间才可能存在显著的相关性。
若两变量间完全没有线性关联(即协方差等于零),则其线性关系的相关系数也为零。
当两变量间呈完全正线性关系(即协方差大于零),则其间的线性关系的相关系数亦为正值。
当两变量间呈完全负线性关系(即协方差小于零),则其间的线性关系的相关系数亦为负值。
若两变量间既存在某种程度的正向与反向关联,则它们间的总体关联程度即为其各自对应的相关系数均值。
根据前述定律, 能够证明, 相关性理论为变量间的关系提供了一个直观的描述方式
3.3 分布条件模型
基于分布条件的概率图模型中描述了各变量间的相互关系。该模型通过设定特定条件来定义各随机变量之间的依赖性机制,在这种机制下各随机变量会表现出一定的关联性特征。DCM的核心在于利用给定条件下样本数据的概率信息来推断未知参数或潜在结构信息。
3.3.1 例子:线性分布条件的多元高斯分布
假定存在两个连续变量 X_1, X_2, 其中 X_1 \sim \mathcal{N}(\mu_1, \sigma^2), 而 X_1, Z \in \{\alpha, \beta\} 之间具有某种关联关系;当 Z = \alpha, 则有 Y = X_2 + \epsilon, 其中 \epsilon \sim \mathcal{N}(0, \gamma^2)
可以建立如下图所示的概率图模型:
两变量间存在直接关联。
基于它们均值与方差均为确定数值。
其取值状态会影响相应变量的状态。
该误差项代表了两个变量间存在的非线性关系。
假设在给定条件下,
\ Z\ 和\ X_{2}\ 的分布近似独立,
即\ P(X_{1}|Z=z,X_{2})\approx P(X_{1}|Z=z)$。
由此我们能够推导出关于这两个变量之间分布关系的关键结论。
3.3.2 DCM的最大熵原理
DCM的最大信息熵原理(Max Entropy Principle, MEP)既是DCM模型的核心定理,也是其本质特征。这一理论阐述了如何确定分布条件模型的各个参数,并使联合分布达到最大信息熵状态。
MEP 的推论建立在以下核心观点上:即若存在条件分布模型中的相应参数,则其对应的联合分布必然能够被这些参数所表示。进而得出,在通过合理估计这些参数后,则能够确定一组合适的参数使得该联合分布达到最大熵状态。
3.3.3 参数估计
通常情况下,在已知模型中各随机变量的具体数值、它们的概率分布以及相关的条件变量的具体数值的情况下,则可以求得该模型的相关参数。然而,在现实应用中通常涉及的随机变量数量巨大,则会导致待估计的参数数量也可能变得非常庞大。进一步地,在实际应用中解决这一问题通常需要面对高度复杂的优化挑战。
本研究主要采用两种不同的估计方法来有效解决参数估计问题。其中一种是MaxEnt模型(Maximum Entropy Method, MEM),另一种是梯度上升法(Gradient Ascent Algorithm, GAA)。
该GAA算法基于迭代机制分阶段优化模型参数设置,在使联合分布系统的熵达到最大值的过程中不断更新;而该MEM方法直接借鉴了信息理论的核心思想,在将模型各部分参数定义为独立的信息源后,并通过优化共享度与去除冗余的方式实现了对各参数的最佳估计。
3.3.4 模型的评估
有时需要通过某些方法来测定模型的效果,或者借助一些指标体系来衡量模型的表现。存在多类典型评估标准。
- 边缘似然(Perplexity):边缘似然(Perplexity),作为语言模型困惑度(perplexity)的重要指标,在信息论中被广泛采用。具体而言,在预测新观察到的句子时,若预测结果越难以准确把握,则模型的困惑度会相应升高;而这一数值则直接反映了语言模型的质量评估标准。通过数学推导即可得出边缘似然的具体计算公式。
- 精确度(Accuracy):准确率(accuracy),作为分类器性能的重要量化指标,在机器学习领域有着重要的应用价值。
- 拟合度(Goodness of Fit):匹配程度(goodness of fit),这一统计学概念被用来评估所建立的模型与实际观测数据之间的吻合情况。
3.4 其他重要的模型
3.4.1 隐马尔可夫模型
隐马尔可夫模型(Hidden Markov Model, HMM)是一种概率图模型,在其基础架构上建立了一个基于状态序列的概率框架,并将马尔可夫链的概念进行了扩展以适应复杂场景的需求
HMM可以通过表示观测序列与隐变量之间的相互关系来建模。在HMM框架内,每个隐变量都对应着特定的意义或信息。将模型被视为由Q、B以及A构成的状态空间马尔可夫链更为准确。在实际应用场景中,默认情况下会将隐变量视为不同类别标识符,并将观察到的数据视为这些类别的代表性特征。
3.4.2 马尔可夫随机场
马尔可夫随机场(Markov Random Field, MRF)是一种重要的概率图模型,在复杂无干预过程中具有广泛的应用价值。在MRF框架下,变量之间的依赖关系并非局限于马尔可夫假设下的局部关联性。与仅依赖于局部依赖关系的马尔科夫模型不同,在MRF中这种限制被取消或放宽了。这种结构使其能够表现出良好的处理能力,并能有效地应对涉及复杂相互作用和全局优化问题的情况。
3.4.3 条件随机场
条件随机场(Conditionally Random Field, CRF)属于概率图模型的一种,在机器学习领域具有重要地位。常用于序列标注和图像分割的概率模型中应用广泛。在高维空间中能够表示一组随机变量之间的依赖关系,并涉及不同的位置、尺度以及空间上的依赖关系等复杂特征。与隐马尔科夫模型(HMM)和马尔科夫随机场(MRF)相比,在允许出现不依赖于其他变量的子集方面具有独特的优势
CRF能够识别变量间的相互影响关系,并计算出各变量在不同条件下的发生概率。该模型不仅能够处理常规的概率事件(如独立事件),还特别擅长处理那些不依赖于全局信息的概率型事件。通过CRF技术,我们可以有效地分析和处理包括手写字符在内的视觉媒体数据类型。
4.代码实例
以python语言为基础实现了一个简单的PGM模型实例。该PGM模型包含三个变量,并且每个变量都有相同的取值范围[1,2](对应三种可能的状态),其联合概率分布如下所示:
P(\{X_1, X_2, X_3\})=P(X_1)*P(X_2|X_1)*P(X_3|X_1,X_2)
概率值P(X₁)等于三分之一;
条件概率P(X₂|X₁)在以下情况下定义:
- 当X₁ = 1时取值为三分之一;
- 在其他情况下取零。
条件概率P(X₃|X₁,X₂)的定义如下: - 当x_{i}=x_{j}=y_{k}时取值为\frac{n!}{n_{i}!n_{j}!n_{k}!};
- 在其他情况下根据具体情况分别计算其对应的数值。
从实例来看,在此情形下
基于概率图模型的定义可知,在图形中为了表示模型结构而使用了一定的方式去描绘各节点之间的关系。让我们绘制出该模型的知识图表以便更好地理解其内在联系。在图形中仅存在变量间的关系边,并且这些边的存在与否取决于各个变量之间是否存在直接的影响或关联性。通过分析该图表我们能够按照特定顺序进行推理即首先考虑影响较小的因素然后再逐步推进以最终确定系统的关键要素及其相互作用机制。连接方向暗示了各变量间的依赖关系从而构成了整个系统的动态运行框架
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
edges = [((1,), (2,)), ((2,), (3,))]
for edge in edges:
ax.plot(*zip(*edge), marker='o', color='black')
ax.set_xticks([1, 2])
ax.set_yticks([1, 2, 3])
ax.grid()
plt.show()
代码解读
此时,对应的概率模型应该是:
P(\{X_1, X_2, X_3\})=\frac{1}{3}*P(X_2=1|X_1=1)*P(X_2=2|X_1=2)*P(X_3|X_1=1,X_2=2)+ \frac{1}{3}*P(X_2=2|X_1=1)*P(X_2=1|X_1=2)*P(X_3|X_1=2,X_2=1)+ \frac{1}{3}*\overline{P}(X_2=1,X_2=2)*P(X_3|X_1=1,X_2=1)\\ P(X_1)=\frac{1}{3}\\ P(X_2|X_1)=\left\{ \begin{array}{ll} 1/3 &if X_1=1 \\ 0 &otherwise \end{array} \right.\\ P(X_3|X_1,X_2)=\left\{ \begin{array}{ll} 1/3 &if X_1=1 and X_2=2 \\ 2/3 &if X_1=2 and X_2=1 \\ 0 &otherwise \end{array} \right.\\
%matplotlib inline
from pgmpy.models import BayesianModel
from pgmpy.factors.discrete import TabularCPD
model = BayesianModel([('X1', 'X2'), ('X1', 'X3')])
print(model.get_cpds())
cpd_x1 = TabularCPD('X1', 3, [[1 / 3], [1 / 3], [1 / 3]])
cpd_x2 = TabularCPD('X2', 3,
[[1 / 3, 0, 0],
[0, 1 / 3, 0],
[0, 0, 1 / 3]],
evidence=['X1'],
evidence_card=[3])
cpd_x3 = TabularCPD('X3', 3,
[[1 / 3, 0, 1 / 3, 0, 0, 0],
[2 / 3, 1 / 3, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1]],
evidence=['X1', 'X2'],
evidence_card=[3] * 2)
model.add_cpds(cpd_x1, cpd_x2, cpd_x3)
print(model.get_cpds())
代码解读
运行结果:
[ <TabularCPD representing P(X1:3) at 0x7fe60e5b0e10>,
<TabularCPD representing P(X2:3 | X1) at 0x7fe60e5c7ea0>,
<TabularCPD representing P(X3:3 | X1, X2) at 0x7fe60e5c7be0>]
<TabularCPD representing P(X1:3) at 0x7f1749bf2d30>
+--<TabularCPD representing P(X2:3 | X1) at 0x7f1749bf2eb0>
| +--'X1': 3
||
+--<TabularCPD representing P(X3:3 | X1, X2) at 0x7f1749bf2ef0>
+--'X1': 3
+--'X2': 3
代码解读
5.未来趋势
在人工智能领域无疑已催生了大量基于神经网络的算法。随着越来越多的研究者投身于机器学习领域并不断探索新的技术方向。强化学习相关算法正日益受到关注其研究领域正蓬勃发展并不断涌现出新的方法论与理论基础。而深度强化结合模式不仅吸引了大量研究者和工程师的目光而且成为推动AI发展的重要力量。随着时间推进PGM与强化学习最终将逐渐融合成为一个不可分割的整体成为人工智能体系中不可或缺的关键环节。然而目前这些模型仍存在一定的局限性尤其是监督式任务容易陷入局部最优解而强化式任务则能突破这一限制朝着全局最优解的目标迈进尽管如此这些问题仍将持续影响着该领域的研究与发展
