最早在Hinton老爷子的文章里看到了explaining away这个概念,困惑了很长时间。最近在看Stanford大神Daphne Koller的概率图模型,里面贝叶斯网络一节讲到了explaining away。我看过之后试着谈谈自己的理解。

explaining away指的是这样一种情况:对于一个多因一果的问题,假设各种“因”之间都是相互独立的,如果已经确定了是因为其中一种原因导致了结果,那么因为其他原因导致了该结果的概率就会下降。

单纯看定义似乎很令人费解,因为原因之间应该是相互独立的,怎么会相互影响呢?举个最简单的例子就可以回答这个问题。

考虑三个随机变量ABC,其中C=A | B,AB相互独立。如果写出它们的概率分布就是这样的:

A B C P
0 0 0 0.25
0 1 1 0.25
1 0 1 0.25
1 1 1 0.25

可以看出,只要A与B中的任意一个为1就会导致C为1,这正是一个最简单的多因一果问题。

假设我们观察到C = 1,但不知道是哪种原因导致的,那么根据上面的联合概率分布可以推断,P( A = 1 | C = 1 ) = P( B = 1 | C = 1 ) = 2/3。而且P( B = 1 | C = 1 )  > P( B = 1 ),即因为观察到了“果”,出现“因”的概率比平常更大,这是符合我们经验的。

但是,如果我们已经确认了A = 1,那么此时不论B取值为多少都会有C=1,即P( B = 1 | C = 1, A = 1 ) = 1/2 = P( B = 1 ) < P( B = 1 | C = 1 ) 。B的取值再一次变得完全无法判断(对比上面,B取值为1的概率减小了),这就是explaining away。

在现实生活中也可以找到这样的例子:假设房子倒塌的可能性包括地震和恐怖袭击,如果我们发现房子倒了,那么很有可能发生了两者中的一个,但如果我们知道是恐怖分子用飞机撞倒的,那么我们就无法判断是不是发生了地震。这时地震的概率就从“很可能”变回了“有可能”,概率降低了,这就是explaining away。

Explaining Away的简单理解相关推荐

  1. android 点击事件消费,Android View事件分发和消费源码简单理解

    Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...

  2. 【转载】Deep learning:十九(RBM简单理解)

    Deep learning:十九(RBM简单理解) 这篇博客主要用来简单介绍下RBM网络,因为deep learning中的一个重要网络结构DBN就可以由RBM网络叠加而成,所以对RBM的理解有利于我 ...

  3. 学习:双机热备、集群、负载均衡、SQL故障转移群集简单理解(转)

    双机热备.集群.负载均衡.SQL故障转移群集简单理解平常,大家常提到几个技术名词:双机热备.集群.负载均衡.SQL故障转移群集.这里,就我的理解,和大家简单探讨下,有不足或错误之处还请各位指出! 这些 ...

  4. 字符串匹配算法Java_如何简单理解字符串匹配算法?

    这篇文章来说说如何简单理解KMP,BM算法.之前看过一些文章说,KMP算法很难理解. 可我并不觉得. 我反而觉得它容易理解.平时我们写java代码的时候, 判断一个字符串是否存在包含另一个字符串都是直 ...

  5. python yield的简单理解

    2019独角兽企业重金招聘Python工程师标准>>> yield是个生成器,它可以使一个方法变成可迭代的方法,每次迭代返回yield后面的值 简单理解: >>>d ...

  6. linun——SElinux的简单理解

    SElinux简单理解 一.什么是SElinux? SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Co ...

  7. git pull 是到工作区还是暂存区_每天一Git之简单理解工作区和暂存区

    每天一Git之简单理解工作区和暂存区 1. 工作区与暂存区命令初体验 1.1. 暂存区文件与文件夹管理 [root@number ~]# cd GitDir/git_learning/ [root@n ...

  8. c语言理解参数,c语言中对可变参数列表的简单理解

    函数原型中一般情况下参数的数目是固定的,但是如果想在不同的时候接收不定数目的参数时该怎么办呢?c语言提供了可变参数列表来实现. 可变参数列表是通过宏来实现的,这些宏定义在stdarg.h的头文件中.头 ...

  9. QGraphicsScene 的简单理解--关于手册的简要翻译

    文章目录 QGraphicsScene 的简单理解--关于手册的简要翻译 简介: 一般操作: 关于scene's bounding rect: the location of items. scene ...

最新文章

  1. 号称下一代监控系统?
  2. JAVA二分查找-探讨思维与代码的一致性
  3. 通过Nginx简单安装
  4. 百度前端学院参考答案:第二十五天到第二十七天 倒数开始 滴答滴 滴答滴(2)...
  5. Python基础-字典(字典常用函数/操作/字典遍历)
  6. Java设计模式------工厂模式-------工厂方法模式
  7. 电报telegramPC电脑端调为中文
  8. 有没有五金产品展开计算机软件,拆单软件功能介绍
  9. TokenInsight对话首席——暗流涌动,钱包如何引领数字资产新生态
  10. FPGA LVDS液晶屏
  11. lemon/cena C++ SPJ姿势
  12. 声纹识别demo_语音识别、声纹识别的区别及测试
  13. JAVA 计算宝箱概率问题
  14. C# 关于dgv中DataGridViewComboBoxCell触发事件
  15. linux系统下解压缩
  16. 如何提升数据思维能力?
  17. 还原一个真实的银行待遇
  18. Linux 单独编译驱动模块(ko文件)
  19. 转:devel包 和 非devel包的区别
  20. jQurey实现电梯效果

热门文章

  1. RK61键盘在ubuntu下的映射
  2. 【转】吴晓波:马化腾的“邮件癖”
  3. Model 处理模型数据
  4. 第15章-Spring AOP切点表达式(Pointcut)详解
  5. 蜜蜂剪辑会员特权_会员有其特权
  6. 以吃货联盟初级改版为例,(面向对象初级程序设计模拟网上点餐控制台程序(第一版未使用工具辅助类)。
  7. 拆解问题的技术-摘录
  8. HTML基础之常用标签第一篇:基础标签
  9. 使用cesiumJS追踪卫星轨道
  10. 狂潮微课小红书推广引流教程