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. 在c++MFC下用PCL显示操作点云文件 MFC对话框显示操作PCL点云

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/13115873.html 第一步 下载PCL库  我的版本是1.8.1的 你都要MFC下跑PCL ...

  2. Fibonacci(模板)【矩阵快速幂】

    Fibonacci 题目链接(点击) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20989   Accepted: 14 ...

  3. python反向遍历一个可迭代对象

    我们通常情况下都是正向遍历一个列表,下面是一种简单的反向遍历一个列表的方式. ## 正向遍历 >>>A = [9, 8, 7] >>>for index, a in ...

  4. 使用addEventListener绑定事件是关于this和event记录

    DOM元素使用addEventListener绑定事件的时候经常会碰到想把当前作用域传到函数内部,可以使用以下两种放下: var bindAsEventListener=function (objec ...

  5. 【Spring注解驱动开发】使用InitializingBean和DisposableBean来管理bean的生命周期,你真的了解吗?

    写在前面 在<[Spring注解驱动开发]如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!>一文中,我们讲述了如何使用@Bean注解来指定bean初始化和销毁的方法.具体的 ...

  6. Spring 面试详解

    SpringSpring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象.Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地 ...

  7. php计算两个时间段内的 工作日 工作小时

    <?php class WorkTime { // 定义工作日 [1, 2, 3, 4, 5, 6, 0] public $week_workingday = [1, 2, 3, 4, 5]; ...

  8. electron打造桌面应用

    Electron 将网页打包成桌面应用(web页面生成exe) http://m.blog.csdn.net/u014563989/article/details/75045052 Electron学 ...

  9. Centos7上设置zookeeper自启动

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/zhouzhiwengang/artic ...

  10. 【Xamarin.Forms 2】App基础知识与App启动

    系列目录 1.[Xamarin.Forms 1]App的创建与运行 引言 本篇文章将介绍Xamarin.Forms中 App 基础知识和 App的启动. 开发环境 Visual Studio 2019 ...