一個問題
假定人口總體的 1% 患癌。如果患癌,檢測結果為陽性的可能性為 90%,如果不患癌,檢測結果為陰性的可能性為 90%,在這種情景下,如果你的測試結果為陽性,患癌的概率是多少?
圖解分析如下:
|
圖中大的黑方框表示所有人, 其中小的黑圈表示 1%的患癌人群。
解法:
在未獲得證據之前
P(C) 表示患癌人群的概率 , 即P(C) = 0.01
P(~C) 表示不患癌人群的概率, 即 P(~C) = 0.99
P(Pos | C) 表示患癌人群中檢測到陽性的概率, P(Pos | C) = 0.9
P(Neg | C) 表示患癌人群中檢測到陰性的概率, P(Neg | C) = 0.1
P(Pos | ~C) 表示不患癌人群檢測到陽性的概率, P(Pos | C') = 0.1
P(Neg | ~C) 表示不患癌人群檢測到陽性的概率, P(Pos | C') = 0.9
當確認結果為陽性后
P(C, Pos) 表示患癌檢測為陽性的概率, P(C, Pos) = P(C) * P(Pos | C) = 0.01 * 0.9 = 0.009
P(~C, Pos) 表示不患癌檢測為陽性的概率, P(~C, Pos) = P(C') * P(Pos | C') = 0.99 * 0.1 = 0.099
歸一化1
P(Pos) 表示檢測結果為陽性的概率, P(Pos) = P(C, Pos) + P(~C, Pos) = 0.009 + 0.099 = 0.108
歸一化2
P(C | Pos) 表示得了癌症,且為陽性的概率, P(C | Pos) = P(C, Pos) / P(Pos) = 0.009 / 0.108 = 0.083
P(~C | Pos) 表示沒有得癌,檢測結果為陽性的概率, P(~C | Pos) = P(~C, Pos) / P(Pos) = 0.917
將上面兩個結果值相加 P(C | Pos) + P(~C | Pos) = 1
學習目標:條件概率
我們使用以下注釋:
- P(A)P(A) 表示 "A 的概率"
- P(\neg A)P(¬A) 表示 "非 A 的概率"
- P(A,B)P(A,B) 表示 "A 和 B 同時發生的 概率" 並且
- P(A|B)P(A∣B) 表示 "條件為 B 時 A 發生的概率"。
將上述方法抽象思考
|
另一個機器學習的問題
一個機器人在紅色與綠色相間的路上行走,初始情況下, 他並不知道自己走在哪個道上面,所以走在紅色道路上面概率為0.5, 走在綠色道路上面概率也為0.5。
機器人有一個傳感器,可以識別當前道路的顏色,如果他在紅色道路上識別紅色的准確率為0.8, 在綠色道路上識別綠色的准確率為0.8
現在假設這個機器人看到了紅色道路,問他在的紅道路上看到的概率高還是綠色道路上看到的概率高?
|
第一步:列出先驗概率
機器人完全不知道自己在哪里,先驗概率如下
P(at red) = 0.5
P(at green) = 0.5
第二步:條件概率
機器人傳感器不是十全十美的。 僅僅因為機器人看見 紅色,並 不代表 機器人是在紅色格子中。
P(see red | at red) = 0.8
P(see green | at green) = 0.8
第三步:計算后驗概率
當機器的傳感器看到red時, 他在哪條路上?
P(at red | see red) =
P(at green | see red) =
Bayes 法則公式
![]() |
使用公式計算
![]() |
使用全概率法則計算 P(see red)
機器人看到紅色有以下兩種情況
1. 當機器人處於紅色格子, 並且其傳感器正常工作
2. 當機器人處於綠色格子, 傳感器錯誤
將上面兩種情況相加,即可得到看見紅色的概率
P(see red) = P(at red) * P(see red | at red) + P(at green) * P(see red | at green) = 0.5 * 0.8 + 0.5 * 0.2 = 0.5
所以
P(at red | see red) = 0.8
P(at green | see red) = 0.2


