Advanced Topics in Statistical Machine Learning 笔记07:Markov Networks

在这一节中,我们来了解马尔科夫网络 (Markov Networks)。首先,我们需要明确马尔科夫网络 (Markov Networks) 是什么。在第一篇笔记中,我们曾说过,马尔科夫网络 (Markov Networks) 和贝叶斯网络 (Bayesian Networks) 同属于概率图模型 (Probabilistic Graphic Model, PGM),区别在于后者是有向图 (Directed Graph),而马尔科夫网络 (Markov Networks) 则是无向图 (Undirected Graph)。 因此,马尔科夫网络 (Markov Networks) 常用于对对称依赖性 (Symmetrical Dependence) 进行建模,例如一幅图像中的像素 (Pixels)。

注意,我们这里再次强调,马尔科夫网络 (Markov Networks) 和贝叶斯网络 (Bayesian Networks) 是两种概率图模型。换言之,我们在上一节介绍的马尔科夫链 (Markov Chain) 和隐马尔科夫模型 (Hidden Markov Model, HMM) 并不是马尔科夫网络 (Markov Networks) !! 因为这两者都属于动态贝叶斯网络 (Dynamic Bayesian Network),是有向图模型!!

和贝叶斯网络一样 (Bayesian Networks) ,马尔科夫网络 (Markov Networks) 同样可以对变量之间的独立性进行建模,但是这两种模型没有任何一个是多余的,因为存在一部分独立性关系只能在马尔科夫网络中表示,对于贝叶斯网络也一样。

马尔科夫网络常用于对一系列受其邻居状态 (Neighbor State) 影响的状态 (State) 进行建模。 比如一个句子 (Sentence) 或是一幅图。对于一个句子,我们可以用一条链 (Chain) 来表示,而对于图则可使用网格 (Grid)。在下面的图示中,上方的链 (Chain) 中的每个节点/变量表示一个词 (Word),而在下方的网格 (Grid) 中,每个节点/变量表示一个像素 (Pixel)。

在这里插入图片描述
可以看到,在图示中,每对相邻变量之间的影响是相互的,对于这种对称性 (Symmetry) 的建模就是马尔科夫网络 (Markov Networks, MN) /马尔科夫随机场 (Markov Random Fields, MRFs) 最重要的性质之一。

马尔科夫随机场 (Markov Random Fields, MRFs) 常见与图像处理领域;马尔科夫网络 (Markov Networks, MN) 常见于概率图领域,当前我们可以把这两个术语看作等价。

和贝叶斯网络一样,我们同样需要明确马尔科夫网络中的独立性是怎样的。相比于前者,马尔科夫网络中的独立性实际上更为直观和简单,简而言之,在马尔科夫网络中,已知一个变量的相邻变量 (Neighbor Variable),该变量与其他所有变量独立。

在这里插入图片描述
例如,在上图中,𝑋1 ⊥ 𝑋3, 𝑋4|𝑋2
即 𝑃(𝑋1|𝑋2, 𝑋3, 𝑋4 = 𝑃(𝑋1|𝑋2)

对于马尔科夫网络,我们同样可以使用 MAP 或者 MPE 查询去求取概率最大的一组实例化 (Instantiation) 。而每一组实例化 (Instantiation) 的概率都取决于了 2 个因素:外部影响 (External Influence),即先验概率 (Prior);内部影响 (Internal Influence),即似然性 (Likelihood)。我们可以用一个具象化的例子来理解。

在这里插入图片描述
这里我们有 4 个圆环分别套在 4 个圆柱上,这 4 个圆环就表示变量,它们的高度就是它们的状态 (State)。此时,每个圆环与圆柱相连的弹簧就表示外部影响,而圆环之间连接的弹簧就代表内部影响。当我们松手,最后所有圆环稳定时的状态就是 MPE 的结果,也就是概率最高的实例化 (此时每个圆环的高度就是具体的实例化结果)。

下面我们依然从具体的例子来理解马尔科夫网络。

投票模拟(Voting Example)

我们来设想一个情景,假设我们现在要对 A, B, C, D 四个人的投票偏好 (Voting Preference) 进行建模。我们知道 A-B, B-C, C-D 还有 D-A 之间是朋友关系,朋友之间会互相影响。对于这样的影响,我们就可以很简单地用一幅无向图表示出来:

在这里插入图片描述
可能有人会奇怪,为什么我们不选择使用贝叶斯网络 (Bayesian Network) 进行建模呢?理由很简单,因为我们知道 A 和 C 之间没有联络,他们不会互相影响,换言之,A ⊥ C | B, D,同样,D ⊥ B | A, C。然而,我们无法找到同时满足这 2 个独立性的贝叶斯网络。

与贝叶斯网络一样,我们现在来看这个马尔科夫网络的具体结构:

在这里插入图片描述
和贝叶斯网络一样,可以看到,马尔科夫网络中同样也维护了多个 CPTs,互相不独立的变量都会在同一个 CPT 中,这里我们同样用 Factor 来表示 CPT。需要注意的是,和贝叶斯网络不同,马尔科夫网络中 Factor 所存储的值不是 [0, 1] 之间的值,换言之,并不是概率,而是对于相关变量之间关联强度的一种表示。 想要得到联合概率 (Joint Probability),我们需要对这些值进行归一化 (Normalization):

在这里插入图片描述
该式子中的 Z 就是所谓的归一化常数 (Normalizing Constant),也被称为分割函数 (Partition Function):

在这里插入图片描述

我们现在来理解这个马尔科夫网络中数值的具体含义。我们可以把每个 Factor 看作是 2 个人之间的互动,我们之前说过,作为朋友的两个人会相互影响投票的结果。以 𝜙(A, D) 为例,我们可以知道,A 和 D 两人更可能达成共识,很少会意见不同,因为 𝜙(A, D) = 𝜙(¬A, ¬D) = 100,𝜙(A, ¬D) = 𝜙(¬A, D) = 1;而对于 A 和 B 两人来说,虽然他们持相同意见的情况也占多数,但没有 A 和 D 那么多,而且也在赞同为真时比赞同为假更主流。

在对于这个网络有了以上的理解之后,我们该怎么得到最有可能的投票结果 (Most Likely Voting) 呢?换言之,怎么得到概率最高的实例化(即A, B, C, D 每个人具体投 T/F),即 MPE 查询结果。我们已经知道,不同的朋友之间可能会相互影响得到相同/不同的投票结果,现在我们需要做的实际上就是找到一组赋值使得整个网络的能量 (Energy) 处于最低点。

因此,我们在上面使用的马尔科夫网络图中指示的是因变量之间的耦合程度。它所需要的先验知识 (Prior Knowledge) 少于贝叶斯网络中的 CPT,同时它在可能赋值 (Possible Assignment) 上定义了能量格局 (Energy Landscape) ,我们通过归一化常数 (Normalization Constant) 将能量转换为概率。

理论上的阐释可能还是不够直观,我们依旧用具体的计算来进行理解。依旧用上面的投票范例 (Voting Example),我们对网路中的所有 Factor 进行计算,可得到如下结果:

在这里插入图片描述
上图中的左表即为联合概率表 (Joint Probability Table) 可以看到,所有的非归一化结果 (Unnormalized) 即为所有 Factors 中对应值的乘积,将它们求和即为 Z,使用 Z 进行归一化 (Normalized) 之后,即得到所有实例化/赋值的联合概率 (Joint Probability) 。通过在归一化之后的结果选择的最大值,可以得到 MPE 查询的结果。

而在得到了上述的联合概率表之后,所有对于贝叶斯网络的计算,我们现在都可以对马尔科夫网络进行:

在这里插入图片描述
但是在实际的情况中,我们的计算方向往往是相反的。就比如我们之前介绍过的贝叶斯网络分类器,我们会先得到一批数据,用这批数据来学习网络的参数,即 CPT。 对于马尔科夫网络也是一样,然而这时候就出现了一个问题。我们以 P(A, B) 为例,和贝叶斯网络的参数学习一样,我们可以通过在给定数据中,统计 a 和 b 同时出现的频率来计算概率,得到:

在这里插入图片描述
值得注意的是,对于马尔科夫网络中的参数,比如 Factor 𝜙(A, B),它并不能直接从 P(A, B) 得到,反之亦然。因为我们在前面的计算中已经知道,P(A, B) 不是仅对 Factor 𝜙(A, B) 进行归一化就能得到的:

在这里插入图片描述

而是先计算包含了所有变量的联合概率表 (Joint Probability Table),此时我们考虑了所有变量之间的关系,然后再从中得到 P(A, B)。这就对马尔科夫网络的参数学习造成了很大的阻碍,无法像贝叶斯网络的参数学校那样直接。

在本篇笔记中,我们也将在后续继续讨论这方面的内容。

Random Field to Markov Networks(随机场到马尔科夫网络)

我们现在来看何为 Random Field(随机场)。一个随机场 X 就是一个随机变量的集合 (Set of random variables) ,即 X = {X1, X2, …, Xn} ,在随机场中,一般会将每个变量 (Variable) Xi 与一个站点 (Site) 相关联。我们用 S 索引 n 个站点 (Sites) 。

这里的站点在空间上可以是规则的 (Regular),比如 2D 图像中的像素,在这种情况下,随机场图像会像下图所示一样是一个网格图;当然也可能是不规则的 (Irregular)

在这里插入图片描述
在随机场中,我们不仅关心每个站点本身,也要关心它们的邻点,因为我们知道与其相邻的站点是关联性最强的,我们用 Ni 表示站点 i 的相邻站点集合。 需要注意的是:

  • 一个站点不会与其自身相邻,因此 𝑖 ∉ Ni
  • 相邻关系是相互的,因此 𝑖 ∈ Ni’ 当且仅当 𝑖’ ∈ Ni

随机场 X 如果要成为一个马尔科夫随机场 (Markov Random Field) /马尔科夫网络 (Markov Networks),那么它就需要满足 2 个性质:

  1. 马尔科夫性 (Markovianity):给定除 i 以外的其他所有站点,站点 i 的概率,等于给定 i 所有邻点时,它的概率。即 P(Xi|XS\{i}) = P(Xi|XNi)
  2. 阳性 (Positivity):这个性质要求所有的概率必为正。即 P(X1 = x1, X2 = x2, …, Xn = xn) > 0 (∀𝒙 ∈ 𝑿 )。这里需要格外注意,因为在贝叶斯网络中,我们是允许存在为 0 的概率的

这里我们看一个具体的例子:

在这里插入图片描述
上图是一个特别简单的马尔科夫网络。在这个网络中,马尔科夫性 (Markovianity) 具体表现为:P(C|A, B, D) = P(C|B, D)。这实际上就是独立性的具体体现,因为根据这个式子我们可以知道 C ⊥ A | B, D。 而阳性 (Positivity) 则更好理解,我们可以想象一个包含网络中所有变量的联合概率表,在这个表中,所有概率都应大于 0。


我们已经知道,马尔科夫网络 (Markov Network) 是一个无向图模型,因此同样可以用 G = (V, E) 来表示,其中 V 就是所有变量/节点的集合,E 则是所有无向边的集合。和贝叶斯网络支持 D-Separation 规则一样,马尔科夫网络支持 Separation 规则,即:如果集合 Z 中的变量能将 XY 中的变量在图中分隔开来,那么也就是说,给定 ZX 中的一系列变量与 Y 中的变量相互独立。 换言之,如果我们将 Z 中的节点从图中移除,那么 XY 中的节点之间不会有通路。 这个规则很好理解,我们仍用上面的简易马尔科夫网络示意图来理解,在这个图中,我们能看到 B, D 将 A 和 C 在图中分割开来,当我们从图中移除 B 和 D,那么 A 和 C 之间就不会再有通路,此时 Z = {B, D}, X = {A}, Y = {C},因此 A ⊥ C | B, D。

Gibbs Distribution(吉布斯分布)

在贝叶斯网络中,我们在表达联合概率时,可以将所有 CPT 的对应结果相乘,这也就是贝叶斯网络的链式法则 (Chain Rule)。对于马尔科夫网络,我们也希望能进行类似的计算。这就需要 Hammersley-Clifford 理论,简单的来说,当马尔科夫网络的阳性得到满足时,联合概率分布 (Joint Probability Distribution) 就可以由吉布斯分布 (Gibbs Distribution) 确定。

在这里插入图片描述
这个理论可以帮助我们像在贝叶斯网络中一样,把联合概率分解为多个小的 Factors,这就让我们能更有效地回答概率查询。

同样用一个例子来理解。下图是一个简单的马尔科夫网络:

在这里插入图片描述
首先,我们要确定图中的团 (Cliques),我们先来看极大团 (Maximal Clique),该网络中的极大团有两个:A - B - D 和 B - C - D。因此,吉布斯分布 (Gibbs Distribution) 应为:

在这里插入图片描述
我们要注意所谓的 Clique(团)就是完全连接的子图,因此实际上我们可以选择更小的 Clique 比如一对变量,此时吉布斯分布即为:

在这里插入图片描述

这样的计算方式是很合理的。我们不妨回忆一下之前我们在投票例子中是如何求取的 MPE 结果的,我们首先定义所有相互依赖的变量都应在同一个 Factor 中,然后 Factor 中结果对应相乘,将所有相乘结果求和得到 Z,然后计算所有的联合概率,选择概率最高的那个结果。在这里,我们使用团 (Clique) 这个概念来进行计算,因为团是完全连接的子图,因此一个团中的所有变量必然相互依赖,那么就一定会在一个 Factor 中,所以实质上这个计算就是我们在之前的例子中进行的完整计算。

下面我们再对阳性 (Positivity) 进一步的理解。之前已经说过,使用吉布斯分布的前提是马尔科夫网络要满足阳性。下面我们看一个具体的例子:

假设我们有一个如下图所示的马尔科夫网络,同时也给出该网络中所有变量的联合概率表,该表并不完全,剩下未在表中列出的概率全都为 0。所以很明显,这是一个不满足阳性 (Positivity) 的联合概率分布
在这里插入图片描述
这个网络能够满足以下两个独立关系:
A ⊥ C | B, D
D ⊥ B | A, C
我们首先来检查上面提供的联合概率是否满足这两个独立关系。为了方便计算,我们这里也给出需要的概率表:
在这里插入图片描述
检查的方法很简单,以第一个独立关系为例,我们只需要看 P(A, C| B, D) 是否等于 P(A| B, D) * P(C|B, D)。使用上面给出的概率表,我们可以很轻松的证明这个结果:
P(A=a, B=b, C=c, D=d) = 0.5 * 1 = 0.5
P(A=a, B=b, C=¬c, D=d) = 0.5 * 0 = 0

因此我们可以知道,给定的联合概率表满足 A ⊥ C | B, D


下面检查 D ⊥ B | A, C,同样给出需要的概率表:
在这里插入图片描述
这里和上面进行同样的计算,我们直接给出结论,D ⊥ B | A, C 是满足的。
既然这个联合概率分布满足网络中的所有独立关系,那么根据定义,我们知道这些联合概率应当可以使用吉布斯分布进行表达,因此有:
在这里插入图片描述
我们注意到第一个联合概率没有出现在之前给出的联合概率表中,因此它应当为 0。但是这个结果就出现了问题。因为 P(¬a, b, c, ¬d) = 0,那么就意味着 𝜙1(¬a, b), 𝜙2(b, c), 𝜙3(c, ¬d), 𝜙4(¬d, ¬a) 这 4 个 Factor 中是至少有 1 个应当等于 0,但是根据后面 3 个联合概率的吉布斯分布,我们可以看到结论产生了矛盾,这 4 个 Factor 没有一个等于 0。
因此,我们很容易就能得到结论,不满足阳性 (Positivity) 的马尔科夫网络是无法使用吉布斯分布 (Gibbs Distribution) 的。

前面已经说过,对于同一个马尔科夫网络,选取不同尺寸的团 (Clique) 就会有不同的吉布斯分布。

在这里插入图片描述
但是,上面所有的吉布斯分布都保有相同的性质,即:只要变量同时存在于一个 Factor,就表明它们之间有依赖关系,如果不存在与同一个 Factor,则它们相互独立。 比如 A, B, D 存在于同一个Factor中,那么它们之间相互关联,而 A, C 始终不在同一Factor,表明它们相互独立。 同时,上面三个不同的吉布斯分布的表达能力也不尽相同,如果按照表达能力从大到小排序,为 1 → 2 → 3。这其实很好理解,因为有一些由三个变量组成的关系无法进行分解,比如XOR。

另一方面,我们也需要知道,选取不同尺寸的团也会使得参数量发生变化,选择的团尺寸越大,参数就越多。我们用一个完全图来理解:

在这里插入图片描述
在这个全连接图中,最大的团就是其本身,此时需要的参数量为 O(dn),这里的 d 为变量的取值,n 为变量的数量,这里我们假设全是二值变量,那么,选用最大团,最后的参数为 O(24),此时仅有一个 Factor,该 Factor 中包含所有的 4 个变量。但是如果我们选择使用配对团 (Pairwise Clique),即一个团只有 2 个变量,那么,需要的参数量即为 O(n2d2) ,这里的 n2 是边数的上限,d2 因为我们选择使用配对团,一个 Factor 只会有 2 个变量,所以 Factor 的尺寸为 d2

Factor Graphs

所谓的 Factor Graph 包含了 2 种节点:

  1. 表示随机变量的节点
  2. 表示 Factor 的节点,每个 Factor 由一系列变量组成

下面给出具体的示例

在这里插入图片描述
可以看到,根据团 (Clique) 选择的不同,Factor Graph 也会有多种形式。

Energy Function(能量函数)

马尔科夫网络 (Markov Networks, MN) 中的联合概率 (Joint Probability) 可以用能量函数 (Energy Function) 来进行表示。

在这里插入图片描述
我们用 E(X) 表示能量 (Energy),因此,正如我们在之前所说,最大化联合概率 P(X) 即为最小化 E(X)。 而能量函数可以进一步用局部函数 (Local Function) 𝜓 表示,𝜓 也被称为势 (Potential):

在这里插入图片描述
我们仍用之前的投票范例来具体理解:

首先再次给出网络的信息
这里是引用
现在我们根据局部函数 𝜓 来对网络进行转换。即 𝜓 = - log 𝜙(Xc)
在这里插入图片描述
此时根据能量函数,我们可以知道该网络能量最低点为:-4.61 - 1.61 - 4.61 - 4.61 = -15.44,所以 MPE 的非归一化 (Unnormalized) 结果为 P(a, ¬b, ¬c, d) = exp(-(-15.44)) = 5075826。

Pairwise Markov Networks(成对马尔科夫网络)

成对马尔科夫网络是马尔科夫网络非常常见的一个子类。这个网络中共有两种 Factors:

  • Node Factors:这类 Factor 只会包含一个变量
  • Edge Factors:这类 Factor 会包含相关的一对变量

这种网络常用于二值图像的去噪 (Noise removal from binary image)。我们用一个三维图来进行理解:

在这里插入图片描述
上图中,我们用白色的节点表示无噪声原图 (Noisy-free) 图像中的像素,表示为 Xi,j;灰色节点表示噪声图像 (Noisy) 中的像素,表示为 Yi,j。在这个马尔科夫网络中:

  • Factor 𝜙(Xi,j, Xi’,j’) 表示相邻像素之间的关联
  • Factor 𝜙(Xi,j, Yi,j) 表示噪声图和无噪声图同一位置像素之间的关联

对于这个网络,最终的目标就是找到使得能量函数最小化,即概率最大的一组赋值/实例化。这种去寻找 MAP/MPE 结果的方法就被称为 MAP-MRF 方法。但是我们需要知道,可能的赋值总数是十分庞大的,具体来说其数量与网络中变量的数量呈指数增加,比如这里我们假设该二值图有 100x100 像素,那么就有 210000 种赋值。

一般我们会使用随机搜索 (Stochastic Search) 来找到使得能量最低的一组赋值。

Stochastic Search(随机搜索)

随机搜索这个算法实际上大多数人应该都不陌生,这里我们只进行大致的介绍。所谓的随机搜索,即一开始,为网络中的每个变量随机赋值;之后,通过局部操作 (Local Operation) 来不断修正,直到收敛到(局部)最低能量点。 用伪代码表示为:

在这里插入图片描述
仍以图像去噪为例,在一开始如果对所有的变量进行完全的随机赋值,会使整体的收敛速度很慢,因此通常会选择噪声图中的像素值作为初始赋值。 随机搜索算法有以下几种主要的变式:

  • Iterative Conditional Modes, ICM:该算法总是选择使能量最小的赋值
  • Metropolis:以固定的概率 p 去选择更高能量的赋值
  • Simulated annealing (SA,模拟退火):该算法使用一个可变概率 P(T) = e-δE/T,这里的 T 就被称为温度 (Temperature),δE 为上一次迭代的图像的能量和当前计算的图像能量的能量差 (Energy Difference)。T 会随着迭代越来越小,这就意味着在一开始,有更高的概率选择高能量赋值,随着迭代次数越来越多,选择高能量赋值的概率会越来越小。

Local Independence(局部独立)

在马尔科夫网络中,边 (Edge) 的缺失即意味着独立性 (Independence)。 比如,给定一个网络 G = (V, E),如果边 𝑋 − 𝑌 ∉ 𝑬,那么 𝑋 ⊥ 𝑌|𝑽 ∖ {𝑋, 𝑌}。

在这里插入图片描述
在该网络中,边 E - F ∉ E,因此,E ⊥ F | A, B, C, D

独立性的另一个局部特性就是马尔科夫毯 (Markov Blanket)。这个概念在之前介绍贝叶斯网络时已经进行过介绍,但在马尔科夫网络中,其定义稍有不同。在马尔科夫网络中,一个变量 X 的马尔科夫毯 U 表示一系列节点,若已知这些节点,那么 X 和网络中剩下的所有其他变量相互独立。 简单的来说,在无向图 G 中,一个变量的马尔科夫毯就是其所有邻点。

在这里插入图片描述

为了进行区别,这里我们再次给出贝叶斯网络中马尔科夫毯的定义:贝叶斯网络中,一个变量的马尔科夫毯由该变量的父节点 (Parent),子节点 (Child) 以及配偶节点 (Spouse) 组成。

Global Independence(全局独立)

对于独立性的全局解释需要用到分割 (Separation) 的思想。XYZ 表示网络中不相交的 3 个节点集合。当且仅当 X 中的节点到 Y 中节点的所有通路都被 Z 分割时,我们称为 XYZ 分割,记作 sepG(X, Z, Y) 一条通路被 Z 阻断意味着该通路上至少有一个阀门 (Valve) 被 Z 关闭,但与贝叶斯网络不同的是,这里不再有收敛阀 (Convergent Valve)。

Separation: Complexity

一条一条去考虑 XY 之间每对节点的所有通路会显得不那么高效,因此我们可以选择使用切削测试 (Cut-set Test) 来代替。削切测试的思想非常简单:Z 中的所有变量都从图中移除之后,XY 中的变量之间不再有任何通路,那么就称 XY 两个集合中的变量被 Z 分割。

在这里插入图片描述

Separation: Soundness and Completeness(可靠性和完备性)

和贝叶斯网络中的 D-Separation 一样:

  • 马尔科夫网络中的分割 (Separation) 思想是可靠的 (Sound) 。 也就是说我们可以放心地使用分割 (Separation) 测试去推论马尔科夫网络中概率分布的独立性。
  • 马尔科夫网络中的分割 (Separation) 思想是不完备的 (Not Complete)。 不满足分割测试 (Separation) 并不代表就没有独立性,原因和 D-Separation 一样,因为这里的分割 (Separation) 同样只关注了图结构。

Markov VS Bayesian Networks

Markov NetworksBayesian Networks
Factor 更容易改变,因为都是未归一化的数值,因此在改变时不需要关心比如和为 1 的问题。但是不便于理解Factor 表示的含义方便用户理解
可应用于有周期性/有环 (Cycle) 或者没有自然方向性的问题网络中一定不会有环 (Cycle),同时边有方向
Z 需要进行求和计算,这是一个 NP 难题易于从中生成总和数据(Easy to generate synthetic data from it ),因为贝叶斯网络是一种生成模型 (Generative Model)

马尔科夫网络 (Markov Networks) 和贝叶斯网络 (Bayesian Networks) 实际上可以理解为表达独立性的语言,这两种语言可以表示不同的独立性,因此其中没有任何一个是多余的。 这里我们再次给出几个具体的例子

这里是引用
以上独立关系无法使用贝叶斯网络进行表示
在这里插入图片描述
上面的独立性无法使用马尔科夫网络表示

再多数情况下,马尔科夫网络是对应贝叶斯网络的 I-MAP。这可以通过道德化 (Moralisation),所谓的道德化我们在之前介绍互动图 (Interaction Graph) 时已经介绍过了,即将子结点的两个未相连的父节点相连。但需要注意的是,此时,两个父节点之间的边际独立性会被消除。

Variable Elimination(变量消除)

现在来看一看马尔科夫网络中是否能够使用变量消除 (VE)。直接来看具体的例子,比如我们想要根据下图中的网络计算 P(A, B):

在这里插入图片描述
首先我们从联合概率的吉布斯分布 (Gibbs Distribution) 入手:

在这里插入图片描述
根据上面的式子,我们先消除变量 D,具体的做法是将所有包含 D 的 Factor 相乘,组成一个新的 Factor:

在这里插入图片描述
在这个新的 Factor 中进行 Sum out,得到消除 D 之后的结果 τ1
在这里插入图片描述
因为消除后的结果 Factor 中仍有变量 C,而加下来我们就需要消除 C ,因此,我们的式子变为:

在这里插入图片描述
接下来的操作相同:

在这里插入图片描述
在这里插入图片描述
完成消除之后,我们能得到如下结果:
在这里插入图片描述

此时我们所有的 Factor 中都只剩下需要计算的 A 和 B,那么,接下来计算 P(A, B) 就很简单了,我们只需要将 Factor 对应相乘,然后进行归一化 (Normalization) 即可:

在这里插入图片描述
经过整个变量消除 (VE) 的过程梳理,我们能够很明显地看到,马尔科夫网络中的变量消除 (VE) 和贝叶斯网络完全一致,唯一的区别就在于最后需要进行归一化 (Normalization),这一原因我们已经说过多次,那就是贝叶斯网络的 Factor 中所存储的都是天然归一化的概率,而马尔科夫网络则不是。

Variable Elimination with Evidence

现在来考虑使用变量消除 (VE) 来计算一个有证据 (Evidence) 的条件查询:𝑃(𝐵|𝑐 = 𝑡𝑟𝑢𝑒)。

基本的步骤其实和之前一样,只是首先需要将所有 Factor 中与证据/条件相悖的行 (Row) 全部删除:

在这里插入图片描述
之后的计算因为和之前一样,所以就不再重复描述。

Variable Elimination with Energy Functions

之前在介绍吉布斯分布时我们说过,吉布斯分布可以用能量函数进行表示,此时的变量消除就变为:

在这里插入图片描述

对于马尔科夫网络中的变量消除 (VE),我们只需要谨记一点,那就是马尔科夫网络中的吉布斯分布 (Gibbs Distribution) 对应贝叶斯网络中的链式法则 (Chain Rule)

Conditional Random Fields (CRFs,条件随机场)

这一部分的内容我们会结合一个具体的例子来看。“手写字符识别” 是机器学习里一个非常经典的实例,加入我们想要使用机器学习分类器去识别手写字符,可以训练一个分类器 C,这个分类器以单个字符的图片 x 为输入,输出一个类别概率 P(Y|x) 或是一个得分。若给定一个字符序列 x1, …, xn。我们可以调用 n 次训练好的分类器 C,以此获取 n 个独立的预测 P(Yi|xi)

在这里插入图片描述
但是这样的方法存在一定的局限性,因为它没有考虑到字母之间的关联性,过于强调独立性。以上面这个单词为例,或许分类器会很困惑,第二个字母是 U 还是 V,但是如果我们从英语语言的角度来看,QU 的组合显然比 QV 常见得多。这样的信息显然能够有助于分类器提升准确率。

为了避免这类问题,可以使用条件随机场 (CRF),还是用手写字符识别的例子,现在我们可以直接估计 P(Y1, …, Yn|x1, …, xn):

在这里插入图片描述
条件随机场是一个辨别模型 (Discriminative Model)。如果使用多个独立的分类器,那么对于一个由 n 个字母组成的输入序列 x 的分类概率可以表示为:

在这里插入图片描述
我们可以把分类器的输出看做 Factor,记作 𝜙i(Yi, xi)。在 Factor 中,记录了输入字母可能的分类的概率:

在这里插入图片描述
我们可以为连续的字母添加一个配对 Factor (Pairwise Factor),记作 𝜙i(Yi, Yi+1),用以度量这一组连续字母同时出现,即一对连续字母之间的亲和度 (Affinity)。

最后,我们对于该问题可以得到如下所示的模型:

在这里插入图片描述
这被称为线性链 CRF (Linear Chain CRF),在上一篇笔记中学习了马尔科夫链和隐马尔可夫模型之后,我们不难看出,这个模型实际上就是一个无向图版本的隐马尔可夫模型 (HMM)。 使用如下公式计算概率:

在这里插入图片描述
这个公式其实很好理解,我们拿来和隐马尔可夫模型类比一下就能很好地理解。

CRF≈ HMM
𝜙1(Y1, x1)≈ Initial Distribution
𝜙i(Yi-1, Yi)≈ Transition Probability
𝜙i(Yi, xi)≈ Emission Probability

在实际应用中,我们往往期待求得 MPE/MAP 结果,此时的输出即为一个字母序列,该序列对应概率最高的一组赋值。在前一篇笔记中我们已经知道,使用 Viterbi 算法能够高效地计算出结果。

* Structured (output) learning

这是 CRF 的另一个应用,涉及预测结构化对象而不是标量离散或实际值。下图是一个具体的实例:

在这里插入图片描述
首先进行图像分割 (Segment),之后对分割出来的每个部分进行分类

Generative and Discriminative Models(生成模型和辨别模型)

对于生成模型和辨别模型,学习过机器学习的读者应该都不陌生,这里主要对本门课程所学的内容进行针对性的梳理。

目前,在本门课程中,我们主要接触的都是生成模型 (Generative Model),比如:马尔科夫链 (Markov Chains),隐马尔科夫模型 (HMM),贝叶斯网络 (Bayesian Networks) 和马尔科夫网络 (Markov Networks)。生成模型的最大特点在于,它不仅仅针对某一个任务,正如上述的这些模型,它们为图中所有的变量/节点 𝑿 建模 𝑃(𝑿),因此所有涉及 𝑿 中变量的查询,都可以解决。

然而我们都知道,在机器学习中,辨别模型 (Discriminative Model) 更加常见,这种模型与生成模型恰恰相反,一般来说都是针对某个特定的任务,它的任务是用以估计 𝑃(𝑌|𝑿)。

简单来说,生成模型为 𝑃(𝑿) 建模,而辨别模型为 𝑃(𝑌|𝑿) 建模。但是前者一样具备解决分类问题的能力。生成模型的另一个优点在于当数据中出现缺失值时,生成模型会格外有用,此时,会把完备的数据作为 Evidence,把有缺失值的属性 (Attributes) 作为未观测到的数据,进行推断 (Inference),进行推断的过程中会自动把未观测数据删掉来回应查询。然而大部分辨别模型通常需要完备的数据。

但是,普遍的共识是,辨别模型是分类任务的首选。这有很多原因,在下述论文: Ng, A. Y., & Jordan, M. I. (2002). On discriminative vs. generative classifiers: A comparison of logistic regression and naive bayes. In Advances in neural information processing systems (pp. 841-848) 中,作者使用同一个任务对比了辨别模型分类器和生成模型分类器。

下图是实验的统计结果,使用折线图进行了可视化,横轴为训练集的规模,纵轴为误差率
在这里插入图片描述
根据上图中的可视化结果,我们能得到以下结论:

  • 随着训练集的增长,生成模型确实具有更高的渐近误差
  • 生成模型比辨别模型更快地解决其渐近误差
  • 对于更小的训练集,生成模型已经非常接近其渐进误差,整体表现比辨别模型更好
  • 对于更大的训练集,辨别模型有着更低的渐进误差,表现更优
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值