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: CRF Learning)

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

  2. 机器学习 —— 概率图模型(Homework: MCMC)

    除了精确推理之外,我们还有非精确推理的手段来对概率图单个变量的分布进行求解.在很多情况下,概率图无法简化成团树,或者简化成团树后单个团中随机变量数目较多,会导致团树标定的效率低下.以图像分割为例,如果 ...

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

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

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

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

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

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

  6. 机器学习 —— 概率图模型(Homework: Representation)

    前两周的作业主要是关于Factor以及有向图的构造,但是概率图模型中还有一种更强大的武器——双向图(无向图.Markov Network).与有向图不同,双向图可以描述两个var之间相互作用以及联系. ...

  7. 机器学习 —— 概率图模型(学习:CRF与MRF)

    在概率图模型中,有一类很重要的模型称为条件随机场.这种模型广泛的应用于标签—样本(特征)对应问题.与MRF不同,CRF计算的是“条件概率”.故其表达式与MRF在分母上是不一样的. 如图所示,CRF只对 ...

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

    概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大.这周的作业本质上是data mining.从数据中学习PGM的结构和参数,完全使用数据驱动 —— No structure, No par ...

  9. 机器学习 —— 概率图模型(推理:MAP)

    MAP 是最大后验概率的缩写.后验概率指的是当有一定观测结果的情况下,对其他随机变量进行推理.假设随机变量的集合为X ,观察到的变量为 e, W = X-e , AP = P(W|e). 后验概率和联 ...

随机推荐

  1. nginx搭建流媒体服务器的方法详解

      一.FLV视频发布方式简介 FLV视频有两总发布方式 1.  HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTM ...

  2. 【js】随机数

    <script>   function GetRandomNum(Min,Max){   var Range = Max - Min;   var Rand = Math.random() ...

  3. 【img】 图片是怎么存储的

    用ue 打开一张图片,动动手脚,出现卡碟的画面效果. 可不可以用C#来做一个图片编辑器? 怎么做?路线怎么走? 稍后揭晓答案 根据实际操作获取类一些基础知识: 1. 文件是二进制存储的,为了便于查看编 ...

  4. php多条件查询

    $sql)"; if(!empty($uid)) { $sql .=" and uid= ".$uid; } if(!empty($time1) && e ...

  5. AngularJs遇到的小坑与技巧

    1. templateURL和路由之类的要在web server下运行. 2. 使用模板replace设为true,模板里也要有相应的标签,否则不出现任何数据. 3. 1.2版本之后,ngRoute模 ...

  6. mysql innodb 引擎

    innodb 引擎 一.概述 InnoDB 是一个用的比较广泛的存储引擎,因为它支持事物和外键,还有不错的效率;我们先看看官方教程怎么说; 我们先读一下, 对于上面的文档, 对一个InnoDB的表首先 ...

  7. 解决Maven默认仓库没有的jar下载(二)

    前言: 在 “解决Maven不能下载“oracle.aspectjweaver.com.springsource.net.sf.cglib”jar(http://www.cnblogs.com/wql ...

  8. 用Ant实现Java项目的自动构建和部署(转)

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.            ...

  9. uva 11627

    二分 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #inc ...

  10. 对于python的内存管理的好文章

    http://www.cnblogs.com/vamei/p/3232088.html 包含了一个绘制关系图的包