热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

概率图模型和网络传播的关系

0引言学概论图模型的目的是为了解释某篇论文的理论依据,诚然,概论图模型的理论基础是如此简单。就是概率论中的sum规则和product规则,
0 引言

   学概论图模型的目的是为了解释某篇论文的理论依据,诚然,概论图模型的理论基础是如此简单。就是概率论中的sum规则和product规则,但是如此简单的求解过程,在高维随机变量上,计算机也就无能为力,从而为了解决该问题,研究者提出利用将高维随机变量映射到图中的节点和节点之间条件独立的假设,再使用置信传播算法,让指数级别计算减少为O(n)级别,虽然在树上,置信传播有精确解,但是概论图模型仍然有缺陷,就是其条件独立的假设,这种假设构成了图的边。但是这种假设是怎么来的呢?


 
1  概率图模型理论基础

      概率图模型理论基础,来自PRML书籍第八章。我们的问题诉求是需要求条件概率、边缘概率或者最大后验概率,而图的形式可以帮助我们描述了联合概率分布在所有随机变量 上能够分解为⼀组因⼦的乘积的⽅式,每个因⼦只依赖于随机变量的⼀个⼦集。有向图对于表达随机变量之间的因果关系很有⽤,⽽⽆向图对 于表⽰随机变量之间的软限制⽐较有⽤。所以用图来帮助高维随机变量计算。

      概率图模型理论基础就上面两个公式,一个是求和公式,也就是求随机变量的X的边缘概率。这⾥p(X, Y )是联合概率,可以表述为“XY 的概率”。类似地,p(Y | X)是条件概率,可以表 述为“给定X的条件下Y 的概率”,p(X)是边缘概率,可以简单地表述为“X的概率”。注意该公式在任何情况下都是成立的。

虽然其理论基础如此简单,但一旦随机变量过多,就会造成指数级别计算量,尤其是计算联合概率,所以引入图的概念,让其在图上完成计算。


2 贝叶斯网络

   考虑三个随机变量a,b,c。那么其联合概率分布按照product rule可以写成p(a, b, c) = p(c | a, b)p(a, b) ,再次使用product rule可以写成p(a, b, c) = p(c | a, b)p(b | a)p(a)。那么在这里我们求解联合概率的时候已经隐式的选择了一个特定的的顺序(即a,b,c),不同的选择顺序会导致求解顺序不同,从而其对应贝叶斯网络也会不同。按照我们的求解顺序,我们可以画出求解a,b,c联合概率的贝叶斯网络。

 

将其扩展到k个随机变量,我们有

注意这个公式是任何情况下是成立的,不依赖贝叶斯网络求解顺序。那么现在假如给定一个7个节点的贝叶斯网络,如何求其联合概率呢?如下图

这种按照贝叶斯网络求解联合概率的跟前面求解顺序相反,我们可以依据贝叶斯网络写出联合概率求解公式

我们发现任何情况下成立的公式P(x1,x2,、、、xk),如果选择一定的求解顺序,也就是画出一个贝叶斯网络,即在一个给定k个节点贝叶斯网络中求解其联合概率公式就变为

      注意x表示所有随机变量,pak表示k的父亲节点。(那么一个任何情况成立的公式P(x1,x2,、、、xk),选择一个求解顺序后,其形式简单化了,也就是贝叶斯网络帮助我们求解联合概率更简单了。)联合概率表达式由⼀系列条件概率 的乘积组成,每⼀项对应于图中的⼀个结点。每个这样的条件概率分布只以图中对应结点的⽗结点为条件。但是这里还没有因子的概念。

 


3 条件独立

这部分有关于有向图的三种局部条件独立结构以及D-划分规则,注意这里的条件独立性和D-划分其实是在图给定的情况下(我们隐式选择某种求解顺序)就已经有的,不是需要加条件推导出来的。

这个条件独立性有什么用呢? 它可以帮助我们求解联合概率,因为条件独立性所以可以使用因子分解这一步骤,将求联合概率的式子,按照乘法分配率,将先积再和替换成先和再积的方式,直接在图上进行计算。


4  马尔科夫随机场

    ⽆向图的马尔科夫毯的形式相当简单,因为结点只条件依赖于相邻结点,⽽条件独⽴于任何 其他的结点。它表⽰⼀个分解⽅式,也表⽰⼀组条件独⽴关系。

       在马尔可夫随机场中结合网络传播是天然的,给定任意情况下的联合概率公式,比如前面的P(x1,x2,x3、、、xk),那么一个正在传播的无向图就表示某种分解方式。该无向图可以帮助我们使用BP算法去计算高维的联合概率。


4.1 马尔科夫随机场的分解性质


   
      我们现在寻找⽆向图的⼀个分解规则,对应于上述条件独⽴性检测。与之前⼀样,这涉及到 将联合概率分布p(x)表⽰为在图的局部范围内的变量集合上定义的函数的乘积。这将我们引向了⼀个图形的概念,团块(clique)。它被定义为无向图图中结点的⼀个⼦集,使得在这个⼦集中的每对结点之间都存在链接。换句话说,团块中的结点集合是全连接的。此外, ⼀个最⼤团块(maximal clique)是具有下⾯性质的团块:不可能将图中的任何⼀个其他的结点包含到这个团块中⽽不破坏团块的性质让我们将团块记作C,将团块中的变量的集合记作xC。这样,联合概率分布可以写成图的 最⼤团块的势函数(potential function)ψC(xC)的乘积的形式

     xC表示团中变量集合,p(x)表示联合概率。ψC(xC)称为势函数也就是某个因子的值。由于我们的势函数被限制为严格⼤于零,因此将势函数表⽰为指数的形式更⽅便,即与有向图的联合分布的因⼦不同,⽆向图中的势函数没有⼀个具体的概率意义。



如何选择势函数。可以这样做:将势函数看成⼀种度量,它表⽰了局部变量的哪种配置优于其他的配置。
引入最大团的目的是为了什么?是为了给出局部性的⼀个合适定义。这样计算联合概率的时候,最大团本身就是一个因子,其中节点与外部是条件独立的。注意不同最大团之间随机变量可能有交集,所以需要用Z来归一化。
5 有向图和无向图的关系

包括如何有向图转无向图

6  推断

       一个简单的例子,我们的⽬标是给定y的值,推断x上对应的后验概率分布。

     考虑如图(a)所示的贝叶斯网络,对于它联合概率为p(x, y) = p(x)p(y | x),那么如果我们观察到了y的值,如图b所示,那么我们可以将边缘概率分布p(x)看成潜在变量x上的先验概率分布,我们的⽬标是推断x上对应的后验概率分布。

从图的⾓度看,联合概率分布p(x, y)现在可以 表⽰为图(c)所⽰的图,其中箭头的⽅向翻转了。

6.1 链推断

       这里谈到了利用乘法分配率进行联合概率计算的方法。我们会考虑⼀个具体的情形,即N个结点表⽰N个离散变量,每个变量都有K个状态。这种情 况下的势函数ψn\1,n(xn\1, xn)由⼀个K × K的表组成,因此联合概率分布有(N-1)*k的平方个参 数。




现在我们考虑无向图的链推断问题,这个无向图的联合概率分布可以写成(没有任何观测变量)



    注意这里的p(x)不是一个值,而是一个有着(N-1)*k的平方的参数的表。让我们考虑边缘概率分布p(xn)这⼀推断问题,其中xn是链上的⼀个具体的结点。注 意,现阶段,没有观测结点。根据定义,这个边缘概率分布可以通过对联合概率分布在除xn以外的所有变量上进⾏求和的⽅式得到,即

    那么通过无向图的条件独立性,我们可以重新整理加和与乘积的 顺序(乘法分配率),使得需要求解的边缘概率分布可以更加⾼效地计算。例如ψNN -1,N (xN-1, xN )是唯⼀与xN有关系的势函数,ψ1,2(x1,x2)是唯一和x1有关系的函数。因此我们可以进⾏下⾯的求和

依次类推,我们可以得到

 

也就是如下图所示的含义

我们发现计算p(xn)需要两个信息相乘得到。

      我们把µα(xn)看成从结点xn 1到结点xn的沿着链向前传递的信息。类似地,µβ(xn)可以看成从 结点xn+1到结点xn的沿着链向后传递的信息。注意,每条信息由K个值的集合构成,每个值对应于xn的⼀种选择,因此两条信息的乘积可以被看做两条信息的元素之间的点积,得到另 外K个值的集合。那么这两条信息k个值得点积所得k个值就是xn的边缘概率。

µα(xn)可以递归的计算




     假设我们⾸先计算出结点xN开始的信息µβ(xN 1),然后将信息⼀路传递回结点x1,同时假 设我们类似地计算出了从结点x1开始的信息µα(x2),然后将信息⼀路向前传递到结点xN。只要 我们存储了所有的中间信息,那么任何结点的边缘概率分布都可以通过使⽤上图公式简单地 计算出来。计算代价仅仅是找到⼀个结点的边缘概率分布的⼆倍,⽽不是N倍。



   如果图中的某些结点被观测到,那么对应的变量简单地被限制为观测值即可,不需要求和。这样同样使用这种消息传递的方法可以计算给定观测节点情况下,某某节点的边缘概率。只需要定义好递推式,该递推式包括消息的计算定义和每个节点边缘概率分布的计算定义。然后使用BP算法进行计算即可。



 

      那么在无向图上传播进行这种推断也是很正常的事情,假如我们没有任何观测节点,那么每个节点处于某种感染状态的边缘概率分布可以通过联合概率分布计算得到。但是我们需要知道的是,我们好像并没有相连节点的之间k*k的表,比如两个节点都有k个状态。怎么办?虽然图能够方便的帮我们计算联合概率,但是如何定义势函数是个问题啊?没有势函数,联合概率就没有办法求解,

 

 


6.2 树


6.3 因子图

因子图帮助了解有向,无向图上因子分解更直观。一个有向图或者无向图可能有好几种因子图对应形式,下面给两个例子

 

 

 

 

 

 

6.4  BP算法

   在树形因子图上推导BP算法会格外的简单,例如下图

        我们假设原始的图是⼀个⽆向树或者有向树或者多树,从⽽对应的因⼦图有⼀个树结构。⾸ 先,我们将原始的图转化为因⼦图,使得我们可以使⽤同样的框架处理有向模型和⽆向模型。 我们的⽬标是利⽤图的结构完成两件事:(1)得到⼀个⾼效的精确推断算法来寻找边缘概率, (2)在需要求解多个边缘概率的情形,计算可以⾼效地共享。考虑下图

    对于这一部分BP算法,有个套路就是定义消息的格式后,再定义好每个节点对消息的处理方式后,经过从根节点收集所有消息,然后再从根节点发送到所有节点消息。自然就可以得到每个节点的边缘概率了。



 

 

 

 

 


推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了优化算法改进的侏儒猫鼬优化算法(IDMO)及其Matlab源码分享。文章首先介绍了获取代码的两种方式,包括付费下载和付费订阅付费专栏。然后详细解释了侏儒猫鼬优化算法的原理和特点,以及其在集体觅食、侦察和保姆交换等方面的应用。最后提供了CSDN资源下载链接,供读者下载相关代码。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
author-avatar
神秘布拉阁俱乐部
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有