CPD是conditional probability distribution的缩写,翻译成中文叫做 条件概率分布。在概率图中,条件概率分布是一个非常重要的概念。因为概率图研究的是随机变量之间的练习,练习就是条件,条件就要求条件概率。

  对于简单的条件概率而言,我们可以用一个条件概率表来表达。如图1所示。图1 中表达的是p(g|i,d)。幸运的是id都只有两个取值,是一个伯努利分布的函数。但是如果i d 有六个取值呢?比如骰子。那么这张表就会猛然增加到6^2那么长。这是不科学的。并且,常规情况下,仅考虑疾病诊断问题,如果有多种原因都会导致某个症状,那么我们要表达 症状|疾病 那么就会变得分成复杂,表有有2^N那么长,N是疾病的数目。

  所以,我们需要一种简单的方法,能够简化CPD的表达,除了用表之外,还应该有比较优雅的手段。

1.树状CPD

  很多随机变量依赖于多个随机变量,但这多个随机变量的优先级别都不一样。就像找对象,首先要是个学生,然后要漂亮,最后要聪明。这三个并不是同时要求的,所以树状结构的CPD就利用了这个思想,把各级“并联”变成了串联。本来job依赖于 c L ,但是L 又是依赖于c 的,所以就转成了树状的CPD.特点是该有的概率都在图里能读出来。但是却又另外指定了一些图里没有的逻辑关系。

2.片选CPD

  片选CPD(Multiplexer CPD),实际上是对应一种情况:随机变量A一旦指定后,Y的取值就仅和其中一个父节点有关。这是一个实际问题,比如天上有很多飞机,它们的速度都是随机变量(Y),塔台指定一架飞机观测之后,随机变量Y就只与指定的那架飞机有关。那么条件概率就有以下表达:

3.噪声或CPD

  噪声或CPD(Noise OR CPD)对应的情况是:咳嗽可能由很多因素引起,这些因素的或结果是咳嗽。 咳嗽<--感冒<---受凉。 但是受凉并不一定会感冒,也就是说,受凉不一定会导致咳嗽,那么相当于受凉和感冒之间存在一个噪声。这种情况下,咳嗽的概率就变成了1-不咳嗽的概率,不咳嗽的概率可以表示为乘积。

  这里的或,也可以是与,也可以是取最大等等。。。。。总之,这一类设计方法对应的CPD可以简化表示。

4.Sigmoid CPD

  Sigmoid 是机器学习中的概念,还是接着上面那个例子,如果单纯用或,有时候太绝对了。直觉上我们有可能会认为,如果多个因素都会导致某个问题,那么多个因素共同发生的时候就会让问题“雪上加霜”。 比如单纯的丑不一定找不到女朋友,丑+猥琐? 丑+坏+犯罪? 显然我们应该设计一个打分体系,女朋友这个随机变量变成多个因素的函数。简单考虑所有的条件都是二项分布的(要么帅要么丑)各个条件对女朋友的影响不同,用权重wi来表示。最终,将加权结果用 Sigmoid函数来评判。

5. 线性高斯CPD

  上述情况我们都把随机变量当成离散的来考虑。然后真实世界里,哪有那么多非黑即白的情况呢。比如一个机器人从多个传感器测量距离墙壁的距离(Xi),最终需要融合多个传感器的数据,估计距离墙壁的真实距离(Y),那么实际上就是一个 P(Y|X1,X2,X3.....)的问题。我们可以用线性高斯模型,来给出Y的概率。

  这里非常值得注意的是,所有的X,也可以是高斯的。但是Y的均值应该是X的均值之和。并且假设Y的方差不受到X方差的影响。

6.总结

  这一章节实际上是为了解决多变量条件下,条件概率表达式的复杂性问题。 单纯的基于图模型的因式分解确实可以大规模的减少概率模型中的因子 ( 链 --->  贝叶斯链)。 但是如果再给出一些其他假设,或者选择合适的建模手段,条件概率的表达式复杂程度又可以进一步降低。

概率图模型(CPD)(二)的更多相关文章

  1. 机器学习 —— 概率图模型(Homework: Factors)

    Talk is cheap, I show you the code 第一章的作业主要是关于PGM的因子操作.实际上,因子是整个概率图的核心.对于有向图而言,因子对应的是CPD(条件分布):对无向图而 ...

  2. 概率图模型(PGM):贝叶斯网(Bayesian network)初探

    1. 从贝叶斯方法(思想)说起 - 我对世界的看法随世界变化而随时变化 用一句话概括贝叶斯方法创始人Thomas Bayes的观点就是:任何时候,我对世界总有一个主观的先验判断,但是这个判断会随着世界 ...

  3. 机器学习 —— 概率图模型(Homework: CRF Learning)

    概率图模型的作业越往后变得越来越有趣了.当然,难度也是指数级别的上涨啊,以至于我用了两个周末才完成秋名山神秘车牌的寻找,啊不,CRF模型的训练. 条件随机场是一种强大的PGM,其可以对各种特征进行建模 ...

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

    在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...

  5. 机器学习 —— 概率图模型(Homework: StructuredCPD)

    Week2的作业主要是关于概率图模型的构造,主要任务可以分为两个部分:1.构造CPD;2.构造Graph.对于有向图而言,在获得单个节点的CPD之后就可依据图对Combine CPD进行构造.在获得C ...

  6. NLP —— 图模型(二)条件随机场(Conditional random field,CRF)

    本文简单整理了以下内容: (一)马尔可夫随机场(Markov random field,无向图模型)简单回顾 (二)条件随机场(Conditional random field,CRF) 这篇写的非常 ...

  7. 概率图模型学习笔记:HMM、MEMM、CRF

    作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  8. 概率图模型(PGM)综述-by MIT 林达华博士

    声明:本文转载自http://www.sigvc.org/bbs/thread-728-1-1.html,个人感觉是很好的PGM理论综述,高屋建瓴的总结了PGM的主要分支和发展趋势,特收藏于此. “概 ...

  9. ANN:ML方法与概率图模型

    一.ML方法分类:          产生式模型和判别式模型 假定输入x,类别标签y         -  产生式模型(生成模型)估计联合概率P(x,y),因可以根据联合概率来生成样本:HMMs   ...

  10. Stanford概率图模型: 第一讲 有向图-贝叶斯网络

    原文链接(系列):http://blog.csdn.net/yangliuy/article/details/8067261 概率图模型(Probabilistic Graphical Model)系 ...

随机推荐

  1. Spring Boot 在启动时进行配置文件加解密

    Spring Boot Application 事件和监听器 寻找到application.yml的读取的操作. 从spring.factories 中查看到 # Application Listen ...

  2. 【论文笔记】Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition

    地址:https://arxiv.org/pdf/2006.11538.pdf github:https://github.com/iduta/pyconv 目前的卷积神经网络普遍使用3×3的卷积神经 ...

  3. 35 _ 队列1 _ 什么是队列.swf

    队列是一种可以实现一个先进先出的存储结构 什么是队列? 队列(Queue)也是一种运算受限的线性表.它只允许在表的一端进行插入,而在另一端进行删除.允许删除的一端称为队头(front),允许插入的一端 ...

  4. layer.open弹框中的表单数据无法获取

    layer.open弹框中的表单数据无法获取 表单数据模板 layer.open() 页面效果: 当点击确定后,radio和textarea获取的值总是为空,解决办法: var setPriCustB ...

  5. 微信小程序 wx:if 多条件判断

    <view wx:if="{{a}}">单个条件</view> <view wx:if="{{a || b}}">多个或条件 ...

  6. Spring IoC 自定义标签解析

    前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 本篇文章主要介绍 Spring IoC 容 ...

  7. MongoDB快速入门教程 (4.1)

    4.Mongoose使用 4.1.nodejs操作mongodb 文档地址:http://mongodb.github.io/node-mongodb-native/3.2/tutorials/cru ...

  8. Asp.net Core AOP实现(采用Autofac)

    引用正确的库来实现AOP 新的.NET Core是基于.NET Standard的..所以我们在引用库的时候特别要注意相关的兼容问题. 在传统的ASP.NET中,使用过Autofac来进行AOP操作的 ...

  9. C# @string $string $@string

    @string  保证换行后也属于同一个字符串  (请特别注意\r\n这样也会直接输入,不在起到换行的效果) string execSql = @" SELECT T1.ProcInstID ...

  10. 超简单集成ML kit 实现听写单词播报

    背景   相信我们大家在刚开始学习一门语言的时候都有过听写,现在的小学生学语文的时候一项重要的课后作业就是听写课文中的生词,很多家长们都有这方面的经历.不过一方面这种读单词的动作相对简单,另一方面家长 ...