告别枯燥理论,一文看懂贝叶斯概率
貝葉斯公式由英國數學家貝葉斯發展而來,在統計學和概率論中有著廣泛的應用。
與傳統的先驗概率不同,它提出的后驗概率方式,會根據不斷出現的新證據來更新概率估計,
從而使得估計的準確性能夠不斷改善。
本文嘗試通過一個簡單的預測天氣的示例來講解后驗概率是怎么回事,以及如何根據它推導出貝葉斯公式的。
1. 從預測天氣開始
這里為了簡化,我們只考慮兩種天氣情況,晴天和雨天。
在沒有其他條件的情況下,我們預測明天的天氣,得到的是 50%概率是晴天,50%概率是雨天。
這個概率也可稱為先驗概率,就像扔硬幣一樣,
沒有其他條件的情況下,我們根據經驗,可得出硬幣落地后正反面的概率各為 50%。
上面的天氣預測結果,繪制成概率圖如下(晴天雨天的概率各占50%):
根據上面的情況,可以整理成簡單的公式如下:
\(P(天氣=晴天)=0.5\)
\(P(天氣=雨天)=0.5\)
其中,\(P(...)\)表示某個事件的概率。
2. 引入新變量
接著上面的示例討論,為了更精確的預測明天的天氣,我們引入新的變量。
假設這個新的變量霞光,也就是當天是否有朝霞和晚霞。
這里為了簡化,假設朝霞和晚霞必然出現,且不會同一天出現。
根據諺語“朝霞不出門,晚霞行千里”,
我們假定明天晴天的話,今天晚霞的概率為80%,朝霞的概率為20%。
明天雨天的話,今天晚霞的概率為10%,朝霞的概率為90%。
整理成概率的表格更直觀一些:
| 明天天氣 | 朝霞 | 晚霞 |
|---|---|---|
| 晴天 | 0.2 | 0.8 |
| 雨天 | 0.9 | 0.1 |
這個表格是按行來看的,表示不同天氣情況下,朝霞和晚霞出現的概率。
用公式來表示的話:
\(P(霞光=朝霞 | 天氣=晴天) = 0.2\) 這個公式表示明天晴天的話,今天朝霞的概率 20%
也就是 \(P(A|B)\) 表示B發生時,A發生的概率。
同理可得出:
\(\begin{cases}
\quad P(霞光=晚霞 | 天氣=晴天) = 0.8 \\
\quad P(霞光=朝霞 | 天氣=雨天) = 0.9 \\
\quad P(霞光=晚霞 | 天氣=雨天) = 0.1
\end{cases}\)
3. 聯合概率
現在,我們有2個變量了,霞光和天氣。
根據這兩個變量,可以計算它們同時發生的概率,也就是聯合概率。
聯合概率的公式用 \(P(A, B)\)來表示,事件A和事件B之間用逗號。
根據上一節的表格,繪制聯合概率分布圖如下:
由上文第一節的假設可知:\(P(晴天)=0.5\),\(P(雨天)=0.5\)
由上文第二節的內容可知:
\(P(晚霞|晴天)=0.8\),\(P(朝霞|晴天)=0.2\)
\(P(晚霞|雨天)=0.9\),\(P(朝霞|雨天)=0.1\)
所以得出上圖中各個部分聯合概率的結果如下:
\(\begin{cases}
\quad P(霞光=朝霞,天氣=晴天) = P(朝霞|晴天)\times P(晴天) = 0.1 \\
\quad P(霞光=晚霞,天氣=晴天) = P(晚霞|晴天)\times P(晴天) = 0.4 \\
\quad P(霞光=朝霞,天氣=雨天) = P(朝霞|雨天)\times P(雨天) = 0.45 \\
\quad P(霞光=晚霞,天氣=雨天) = P(晚霞|雨天)\times P(雨天) = 0.05
\end{cases}\)
從公式可以算出,符合諺語“朝霞不出門,晚霞行千里”的概率高達85%,即:
\(P(霞光=朝霞,天氣=雨天) + P(霞光=晚霞,天氣=晴天) = 0.45+0.4=0.85\)
4. 推導貝葉斯
接下來,就可以開始推導貝葉斯公式了,
為了簡化公式,我們假設上面的變量霞光為A,天氣為B,
則\(A\)表示朝霞或晚霞中的一種;\(B\)表示晴天或雨天中的一種。
那么,上一節的4個聯合概率公式可簡化為:\(P(A, B) = P(A|B) \times P(B) \quad (1)\)
或者簡化為:\(P(B,A) = P(B|A) \times P(A) \quad (2)\)
\(P(A, B)\)和 \(P(B,A)\)都是表示同樣的含義,也就是\(A\)和\(B\)同時發生的概率。
所以上式\((1)\)和\((2)\)是相等的,從而得出:
\(P(A|B) \times P(B) = P(B|A) \times P(A)\)
即:\(P(A|B) = \frac{P(B|A) \times P(A)}{P(B)}\)或\(P(B|A)=\frac{P(A|B) \times P(B)}{P(A)}\)
這就是貝葉斯公式。
5. 后驗概率
最后,我們來看看什么是后驗概率,以及貝葉斯公式為什么是后驗概率。
提到后驗概率,不得不提先驗概率,
所謂先驗概率,就是事件發生時,我們已經能夠判斷出事件發生的概率,
判斷的依據就是先前的經驗,所以被成為先驗概率。
比如,扔硬幣,擲篩子,買彩票等等。
扔硬幣之前,我們就已經可以判斷正反面的概率各為 50%;
擲篩子之前,可以判斷擲出任意點數的概率均為33.33%;
買彩票之前,也可以算出連續猜對幾個數字的概率。
這些都是先驗概率,平時生活中,我們做各種決策時,常常都在不知不覺中使用先驗概率來判斷。
然而,對于復雜的情形,先驗概率的準確性大大降低,就以本文中的天氣預測為例,
天氣預測涉及很多因素,不僅僅是上文的朝霞晚霞,還有不同的經緯度,氣溫,濕度,風向等等都對明天的天氣有影響。
如果用先驗概率的做法,我們會根據歷史數據來算出各個因素(包括朝霞晚霞,經緯度,氣溫,濕度,風向等等)對明天天氣的影響,然后生成一個分類模型。
然后通過這個分類模型預測明天的天氣,就是先驗概率。
不過,天氣不像扔硬幣,擲篩子,買彩票那樣一成不變,隨著時間的推移,我們的環境在不斷變化(包含人為的和非人為的)。
所以根據歷史數據計算出的預測模型隨著時間推移會越來越不準確。
這時就需要通過后驗概率來更新各個因素(包括朝霞晚霞,經緯度,氣溫,濕度,風向等等)對明天天氣的影響,
然后更新我們的分類模型,更新的方式就是貝葉斯公式,
假設各個影響天氣預測的因素分別為\(A_1, A_2, A_3...A_n\),\(B\)表示實際天氣情況。
拓展上一節中的貝葉斯公式,可得:\(P(A_1,A_2...A_n|B) = \frac{P(B|A_1,A_2...A_n) \times P(A_1,A_2...A_n)}{P(B)}\)
根據這個公式,可以反推出\(P(A_1,A_2...A_n|B)\),即在已知天氣\(B\)的情況下,各個影響天氣的因素出現的概率。
這個概率就是用來更新天氣預測模型用的。
總的來說,后驗概率可以看做先驗概率的一個補充,它以先驗概率為基礎,根據不斷出現的新證據或新數據,對先驗概率的進行更新。
這個過程和機器學習的過程非常類似,所以貝葉斯概率也是機器學習中分類模型常用的算法。
總結
以上是生活随笔為你收集整理的告别枯燥理论,一文看懂贝叶斯概率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沉默的螺旋--digest
- 下一篇: TCP 拥塞控制对数据延迟的影响