明天太陽一定會升起嗎?兼談拉普拉斯平滑

皮埃爾-西蒙,拉普拉斯侯爵(1749-1827),法國著名的天文學家和數學家:

曾經提出一個問題:千百萬年以來,每天太陽都會升起。但是,可以就此推斷明天太陽一定會升起嗎?

1 火雞問題

這個問題似乎有點古怪,但仔細想想,如果不具備其它的關於太陽的知識,僅憑數據確實沒有辦法肯定地說,明天太陽一定會升起。英國哲學家波特蘭.羅素曾經描述過一個類似的問題:

一個農場裏有一羣火雞,農場主每天中午十一點來給它們餵食。火雞中的一名科學家觀察這個現象,一直觀察了近一年都沒有例外,於是它在感恩節當天向所有火雞公佈了一個偉大的定理:“每天上午十一點,就有食物降臨。”但就在當天理論中的食物沒有降臨,農場主進來把它們都捉去殺了。

----火雞理論(Russell's Turkey)

2 太陽昇起的概率

“太陽沒有升起”這個事件從未發生,那怎麼去估計它的概率呢?來做一個思想實驗,讓我們把時間回溯,來到人類第一次觀察太陽的時候,假設那是100萬年前:

此時我們並不知道明天太陽是否升起,可以假設兩者概率相同;也就是假設昨天太陽昇起了,而前天沒有。再加上今天的觀察結果是太陽昇起了,因此可以得到下列表格:

接着連續觀察5天,發現:

在上面表格中,最開始兩天是假設的,後面6天是觀察所得,因此可以說“太陽昇起”的概率爲:

在之後的100萬年間,人類觀察到了每天太陽都是升起的,總共升起了 n 次(數字太大,用 n 來代替),同樣的道理可得:

這也是拉普拉斯的計算結果(他的方法和這裏不太一樣,是假設“太陽昇起”的概率服從均勻分佈,然後通過類似貝葉斯推斷的方式計算出來的,這裏就不再贅述細節了)。

3 有什麼意義

因爲 n 特別大,所以計算出來的結果約等於1,也就是說基本上太陽明天一定會升起,對我們普通人的生活毫無影響:

但如果放到更大的尺度下,這個概率告訴我們,總有一天太陽是會熄滅甚至消失不見,該事件的發生對人類的整體是毀滅性的。當我們意識到這一點,人類應該對這樣的從未發生但是又有重大後果的事件做一些準備,比如星際移民:

當然也可能像那羣火雞一樣,就算知道,也無能爲力。

4 拉普拉斯平滑

說點接地氣的,在機器學習中常常會碰到對從未發生過的事件的預測,拉普拉斯的方法就可以發揮作用。比如下面是一些郵件的數據,左邊兩列是郵件中的是否包含某些關鍵字,第三列是該郵件是否爲垃圾郵件,最後一列是這樣的郵件有多少封:

根據上面的數據容易得到,包含“發票”和“微信”且是垃圾郵件(表中第八行)的概率爲(機器學習中一般是計算條件概率,這裏爲了解釋方便,只去計算了如下概率):

仔細觀察會發現,只包含“微信”的情況是沒有數據的(表中第五、六行),此時就可用拉普拉斯的辦法,給每一項都加上1(“太陽昇起”問題中只有兩種狀態,這裏有八種狀態,在思想實驗中,可以給每種狀態都預先加上1,表現出來的結果就是在表格中給每一項都加上1):

這樣就可以估計只包含“微信”且是垃圾郵件(表中第六行)的概率爲:

這種方法在機器學習中也常稱爲拉普拉斯平滑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章