概率论的链式法则

Posted azhenwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了概率论的链式法则相关的知识,希望对你有一定的参考价值。

2个事件同时发生的概率:

P(a, b) = P(a | b) * P(b)

其中:P(a, b)表示 a和b事件同时发生的概率, P(a | b)是一个条件概率,表示在b事件发生的条件下,a发生的概率

 

3个事件的概率链式调用:

P(a, b, c) = P(a | b, c) * P(b, c)

      = P(a | b, c) * P(b | c) * P(c)

 

推广到N个事件,概率链式法则长这样:

P(X1, X2, ... Xn) = P(X1 | X2, X3 ... Xn) * P(X2 | X3, X4 ... Xn) ... P(Xn-1 | Xn) * P(Xn)

 

那这个链式法则有什么用处呢?

 

要知道链式法则的用处,先要了解一下什么叫事件相互独立。事件相互独立就是:一个事件的发生与否,不会影响另外一个事件的发生。

 

当a和b两个事件互相独立时,有:

P(a | b) = P(a)

推广到3个事件就有下面这个公式:

P(a | b, c) = P(a | c)

其中:P(a | b, c)表示在b和c事件都发生的情况下,a事件发生的概率

既然a与b相互独立,那b就不是a是否发生的条件,a就只与c有关

 

链式调用的例子,假设有事件ABCDE,它们之间的关系是这样的:

技术分享图片

所有的事件,只与它们的父节点有依赖关系,其中,E只和B有关,B只和AC有关,D只与C有关,A和C不依赖其他任何事件,

求ABCDE同时发生的概率 P(A, B, C, D, E) 是多少?

答:

P(A, B, C, D, E) = P(E | B, D, C, A) * P(B, D, C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D, C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D | C, A) * P(C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D | C, A) * P(C | A) * P(A)  

我们根据前面说的相互独立的事件关系,来分析下最后那个长长的式子:

  1. E只与B有关,则 P(E | B, D, C, A) = P(E | B)
  2. B只和AC有关,则 P(B | D, C, A) = P(B | C, A)
  3. D只与C有关, 则 P(D | C, A) = P(D | C)
  4. C与A无关,则 P(C | A) = P(C)

所以最后的式子简化成了这样:

P(A, B, C, D, E) = P(E | B) * P(B | C, A) * P(D | C) * P(C) * P(A)

 

内容部分借鉴网易公开课的麻省理工学院公开课:人工智能

以上是关于概率论的链式法则的主要内容,如果未能解决你的问题,请参考以下文章

:概率与信息论

第七章 贝叶斯网络

《Deep Learning》-概率和信息论

NLP系列——概述

Python人工智能之-三大数学难点 !

语言模型