現在舉一個例子說明怎么使用貝葉斯公式來做決策。
例子:
假設有100個人,每個人都有自己的生日。1年有12個月,假設這100個人的生日從1月到12月的人數的分布情況如下:
3 4 5 7 10 13 14 15 12 8 5 4
那么1月到12月生人所占的比率分別為:
0.0300 0.0400 0.0500 0.0700 0.1000 0.1300 0.1400 0.1500 0.1200 0.0800 0.0500 0.0400
把數據放入matlab中:
用matlab繪制看着更直觀:
這個rate1數組就是概率密度函數了,它滿足兩個條件:大於0且積分為1(因為sum(rate1)=1,見matlab命令行截圖)。
現在,假設剛才的那100個人是北半球的樣本。現在再收集南半球的100個人的生日作為樣本。
1到12月生人的分布情況為:
15 12 9 6 4 3 4 5 7 9 12 14
那么1月到12月生人所占的比率分別為:
0.1500 0.1200 0.0900 0.0600 0.0400 0.0300 0.0400 0.0500 0.0700 0.0900 0.1200 0.1400
計算總和
畫出曲線如下:
顯然,rate2曲線可以作為南半球數據的概率密度函數,因為rate2(x)>0且sum(rate2)=1。
將南半球人民的生日概率密度曲線和北半球人民的概率密度分布曲線放到一起。
(這個例子整得有點極端了,說明問題就好……orz)
假設一個人為北半球人民這個事件為ω1,一個人為南半球人民這個事件為ω2,顯然一個地球人要么是南半球的要么是北半球的,所以P(ω1)+P(ω2)=1
那現在再來查查看南半球人民和北半球人民的比例是多少呢?谷歌之
忽略掉那些不需要的信息,我們得出P(ω1)/P(ω2)=9:1
也就是說,P(ω1)=0.9,P(ω2)=0.1
所以,在我們的例子可以抽象為:
特征值為”生日“,及生日=x。
p(x|ω1)=rate1(紅色的曲線), p(x|ω2)=rate2(藍色的曲線)
(紅色曲線和藍色曲線的來歷已經介紹了)
且先驗概率P(ω1)=0.9,P(ω2)=0.1
那么現在要求貝葉斯公式的分母,即證據因子。
根據公式
知 p(x)=p(x|ω1)P(ω1)+p(x|ω2)P(ω2)
現在,假如我們在google+上遇到一個好友,只知道他生日是6月,那怎么猜測這位好友是來自南半球還是北半球呢??
噔噔噔噔,貝葉斯公式上場了!!
公式右側的參數我們都已經知道了,現在就可以求左邊的數了。
生日是6月也就是說x=6
所以以x為變量的p(ω1|x)、p(ω2|x)以及p(x)都可以求了,分別為
p(x|ω1)=rate1(6)=0.1300
p(x|ω2)=rate2(6)= 0.0300
p(x)=p(x|ω1)P(ω1)+p(x|ω2)P(ω2)=0.13*0.9+0.03*0.1=0.12
∴P(ω1|x)=p(x|ω1)P(ω1)/p(x)=0.13*0.9/0.12=0.975
P(ω2|x)=p(x|ω2)P(ω2)/p(x)=0.03*0.1/0.12= 0.0250
所以這位神秘的好友有97.5%的可能性是來自北半球的,只有2.5%的可能性是來自南半球。
我們可以設定這樣的判決規則:
” 如果P(ω1|x)>P(ω2|x),則判決為ω1類,否則為ω2類 “
也就是說,如果我們”大膽假設“這位友人來自北半球,那么我們的猜測出錯的概率就是
P(error|x) = MIN[P(ω1|x),P(ω2|x)] = 0.025
-----------------------------------------------------
后記:
從上述例子中可以看出,證據因子p(x)其實對做出某種判決並不重要,它僅僅是一個標量,用來表示一種比例,即表示我們實際測量的具有特征值x的模式的出現頻率。如果把它去掉,也可以講判決規則改為
” 如果p(x|ω1)P(ω1)>p(x|ω2)P(ω2),則判決為ω1類,否則為ω2類 “
用貝葉斯公式來幫助做決策的大概思路就是計算出某個特征值為x的待測樣本屬於各個不同類別的可能性,然后根據判決規則,選擇概率最大(即可能性最大)的一個作為決策的結果。