gameofdimension.github.io

View the Project on GitHub

明天太阳还会照常升起吗?

罗辑思维讲过贝叶斯思维,即所谓不断用新的证据还更新自己的原有认知。作为理科生要让文科生来科普贝叶斯自然羞耻,但同样羞耻的是我居然不知道这样的更新过程在数学上到底是如何实现的。

比如今天太阳照样升起了——跟昨天以及我有生以来的任何一天一样,那相比于今天,我对于明天太阳升起的信念该如何变化呢。

假设今天只是我来到人世间的第三天而已。在今天太阳升起之前,考虑到昨天前天太阳已经升起过了,我假定今天太阳升起的概率是0.51,略微高于瞎蒙的0.5,套用贝叶斯的那一套,这是否就是所谓的先验呢?现在已是中午,今天的太阳已经升起过了,那明天太阳升起的概率该是多少,这是否就是所谓的后验?套用贝叶斯公式来进行计算:

\[ p(X_3=1|X_1=1,X_2=1) = \frac {p(X_3=1)\cdotp(X_1=1,X_2=1|X_3=1)} {p(X_1=1,X_2=1)} \]

到此我们遇到了困难,因为我们不知道怎么计算 \(p(X_1=1,X_2=1|X_3=1)\) 和 \(p(X_1=1,X_2=1)\)。昨天和前天太阳都已经升起了,\(p(X_1=1,X_2=1)\)应该等于1吗?答案是不能,我们假定如果是在未来的连续三天上做同样的分析,那显然没法说这个概率就是1了。另外我们能说 \(X_1, X_2, X_3\)独立吗,如果是的话,上面的推导都没有意义了,因为这样的话\( p(X_3=1|X_1=1,X_2=1) = p(X_3=1)\),也就是后验等于先验,我们的信心没有改变。

老实说这个疑问徘徊心头至少也有几个月了,直到我来到这个知乎页面“贝叶斯推断如何更新后验概率?”。坦率讲这里面很多人的答案我都没有看懂,但是当我看到这一句“用贝叶斯的写法,先验概率是一个分布。”突然有了被击中的感觉。于是我大概知道了上面太阳升起的例子该如何解释了。

首先我们的先验应该是针对某个重复发生的现象,或者说是针对某个理论,而不是跟上面一样针对某次具体实验,因为具体实验发生了就发生了,再也没有同一个了,也就不存在更新信念的问题。其实我们想知道的是关于太阳升起的概率(可以对照成某枚硬币抛出head的概率)的理论。

然后我们应用上面提到的先验概率是个分布的想法。这里又需要一个假设,即这个先验分布该是怎样的。我们假定关于太阳升起的概率这个值本身符合以下分布:

q 0.5 0.6
p 0.9 0.1

也就是说我认为太阳升起的概率只有两种可能,或者为0.5,或者为0.6,同时我对这个值为0.5的信心为0.9,是0.6的信心只有0.1。

有了以上的铺垫,我们再来分析。假定观察到连续两天太阳升起了,太阳升起的概率这个值的分布该如何变化呢:

\[ p(q=0.5|X_1=1,X_2=1) = \frac {p(q=0.5)\cdotp(X_1=1,X_2=1|q=0.5)} {p(X_1=1,X_2=1)} = \frac {0.9\cdot0.5\cdot0.5} {p(X_1=1,X_2=1)}\]

\[ p(q=0.6|X_1=1,X_2=1) = \frac {p(q=0.6)\cdotp(X_1=1,X_2=1|q=0.6)} {p(X_1=1,X_2=1)} = \frac {0.1\cdot0.6\cdot0.6} {p(X_1=1,X_2=1)}\]

二者的比值 \( \frac {0.9\cdot0.5\cdot0.5} {0.1\cdot0.6\cdot0.6} \lt \frac {0.9} {0.1} \) 也就是说后验上我们对0.6这个值的信心更高了。而且随着连续观察的次数\(n\)增加,我们的信息会越来越大,直到最后我们几乎确定太阳升起的概率不是0.5,而是更高的0.6。这里对于\(q\)分布假设只是个简单的两点分布,而如果我们假设\(q\)的分布更复杂一点,并且其最大可能值0.99分配到了一个很小的非零先验概率0.00001,类似上面的分析,虽然先验很低,但是不要多少天之后屌丝会逆袭,届时我们将笃定太阳明天升起的概率是0.99。