概率图模型与贝叶斯网络

本文集主要是用于分享我最近正在阅读的一本书——在业界享有” AI 圣经“之称的《Pattern Recognition and Machine Learning》(《模式识别与机器学习》,简称为《PRML》),该书出版于2006年,覆盖的知识面广,语言通俗,包括概率分布、回归模型、核方法、贝叶斯统计等,是广大 AI 从业者必读的一大著作之一。与目前大行其道的深度学习不同的是,《PRML》试图从贝叶斯的角度对各种人工智能方面的工具进行解释,里里外外无不凸显一个核心信仰——“万物皆可贝叶斯”。我有幸了解到这本书,初读之后,被里面细致的分析和通俗的表述所感动,可以说阅读这本书的过程不仅是一种思想上和认知上的洗礼,更是一种汲取知识的享受。

今天要分享的主要内容是概率图模型与贝叶斯网络。

概率图模型

概率图模型介绍

在介绍贝叶斯网络之前,我先介绍一下概率图模型。

机器学习最重要的任务之一,就是根据以及观察到的变量以及数据的分布来对未知的变量进行估计和预测,而我们知道概率模型(probabilistic model)实际上为这项学习任务提供了强有力的工具。

概率模型的两个基本原则是加和规则和乘积规则:
\begin {aligned} p(X)&=\sum_Y p(X,Y)\\ p(X,Y)&=p(Y|X)p(X) \end {aligned}\tag{1}
基于这两个原则以及学习到或者假定的先验概率分布,概率模型可以由观测变量推测出未知变量的条件分布,该过程被称之为推断

无论多么复杂的操作,其过程都是不断重复加和和乘积这两个过程,但由于直接进行计算的复杂度较高,且对于存在复杂联系的系统,估计变量分布的估计较为困难。为了提高概率模型的推断和学习能力,概率图模型应运而生。

概率图模型(probabilistic graphical models)是一类用图来表达变量相关关系的概率模型,它采用图模型中的组件对概率模型中各种变量、概率等进行表示。通常情况下,概率图模型采用图的结点(nodes)来表示一个随机变量或者一组随机变量,采用链接(links)(也称为边(edge)或弧(arcs))表示这些变量之间的概率关系。这样,概率图模型描述了变量之间的概率关系,任何联合概率分布都可以基于图结构被分解为一组因子的乘积的方式,每个因子只依赖于随机变量的一个子集。

概率图模型采用图作为表示工具,为概率模型的分析提供了诸多好处:图结构为概率模型提供了一种简单直观的表示方式,便于我们更加深刻地认识到模型的性质以及进行概率模型的分析,且通过图更能精确表达高级模型在推断和学习过程中的复杂计算,便于算法效率的改进。

概率图模型的分类

根据结点间的链接是否是有向的,概率图模型大致可以被分为两大类:

  • 第一类是采用有向无环图表示变量间的依赖关系,称为贝叶斯网络(Bayesian network)或者有向图模型(directed graphical model),常用于表达变量之间的因果关系。
  • 第二类是采用无向图表示变量间的依赖关系,称为马尔科夫随机场(Markov random fields)或者无向图模型(undirected graphical model),对于表示岁间变量之间的软限制比较有用

通常,为了方便求解推断问题,会将有向图和无向图都转化为一个不同的表示形式,被称为因子图(factor graph)

在这篇博客里,我将对《PRML》关于贝叶斯网络的内容进行分享,后面的博客将陆续介绍马尔科夫随机场以及因子图的内容。

贝叶斯网络

贝叶斯网络介绍

贝叶斯网络又称为信念网络(belief network)、有向无环图模型(directed acyclic graphical model),由 Judea Pearl 提出,是一种概率图模型。一个贝叶斯网络由图结构 G 和参数 \Theta 两部分组成:

  • 有向无环图的图结构 G 用于刻画属性之间的依赖关系,在有向无环图图中,一条有向边由“原因”出发,指向“结果”,即一个结点的变量分布估计需要基于其父结点的变量分布。
  • 参数 \Theta 采用条件概率表来表示,描述了属性间的条件概率,便于采用概率公式来估计属性的联合分布。

一个简单的例子

考虑三个变量 a , b , c 上的联合分布 p(a,b,c) ,采用公式(1)中的乘积规则,我们可以将联合概率分布写成如下形式:
p(a,b,c)=p(c|a,b)p(b|a)p(a)\tag{2}
对于上述联合概率分布的右侧,我们可以采用有向无环图进行表示。对每个随机变量 a,b,c ,我们各引入一个结点进行表示;然后我们在图中添加有向边来表示每个概率分布,有向边的起点是条件概率的条件中对应的结点,终点是条件概率中的估计变量。于是,我们可以得到下面的有向图

图片.png

可以注意到,变量 a,b,c 在公式(2)的左侧是对称的,而右侧不是。事实上,不同的分解方式事实上为我们隐式地选择了一个特定的顺序(即 a,b,c ),我们将会得到不同的有向图。

全连接图与链接缺失

我们再将变量数量扩展到 K 个,然后计算其联合概率分布 p(x_1,\dots,x_K) ,假设我们采用下列的分解方式:
p(x,\cdots,x_K)=p(x_K|x_1,\cdots,x_{K-1})\cdots p(x_2|x_1)p(x_1)\tag{3}
利用上述的转换方法,我们可以注意到,转换之后的有向图有这样的特点,每个结点的输入有向边包括所有以编号低于当前结点编号的结点为起点的有向边,即每对结点之间都存在一个链接,我们认为这样的有向图是全连接的(fully connected)。

全连接图对应完全一般的联合概率分布,可以应用于概率分布的任意选择。当我们将全连接图的某些边去掉时,将导致链接的缺失(absence),这样的缺失将传递出结点间相互依赖的信息。

让我们再看一个例子,考虑下面的图

图片.png

在这个图中,一些结点之间是不存在链接的,如点 x_1x_2 之间或 x_1x_3 之间,由于有向边的两结点间是存在条件概率的,可以将联合概率分布分解如下:
p(x_1,x_2,x_3,x_4,x_5,x_6,x_7)=p(x_1)p(x_2)p(x_3)p(x_4|x_1,x_2,x_3)p(x_5|x_1,x_3)p(x_6|x_4)p(x_7|x_4,x_5)\tag{4}
于是,我们可以给定一个更加一般的公式,已知有向图的所有结点以及结点间的链接,在图上所有结点定义的联合概率分布由每个结点上的条件概率分布的乘积表示,每个条件概率分布的条件都是图中结点的父结点所对应的变量。于是我们可以得到联合概率分布
p(\boldsymbol x)=\prod^K_{k=1}p(x_k|pa_k)\tag{5}
其中,pa_k 表示 x_k 的父结点的集合

公式(5)揭示了有向图模型的联合概率分布的分解属性,为了能够利用有向图进行有效的计算,有向图模型的一个重要限制是不能存在有向环,不能存在这样的路径:从某个结点开始,沿着链接中箭头的方向运动,结束点为起点。即,一个结点不能作为自己的祖先结点,否则将无法对结点进行排序,从而无法利用公式(5)计算出联合概率。

例子:多项式回归

在《PRML》中,举了这样一个例子,尝试使用贝叶斯网络来解决多项式拟合的问题。

贝叶斯曲线拟合

这里需要先简单介绍一下贝叶斯曲线拟合。

首先,关于曲线拟合的一些概念(《PRML》1.2.5节),这里不多作介绍,只给出一些结论。

假设我们目前有一个 M 阶的曲线拟合模型以及模型的参数 \boldsymbol w ,现在给定输入值 x ,对应的 t 值服从高斯分布,分布的均值为 y(x,\boldsymbol w),因此,我们可以得到 t 的条件概率分布( \beta^{-1}=\sigma^2\beta 为高斯分布方差的导数)
p(t|x,\boldsymbol w,\beta)=\mathcal N(t|y(x,\boldsymbol w),\beta)\tag{6}
现在假定我们有数据 \{\boldsymbol x,\boldsymbol t\} ,我们可以得到似然函数
p(\boldsymbol t|\boldsymbol x,\boldsymbol w,\beta)=\prod^N_{n=1} N(t_n|y(x_n,\boldsymbol w),\beta^{-1})\tag{7}
再让我们引入多项式 \boldsymbol w 的先验分布,\alpha 是分布的精度,假设 \boldsymbol w 的先验服从一下高斯分布
p(\boldsymbol w|\alpha)=N(\boldsymbol x|\boldsymbol 0,\alpha^{-1}\boldsymbol I)\tag{8}
从而,我们可以利用贝叶斯定理,得到 \boldsymbol w 的后验概率正比于先验分布和似然函数的乘积
p(\boldsymbol w|\boldsymbol x, \boldsymbol t, \alpha, \beta)\propto p(\boldsymbol t|\boldsymbol x,\boldsymbol w,\beta)p(\boldsymbol w|\alpha)\tag{9}
在曲线拟合问题中,我们知道训练数据 \boldsymbol xt ,给定一个新的测试点 x,我们的目标是预测 t 的值,因此我们需要估计 t 的分布 p(t|x,\boldsymbol x,\boldsymbol t),这里假定参数 \alpha\beta 是固定的,利用概率的加和规则和乘积规则,我们可以得到以下形式
p(t|x,\boldsymbol x,\boldsymbol t)=\int p(t|x,\boldsymbol w)p(\boldsymbol w|\boldsymbol x,\boldsymbol t)d\boldsymbol w\tag{10}
其中, p(t|x,\boldsymbol w) 由公式(6)给出, p(\boldsymbol w|\boldsymbol x,\boldsymbol t) 是参数的后验概率,可以由公式(8)归一化得到,我们可以对公式(9)的积分进行解析的求解,预测分布可以由高斯进行表示。因为这里并未本文的重点,先不展开叙述。

基于贝叶斯网的多项式回归

考虑上述提到的回归模型,该模型中的随机变量时多项式系数向量 \boldsymbol w 和观测数据 \boldsymbol t = (t_1,\cdots,t_N)^T ,模型参数是输入数据 \boldsymbol x=(x_1,\cdots,x_N)^T 、噪声方差 \sigma^2 以及表示 \boldsymbol w 的高斯先验分布的精度的超参数 \alpha 。当我们只关注随机变量时,我们可以通过乘积原则得到其联合分布
p(\boldsymbol t,\boldsymbol w)=p(\boldsymbol w)\prod^N_{n=1}p(t_n|\boldsymbol w)\tag{11}
当我们显示地写出模型的参数时,随机变量的联合分布将被表示为
p(\boldsymbol t,\boldsymbol w|\boldsymbol x,\alpha,\sigma^2)=p(\boldsymbol w|\alpha)\prod^N_{n=1}p(t_n|\boldsymbol w,x_n,\sigma^2)\tag{12}
我们可以将有向无环图模型表示如下

图片.png

现在假设我们观测到了 \{t_n\} 的值,即 \{t_n\} 的分布被确定了,利用贝叶斯定理,我们可以由公式(11)得到以下公式
p(\boldsymbol w|\boldsymbol t)\propto p(\boldsymbol w)\prod^N_{n=1}p(t_n|\boldsymbol w)\tag{13}
我们的最终目的是对输入变量进行预测,现在给定一个输入值 \widehat x ,我们要预测对于的输出值 \widehat t 的分布。我们先计算模型所有随机变量的联合分布
p(\widehat t,\boldsymbol t,\boldsymbol w|\widehat x,\boldsymbol x,\alpha,\sigma^2)=\big[\prod^N_{n=1}p(t_n|x_n,\boldsymbol w,\sigma^2)\big]p(\boldsymbol w|\alpha)p(\widehat t|\widehat x,\boldsymbol w,\sigma^2)
然后,根据加和规则,对参数 \boldsymbol w 进行积分,可以得到 \widehat t 的预测分布
p(\widehat t|\widehat x,\boldsymbol x,\boldsymbol t,\alpha,\sigma^2)\propto\int p(\widehat t,\boldsymbol t, \boldsymbol w|\widehat x,\boldsymbol x,\alpha,\sigma^2)\,d\boldsymbol w
其中我们隐式地将 \boldsymbol t 中的随机变量设置为数据集中观测到的具体值,于是模型可以表示为如下有向图

图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容