概率论的链式法则
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)
我们根据前面说的相互独立的事件关系,来分析下最后那个长长的式子:
- E只与B有关,则 P(E | B, D, C, A) = P(E | B)
- B只和AC有关,则 P(B | D, C, A) = P(B | C, A)
- D只与C有关, 则 P(D | C, A) = P(D | C)
- 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)
内容部分借鉴网易公开课的麻省理工学院公开课:人工智能