想了解概率图模型?你要先理解图论的基本定义与形式

图论一直是数学里十分重要的学科,其以图为研究对象,通常用来描述某些事物之间的某种特定关系。而在机器学习的世界里,我们希望从数据中挖掘出隐含信息或模型。因此,如果我们将图中的结点作为随机变量,连接作为相关性关系,那么我们就能构造出图模型,并期望解决这一问题。本文将为构造该模型提供最基础的概念。

我们都知道机器学习里的决策树,其可以表示为给定特征条件下类的条件概率分布。并且我们知道决策树由结点和有向边组成,结点又由表示特征的内部结点和表示类的叶结点构成。而通常决策树的学习又包括了特征的选择、决策树的生成和决策树的剪枝。那么这种树型算法又是来自哪呢?其实树型只是图的一个小分支,而接下来我们将进一步了解源于离散数学并十分重要的分支:图论(graph theory)。

如果这是你第一次涉足关于图论的内容,那么本篇文章将会给你一个清晰的概念。同时也希望本文能将图论的思想、基本模型阐述清楚,因此不论是对以后的机器学习模型构建还是概率图模型的理解都能提供一定的助力。

Loosey–goosey图

当第一次开始研究非线性结构时,我们需要学习它们最基础的特征:即数据并不遵循特有的顺序,至少是没有明显的数值关系,这一点就和我们看到的数组与链表一样。正如我们所了解的,树型结构从根结点开始,并能和其他结点相连接,也就是说一棵完整的树可以由其子树构成。树由一组规则定义而成:即一个根结点可能连接或不连接到其他结点,但最终所有叶结点或内部结点都能追溯到这个特定的位置。一些树有更多的特定规则,如二叉搜索树,该树在任意时间内每个结点都只和两个子结点相连。而机器学习常用的决策树就可以看成是 IF-THEN 规则的集合。即由决策树的根结点到叶结点的每一条路径构建一条规则,路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。

那我们是否能将构成树状的这些规则抛弃掉,不用再严格地遵守这些规则而生成图(graph)。当然这样做是不会出错的,只是生成不了树,也不能以树状的结构进行计算了。但是我们进一步能用图进行计算或处理任务。

树型只不过是一种受限图,只不过是遵循众多规则的图。树型永远是图中的一种,但图远远不止是树。

那么到底是什么让树型有别于伞状图呢?

首先,一棵树只能朝一个方向传播,即树型是由有向边(directed edge)构成的。每一颗树都是由根节点开始,向下往子节点或叶节点传播。同样树型的每一条路径都是唯一的,并且路径上的所有子结点有且仅有一个父节点。所以这种树型结构一定不会存在循环结构或链路。

而通过图,所有的这些限制好像都突然消失了。因为图是没有任何「根结点」、「叶节点」和「单向边」等这些概念的,所以图中的结点可以连接多个子结点也可以有多个父结点,路径也可以是有向流或者无向边。或者如果想要图更加复杂一点,也可以采用有向流和无向边的组合,但是本文暂时并不会关注这些复杂系统。

有向图和无向图

现在我们已经知道图确实打破了构造树型的所有规则。但每一个图都必须遵守一个基本原则:即图有且至少有一个单结点。就像树型至少需要一个根结点才可以看作是「树」,图也至少需要一个单结点以便可以看作是「图」。只有一个结点的图通常称为「单例图」,基本上我们不会使用这种单例图处理任务。

通常能进行运算处理的图都是更复杂一些的图,但是不要太担心,本文所描述的图都不会太复杂,不过有些图真的是超级复杂的。

首先我们会探讨一下很容易辨认和理解的两种图:有向图(directed graphs)和无向图(undirected graphs)。这两种图在图论(graph theory)探讨的问题中十分常见。

在图中,结点和结点之间的连接并没有确切的规则,边(有时候也称为链接)能以任何方式连接结点。

不同类型的边或路径对定义和识别图时非常重要。边的类型实际上是图之间最大、最明显的区别之一。大多数情况下(只有一种例外),图会有两种类型的边:即具有方向或流向的边和不具有方向或流动的边。我们将其称为有向边(directed edges)和无向边(undirected edges)。

在有向边中,两个结点以特定的方式连接。如下图结点 A 连接结点 B 的方式所示,有向边规定了两个结点之间只有单一的方向,即只能从起始结点(origin)沿特定方向到目标结点(destination),永远不能反过来从目标结点到起始结点。这种类型的有向边在图论问题中十分常见。

现在,我们再介绍一下与有向边完全不同的无向边。在无向边(undirected edge)里,可通过的路径是双向的。也即两个结点之间的路径是双向互通的,起始结点和目标结点并没有固定。

这种差异是十分重要的,因为图中的边确定了图的类型。如果图中所有的边都是有向边,那么该图就是有向图(directed graph)。如果图所有的边都是无向边,那么该图就是无向图(undirected graph)。

以上所描述的图看起来很有结构性,但也许我们更应该关心两件事情:首先具体是什么条件或事件填充了图,其次我们具体要关注图的什么信息?

轻轻地:我们来到了图的王国

计算机科学喜欢借鉴其他学科。具体来说是喜欢借鉴逻辑学和数学的许多概念。而图论也是一样,其最开始就是数学的一个分支,且以图为研究对象,图论经常是研究顶点和边组成图的数学理论和方法。而我们所熟悉的图数据结构或树型算法等计算机概念实际上都来自于数学,而对图的研究就是图论(graph theory)。

在数学中,图是一种正式表征网络的结构,其基本上是所有互连对象的集合。

事实证明,当计算机科学家将图论应用于代码(创造出图数据结构或树型算法等)时,那些理论并没有改变多少。所以本文描述和实现图的术语就是在数学图论中的确切术语。

在数学术语中,我们将图描述为有序对(ordered pairs)。还记得以前学过的函数,它的定义就是在二维坐标轴上分布的有序对(x,y)集合。图也是使用类似的定义,只不过使用图的结点(vertices)v 和边(edges)e 代替 x 和 y。

因此,图的正式数学定义即为:G=(V,E)

但是问题来了,如果我们的图有多个结点和多条边怎么办,实际上有多个结点通常就会有多条边,那么这种情况又该怎么定义图呢。

实际上上述定义式并不会失效,因为有序对(V,E)实际上是由两组对象组成:一组结点,一组边。

现在广义的图定义变得更加有意义,但如果能有一个实例来说明的话,这个概念就会比较好理解,所以下图是我们使用 8 个结点,12 条边组成的一个无向图,我们会详细解释该图是如何用数学正式定义。

那么上图那个例子到底说了些什么。

我们将有序对记为(V,E),但因为每一项都是一个对象,所以我们必须把这些项写出来。V 已经定义为八个结点的无序集,而「无序」这一概念在这里非常重要。因为图与树型不同,其结点没有层次结构。因此排序并不重要,我们也不需要对它们进行排序。

我们还须将 E 定义为包含所有边的项。同样,边这一对象也是无序的。原因就在于图的边是无向边,它没有固定的流向或方向,也就是没有固定的起始节点和目标节点,所以每条边都是无序地。

当然,无向图的「无序」这一特性可能会引起一些疑惑,但有向图又有什么性质呢?下面是另一个案例,该图是由三个结点和三条有向边组成的有向图。

在有向图中,定义结点的方式和无向图中是一样的,但有向边和无向边的定义是不一样的。在有向图中,边的对象定义为有序对(使用圆括弧表示),因为这种情况下,边的方向十分重要。因为在有向图中,边只能是从起始结点到目标结点,所以边必须进行排序,从而定义 E 中有序对前一个元素为起始结点,后一个元素为目标结点。

所以以上就是我们如何定义一个图,但是在定义图之后,我们什么时候才能实际应用图呢。下面我们将一起来了解一下图的应用和计算。

超级社交图

图其实就在我们身边,只是我们不了解而已。

事实上,你在阅读这篇文章的时候,你就是处于一张图中。网络就是巨大的图结构,每个终端是一个结点,而互联网就是网络的边。网页也是,当我们点击网站并在 URL 之间来回浏览时,我们就是在图中浏览。有的网页之间是无向边,可以在两个网页之间来回切换,而有的是有向边,只能从一个网页转到另一个。

现在,我们使用一个更加生动的案例,以说明图与日常的交互:社交网络。

微信是一个庞大的社交网络,它也是一种图。如果我们能更多地去思考它实际的功能,那么我们可以更好地理解怎样定义和确定图的类型是什么。在微信上,如果我希望成为你的朋友,那么我需要添加你为好友,且你必须接受我的请求。在你不是我的微信好友情况下,我也会不是你的微信好友。两个用户之间的关系(图中的结点和边)是双向的。其没有起始节点和目标节点这一概念。

那你现在能判断微信的图是什么类型了么。

因此微信就是一种大型无向图,用户之间可以同时相互传递信息。

但另外一种社交网络微博却是有向图,因为在用户发布微博时,博文这一信息会在同时间点由用户向粉丝发送,这一过程是有方向不可逆的。

在了解了图论的基础概念和定义表达式后,或许我们可以进一步窥探一些概率图模型的重要思想。

机器学习的一个核心任务是从观测到的数据中挖掘隐含的知识,而概率图模型是实现这一任务的重要手段。概率图模型巧妙地结合了图论和概率论。从图论的角度来说,概率图模型就是一个包含结点与边的图。结点可以分为两类:隐含结点和观测结点。边可以分为有向边或无向边。从概率论的角度来看,概率图模型是一个概率分布,图中的结点对应于随机变量,边对应于随机变量的相关性关系。给定一个实际问题,我们通常会观测到一些数据,并且希望能够挖掘出隐含在数据中的知识。那么怎样才能使用概率图模型挖掘这些隐藏知识呢?通常情况下我们会构建一个图:用观测结点表示观测到的数据,用隐含结点表示潜在的知识,用边来描述知识与数据的相互关系,最后获得一个概率分布。给定概率分布之后,通过进行两个任务获取知识:即推断 (给定观测结点,推断隐含结点的后验分布)和学习 (学习概率分布的参数)。

基本的图模型可以大致分为两个类别:贝叶斯网络 (Bayesian Network) 和马尔可夫随机场 (Markov Random Field)。它们的主要区别在于采用不同类型的图来表达变量之间的关系:贝叶斯网络采用有向无环图 (Directed Acyclic Graph) 来表达因果关系,马尔可夫随机场则采用无向图 (Undirected Graph) 来表达变量间的相互作用。这种结构上的区别导致了它们在建模和推断方面的一系列微妙的差异。

至此,我们已经知道了图论到底是什么,也知道基本有向图和无向图的标准定义。在文章的最后,我们更是将图论的基本概念和概率论的基本思想相结合来理解概率图模型。但我们都知道概率图模型十分强大与重要,所以我们也许需要进一步专门地学习这一机器学习方法。

这里有一些图论相关资源:

Difference between Trees and Graphs:http://suo.im/2qN4yS

What‘s the difference between the data structure Tree and Graph?:What‘s the difference between the data structure Tree and Graph?

Applications of Graph Theory In Computer Science: An Overview:http://suo.im/4twRke

Graph Traversal:http://suo.im/2cu4oH

Data structures: Introduction to graphs(视频):http://suo.im/4z1QbH

选自Dev To

时间: 2024-10-06 08:14:16

想了解概率图模型?你要先理解图论的基本定义与形式的相关文章

概率图模型基础

一.概念引入 很多事情是具有不确定性的.人们往往希望从不确定的东西里尽可能多的得到确定的知识.信息.为了达到这一目的,人们创建了概率理论来描述事物的不确定性.在这一基础上,人们希望能够通过已经知道的知识来推测出未知的事情,无论是现在.过去.还是将来.在这一过程中,模型往往是必须的,什么样的模型才是相对正确的?这又是我们需要解决的问题.这些问题出现在很多领域,包括模式识别.差错控制编码等. 概率图模型是解决这些问题的工具之一.从名字上可以看出,这是一种或是一类模型,同时运用了概率和图这两种数学工具

机器学习 —— 概率图模型(Homework: Exact Inference)

在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本上来说求解器并不是必要的.其作用只是求取边缘分布或者MAP,在得到联合CPD后,寻找联合CPD的最大值即可获得MAP,对每个变量进行边缘分布求取即可获得边缘分布.但是,这种简单粗暴的方法效率极其低下,对于MAP求取而言,每次得到新的evidance时都要重新搜索CPD,对于单个变量分布而言,更是对每

深度学习 vs. 概率图模型 vs. 逻辑学

深度学习 vs. 概率图模型 vs. 逻辑学 摘要:本文回顾过去50年人工智能(AI)领域形成的三大范式:逻辑学.概率方法和深度学习.文章按时间顺序展开,先回顾逻辑学和概率图方法,然后就人工智能和机器学习的未来走向做些预测. [编者按]在上个月发表博客文章<深度学习 vs. 机器学习 vs. 模式识别>之后,CMU博士.MIT博士后及vision.ai联合创始人Tomasz Malisiewicz这一次带领我们回顾50年来人工智能领域三大范式(逻辑学.概率方法和深度学习)的演变历程.通过本文我

机器学习 —— 概率图模型

概率图模型(PGM)是一种对现实情况进行描述的模型.其核心是条件概率,本质上是利用先验知识,确立一个随机变量之间的关联约束关系,最终达成方便求取条件概率的目的. 1.从现象出发---这个世界都是随机变量 这个世界都是随机变量. 第一,世界是未知的,是有多种可能性的. 第二,世界上一切都是相互联系的. 第三,随机变量是一种映射,把观测到的样本映射成数值的过程叫做随机变量. 上述三条原则给了我们以量化描述世界的手段,我们可以借此把一个抽象的问题变成一个数学问题.并且借助数学手段,发现问题,解决问题.

概率图模型

概率图模型 一.马尔科夫链特性 在已知系统当前状态的条件下,他未来的演变不依赖于过去的演变.第T+1次的结果只受第T次结果的影响,即只与当前状态有关,而与系统的初始状态和此次转移前的所有状态无关.(无后效性) 马尔科夫的一步转移概率可以定义为: Pij(n) = P{Xn+1=j|Xn=i} 一步转移矩阵定义:转移概率Pij所组成的矩阵. 马尔科夫链的发现反映了诸多系统的普遍规律,例如在编码领域,我们熟悉的LZMA(文件名为.7z)数据压缩算法就使用了马尔科夫链:在生物世界中,生物种群的数量变化

概率图模型:贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51461997 贝叶斯网络图模型的表示 为了理解有向图对于描述概率分布的作用,首先考虑三个变量 a, b, c 上的一个任意的联合分布 p(a, b, c) .注意,现阶段我们不需要对这些变量做出任何更多的假设,例如它们是离散的还是连续的.实际上,图模型的一个强大的方面是,一个具体的图可以描述一大类概率分布.通过使用概率的乘积规则(1.11),我们可以将联合概率分布写成下面的形式. p(a, b, c

概率图模型:贝叶斯网络与朴素贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51471222 贝叶斯与频率派思想 频率派思想 长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且事情发生或不发生的概率虽然未知,但最起码是一个确定的值. 比如如果问那时的人们一个问题:"有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?"他们会立马告诉你,取出白球的概率就是

5、概率图模型 Inference-Variable_Elimination

对于概率图模型,整个过程分为三个步骤: Reprentation:如何建模以表示现实世界中的不确定性和各个量之间的关系. Inference:如何从我们建立的模型中去推知我们要求的问题(概率).        Learnig:对于我的数据来说,什么模型是相对正确的? 之前都是对Repretation的学习,从本篇开始进行Inference的学习和总结.

概率图模型学习笔记(二)贝叶斯网络-语义学与因子分解

概率分布(Distributions) 如图1所示,这是最简单的联合分布案例,姑且称之为学生模型. 图1 其中包含3个变量,分别是:I(学生智力,有0和1两个状态).D(试卷难度,有0和1两个状态).G(成绩等级,有1.2.3三个状态). 表中就是概率的联合分布了,表中随便去掉所有包含某个值的行,就能对分布表进行缩减. 例如可以去掉所有G不为1的行,这样就只剩下了1.4.7.10行,这样他们的概率之和就不为1了,所以可以重新标准化(Renormalization).如图2所示. 图2 反之也可以