貝葉斯要解決的問題:
正向概率:
假設(shè)袋子里面有N個白球,M個黑球,伸手進(jìn)去摸一把,摸出黑球的概率是多大
逆向概率:如果我們事先并不知道袋子里面黑白球的比例,而是閉著眼睛摸出一個(或者好幾個)球,觀察這些取出來的球的顏色之后,那么可以就此對袋子里面的黑白球的比例做出什么樣的推測。
貝葉斯的出現(xiàn)?
現(xiàn)實世界本身就是不確定的,人類的觀察能力有局限性的
日常所觀察到的只是事物表面上的結(jié)果,因此我們需要提供一個猜測
舉個例子:
男生60% ? 女生40%
男生總是穿長褲,女生則一半穿長褲一半穿裙子
正向概率:隨機選取一個學(xué)生,他(她)穿長褲的概率和穿裙子的概率是多大
逆向概率:迎面走來一個穿長褲的學(xué)生,只看得見穿的是長褲,無法確定性別,怎么能夠推斷出是女生的概率是多大?
假設(shè)學(xué)校里面人的總數(shù)是U個
穿長褲的(男生):?U * P(Boy) * P(Pants|Boy)
P(Boy) 是男生的概率= 60%
P(Pants|Boy) 是條件概率,即在Boy 這個條件下穿長褲的概率是多大,這里是100% ,因為所有男生都穿長褲
穿長褲的(女生):U * P(Girl) * P(Pants|Girl)
求解:穿長褲的人里面有多少女生
穿長褲的總數(shù):U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)
P(Girl|Pants) = U * P(Girl) * P(Pants|Girl)/穿長褲總數(shù)
U * P(Girl) * P(Pants|Girl) / [U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)]
與總?cè)藬?shù)有關(guān)么?
U * P(Girl) * P(Pants|Girl) / [U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)
容易發(fā)現(xiàn)這里校園內(nèi)人的總數(shù)是無關(guān)的,可以消去
P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]
化簡:P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]
分母其實就是P(Pants)
分
其實就是P(Pants, Girl)
貝葉斯公式 ? ? ??
拼寫糾正實例:
問題是看到用戶輸入了一個不在字典中的單詞,需要去猜測:這個家伙到底真正想輸入的單詞是什么呢
P(我們猜測他想輸入的單詞| 他實際輸入的單詞)
用戶實際輸入的單詞記為D (D 代表Data ,即觀測數(shù)據(jù))
猜測1:P(h1 | D),猜測2:P(h2 | D),猜測3:P(h1 | D) 。。。
統(tǒng)一為:P(h | D)
P(h | D) = P(h) * P(D | h) / P(D)
對于不同的具體猜測h1 h2 h3 .. ,P(D) 都是一樣的,所以在比較P(h1 | D) 和P(h2 | D) 的時候我們可以忽略這個常數(shù)
P(h | D) ∝ P(h) * P(D | h)
對于給定觀測數(shù)據(jù),一個猜測是好是壞,取決于“這個猜測本身獨立的可能性大?。ㄏ闰灨怕?,Prior )”和“這個猜測生成我們觀測到的數(shù)據(jù)的可能性大小。
貝葉斯方法計算:P(h) * P(D | h),P(h) 是特定猜測的先驗概率
比如用戶輸入tlp,那到底是top 還是tip ?這個時候,當(dāng)最大似然不能作出決定性的判斷時,先驗概率就可以插手進(jìn)來給出指示——“既然你無法決定,那么我告訴你,一般來說top 出現(xiàn)的程度要高許多,所以更可能他想打的是top ”
模型比較理論
最大似然:最符合觀測數(shù)據(jù)的(即P(D | h) 最大的)最有優(yōu)勢
奧卡姆剃刀:P(h) 較大的模型有較大的優(yōu)勢
擲一個硬幣,觀察到的是“正”,根據(jù)最大似然估計的精神,我們應(yīng)該猜測這枚硬幣擲出“正”的概率是1,因為這個才是能最大化P(D | h) 的那個猜測
如果平面上有N 個點,近似構(gòu)成一條直線,但絕不精確地位于一條直線上。這時我們既可以用直線來擬合(模型1),也可以用二階多項式(模型2)擬合,也可以用三階多項式(模型3),特別地,用N-1 階多項式便能夠保證肯定能完美通過N 個數(shù)據(jù)點。那么,這些可能的模型之中到底哪個是最靠譜的呢?
奧卡姆剃刀:越是高階的多項式越是不常見
垃圾郵件過濾實例:
問題:給定一封郵件,判定它是否屬于垃圾郵件
D 來表示這封郵件,注意D 由N 個單詞組成。我們用h+ 來表示垃圾郵件,h-表示正常郵件
P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)
先驗概率:P(h+) 和P(h-) 這兩個先驗概率都是很容易求出來的,只需要計算一個郵件庫里面垃圾郵件和正常郵件的比例就行了。
D 里面含有N 個單詞d1, d2, d3,P(D|h+) = P(d1,d2,..,dn|h+)
P(d1,d2,..,dn|h+) 就是說在垃圾郵件當(dāng)中出現(xiàn)跟我們目前這封郵件一模一樣的一封郵件的概率是多大!
P(d1,d2,..,dn|h+)擴(kuò)展為:P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1, h+) * ..
P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1, h+) * ..
假設(shè)di 與di-1 是完全條件無關(guān)的(樸素貝葉斯假設(shè)特征之間是獨立,互不影響)
簡化為P(d1|h+) * P(d2|h+) * P(d3|h+) * ..
對于P(d1|h+) * P(d2|h+) * P(d3|h+) * ..只要統(tǒng)計di 這個單詞在垃圾郵件中出現(xiàn)的頻率即可