## 《为什么》4:贝叶斯的方法

今天咱们继续说朱迪亚·珀尔的 《为什么：因果关系的新科学》这本书。我们要讲一个特别常用、特别重要、也特别值得深思的思想：贝叶斯方法。

这个名字咱们得到的读者已经听到很多次了，今天给你听听我们这个版本。如果你对“贝叶斯”这个词还无感，建议你先听一下罗辑思维第182期《我们到底该信谁？》，其中有罗胖讲的贝叶斯。

用一句话概括贝叶斯思想，就是“观点随事实发生改变”。

科学的世界里没有“坚定不移”这一说。咱们听卓克老师的《科学思维课》特别爱说一句话：“知识这东西就得经常地核实和订正”。这个道理很简单，你有一个什么信念，当有关这个信念的新事实进来之后，你就得修正这个信念。

那怎么修正呢？坚定不移不对，听风就是雨也不对 —— 科学地修正，就是贝叶斯方法。

为了透彻理解这个方法，咱们能不能下一点硬功夫，稍微用一点数学。数学本身很简单，就是对概率的加减乘除。把这个方法想透了我相信你会有很大的满足感。当然你也可以跳过数学，那样你就只能收获一点哲学。

贝叶斯方法有点像破案。福尔摩斯爱说自己用的是演绎法，其实不准确。破案是归纳法 [1]。演绎法是按照规则推导一件事的结果，归纳法是从结果追溯缘故。你是从一具尸体出发，推测是谁杀了他。

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102306061220166336.png)

贝叶斯方法的本质，就是从结果推测缘故。你怀疑凶手是老王，但是你没有任何证据，所以你的怀疑度比较低。有一天终于从老王家搜出了凶器，这个证据会使你对老王的怀疑加重，你要更新对老王的怀疑。这就是观点随事实发生改变。

而这首先是个哲学问题。

俗人一说信仰都是坚定不移的，而哲学家会有不同的意见。

1748年，苏格兰哲学家大卫·休谟写了一篇文章叫《论奇迹》。说像死人复活这种明显违反自然常识的事儿，只有几个目击者说看见了，这个证据是不是有点太弱了？休谟说的其实就是耶稣复活，当然他不敢直接点名。

休谟说的没毛病。平常的事儿我们容易接受，奇迹则需要更强的证据。卡尔·萨根讲过一句话，“超乎寻常的论断需要超乎寻常的证据。”

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102307298716857395.png)

那怎么量化证据和论断的联系呢？解决这个问题的就是今天这一讲的主角，托马斯·贝叶斯。

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102308215415182238.jpg)

贝叶斯提出，什么叫“信”、什么叫“不信”呢？贝叶斯说，你对某个假设的相信程度，应该用一个概率来表示 ——

P(假设)。

P = 1 就是绝对相信，P = 0 就是绝对不信，P = 15% 就是有一点信。咱们先把信仰给量化。

有了新的证据我们要更新这个概率，变成 ——

P(假设|证据)

这个叫条件概率。一般来说，P(A|B) 的意思是“在 B 事件是真的条件下，A 事件的概率”。咱们举个例子，A 表示下雨，B 表示带伞。一般来说这个地方不常下雨，所以 P(A) = 0.1。但是今天你注意到爱看天气预报的老张上班带了伞，那你就可以推断，今天下雨的概率应该增加 —— 在“老张带伞”这个条件下的下雨概率，就是 P(A|B)。

注意如果我们画个因果关系，缘故 → 结果，在这里就是 “下雨 → 带伞” ，A → B，和 “老王是凶手 → 在老王家里找到凶器”，它们都相当于 “假设 → 证据”。

现在我们想算的是 P(假设|证据)，是从结果倒推缘故，这叫“逆概率”，这个不好算。一般都是从缘故推结果容易算。比如说你看见一个小孩向窗户扔球，你可以估计窗户被打碎的概率有多大，这是“正向概率”。但如果你看到窗户碎了，想要推测窗户是怎么碎的，那就非常困难了。

所以咱们要算的是一个逆概率，这要怎么算呢？这就是贝叶斯的方法。

为了计算 P(A|B)，我们考虑这么一个问题：A 和 B 都发生的概率有多大？

这道题有两个算法。一个办法是先算出 B 发生的概率有多大，是 P(B)；再算 B 发生的情况下，A 也发生的概率有多大，是 P(A|B)，那么 A、B 都发生的概率，就是把这两个数相乘，结果是 P(A|B)×P(B)。同样道理，先考虑 A 发生再考虑 A 发生的条件下 B 也发生，结果是 P(B|A)×P(A)。这两个算法的结果一定相等，P(A|B)×P(B) = P(B|A)×P(A)，于是

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102310556428847730.png)

这就是贝叶斯公式。之所以要这么算，就是因为常常是 P(A)，P(B) 和 P(B|A) 都容易知道，而这个逆概率 P(A|B) 只能用这个公式间接知道。

现在咱们来算一个具体的应用。有一位40岁的女性去做乳腺癌的检查，检查结果是阳性。那请问，这位女性真的得了乳腺癌的概率有多大。

我们用D表示她得了乳腺癌，T表示测试结果为阳性，这个因果关系是乳腺癌导致阳性， D → T。我们要计算 P(D|T)。根据贝叶斯公式，我们需要 P(D)，P(T) 和 P(T|D)。

在有新证据之前，P(D) 就是一般相同年龄段女性得乳腺癌的概率，统计表明是1/700。

P(T|D) 是如果这个人真有乳腺癌，她的监测结果为阳性的可能性。这是由检测仪器的敏感度决定的，答案是73%，仪器并不怎么准确。

P(T) 是随便找个人，给她检测出阳性的可能性是多大。这个我们没有直接的数据，要拆成这个人有乳腺癌（D）和没有乳腺癌（~D）两种情况，其中 P(~D) = 1-P(D) = 699/700。刚才说了有乳腺癌、检测为阳性的概率是73%。而没有乳腺癌的人还可能会被误诊成阳性，已知这个误诊率是 P(T|~D) = 12%。于是

P(T) = P(T|D)×P(D) + P(T|~D)×P(~D) = 12.1%.

把这些数字带入公式，我们最终得到 P(D|T) = 1/116。也就是说，哪怕这位女性被检测出来是乳腺癌阳性，她真得乳腺癌概率也只有不到1%。

这是一个非常出乎意料的结论。但是贝叶斯公式不是什么黑箱操作的魔法，你还可以用下面这张图参详一下。假设有3000名40岁的女性，根据前面说的各项数据，其中只有4人真有乳腺癌，而被正确检测为阳性的只有三人。另一方面，被检测仪器误诊为阳性的，却有360人。所以在所有阳性诊断之中，只有不到1%的人真有乳腺癌。

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102344347079862506.jpg)

出现这种情况的根本原因就在于乳腺癌的患者比例很小，而检测仪器又很不准确。几乎每一本讲贝叶斯方法的书都会使用一个这样的例子，你想明白一个就想明白了所有的。

请注意，如果这位女性本身携带容易得乳腺癌的基因，那我们一开始选用的 P(D) 就不是 1/700了，而应该是1/20。用这个数算，最后的 P(D|T) = 1/3，这就非常不一样了。

这是一个关键问题。一开始，你到底凭什么选择 P(D) 的数值呢？

那是你的主观判断。

咱们再看一眼贝叶斯公式 ——

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102312472359859020.png)

右边乘法的第一项 P(B|A)/P(B) 有时候被称为“似然比”。那么贝叶斯公式可以写成

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102313351416939452.png)

你可以把它理解成“观念更新”的公式。P(假设) 是你的老观念，新证据发生之后，你的新观念是 P(假设|证据)。新观念等于老观念乘以似然比。

你的观点，随着事实，发生了改变。

那我们设想一下，如果每个人的阅历和想法不同，一开始的观点不一样，那么哪怕是面对同样的证据，人们更新之后的观点，也还是不一样的！所以贝叶斯方法本质上是个主观的判断方法：同样的证据，它允许你有不同的判断！

这就是为什么有很多统计学家攻击贝叶斯方法，人们总是觉得科学方法应该是完全客观的才对！

但贝叶斯方法实际上是对科学方法的重大升级。

传统的科学方法，是

1.提出一个理论假设；

2.做实验验证；

3.如果实验结果符合理论，这个理论就暂时站得住脚，如果不符合，理论就被证伪了。

这是非黑即白的剧情，理论要么就继续保留，要么就彻底抛弃。

而贝叶斯方法则是先给理论假设设定一个可信度。新证据并不直接证实或者证伪理论，只是调整可信度的大小，做一个动态的判断。

贝叶斯方法是一种实用主义的态度。其实咱们想想，我们搞研究的目的并不一定是了解*绝对真实*的世界 —— 也许绝对真实的世界根本就不可知 —— 我们的目的是通过获取实用的知识，做出尽可能准确的判断和决策。这跟前面说的不追求绝对的因果关系和“为什么”，只追求回答三种实用的因果问题，是一样的道理。

1982年，珀尔本人把贝叶斯方法引入了人工智能领域，发明了“贝叶斯网络”。咱们说的因果关系网络就是一种贝叶斯网络。

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102314239879224491.jpg)

一般的贝叶斯网络并不要求有因果关系，箭头 A → B 仅仅代表从 A 到 B 有条件概率。工程师先给网络上每一个节点设置一个信念值，然后用大量数据、用贝叶斯方法去更新这些信念值，计算 P(B|A) 或者 P(A|B)。每一次新数据都能让网络上的信念值更新一遍，叫做“信念传播”。

传统的贝叶斯网络仍然是基于经验的，但是比以前那种暴力式的数据分析要精确得多，用网络结构取代了老式人工智能算法的黑箱操作。贝叶斯网络的计算方法完全适用于因果关系图。

统计学家可能还在争论这个方法到底对不对，但是所有人都得承认贝叶斯方法的好处。每次你用手机打电话，把语音信号变成数字信号，再把数字信号编码再解码，其中用的就是贝叶斯方法。语音识别、垃圾邮件过滤、油井钻探、FDA批准新药、Xbox给你的游戏水平打分……各种你想到和想不到的应用，都在使用贝叶斯方法。

休谟问了一句“我们到底应该怎么看待证据”，贝叶斯给的答案是一整套玩转世界的方法。

1.先评估一下自己的信念，设定 P(信念)；

2.等待新证据；

3.证据出来以后，用贝叶斯公式更新自己的信念，计算 P(信念|证据)；

4.继续等待新证据……

不要说什么“坚定不移”也不要听风就是雨。保持开放心态，让你的观点随事实发生改变，用一个量化的数值决定你的判断。虽然永远都摆脱不了主观的成分，但是你会做出更科学的决策。

### 💡 精华要点
- 【贝叶斯方法】
- 
- 1.先评估一下自己的信念，设定 P(信念)；
- 2.等待新证据；
- 3.证据出来以后，用贝叶斯公式更新自己的信念，计算 P(信念|证据)；
- 4.继续等待新证据……

![图片](https://piccdn3.umiwi.com/img/201806/10/201806102316496917734969.jpg)
