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. ThreadLocal的使用场景分析

    目录 一.ThreadLocal介绍 二.使用场景1——数据库事务问题 2.1 问题背景 2.2 方案1-修改接口传参 2.3 方案2-使用ThreadLocal 三.使用场景2——日志追踪问题 四. ...

  2. python模拟网站登陆-滑动验证码

    普通滑动验证 以http://admin.emaotai.cn/login.aspx为例这类验证码只需要我们将滑块拖动指定位置,处理起来比较简单.拖动之前需要先将滚动条滚动到指定元素位置. impor ...

  3. tomcat的安装部署(windows10)

    一.Tomact下载 地址:https://tomcat.apache.org/

  4. 0.1---selenium+java自动化测试进阶02----项目实战之登录代码重构

    一.测试登录功能实现 以慕课网的登录为例,分析登录的功能需求,编写测试用例,找到要定位的元素以及需要的操作,编写登录功能的测试代码.代码实现如下: public static void main(St ...

  5. startActivityForResult调用另外一个Activity获取返回结果

    startActivityForResult(intent,requestCode)可以调用另外一个Activity,并返回结果. 换头像案例 activity_main.xml <?xml v ...

  6. vc++如何知道cppdlg所关联的对话框?

    vc++ 6.0如何知道cppdlg所关联的对话框? 找a.cpp对应的a.h头文件里面找. https://blog.csdn.net/txwtech/article/details/1020824 ...

  7. npm 更换镜像,解决cnpm仍然太慢的问题

    众所周知,npm官方镜像 https://registry.npmjs.org 极为卡顿,所以考虑换国内镜像. 网上很多人都说用淘宝镜像,但是淘宝镜像由于同步过于频繁导致卡顿. 可以使用华为镜像: n ...

  8. python 获取两位的月份(09)和天数(09)

  9. 1、struct2第一个项目登陆流程

    这些jar包的作用:第一个日志记录 第二个 使用freemarker制作页面,freemarker和jsp一样都是页面操作的 ognl是struct2提供的向el标签设置的包 struct2-core ...

  10. 梳理搭建SSM步骤

    以上全程手撕,如有不足或错误的,请指正!