?姓名:熊子豪 ?? 學(xué)號:19011210143
轉(zhuǎn)載自? https://blog.csdn.net/qiu_zhi_liao/article/details/90671932
【嵌牛導(dǎo)讀】 近年來機器學(xué)習大火,貝葉斯原理在機器學(xué)習方面有著重要的應(yīng)用,如貝葉斯實現(xiàn)拼寫糾錯,垃圾郵件過 ? ? ? ? ? ? ? ? ? ? ? 濾等。下面介紹樸素貝葉斯原理。
【嵌牛鼻子】 貝葉斯原理,貝葉斯分類。
【嵌牛提問】樸素貝葉斯的優(yōu)缺點?
【嵌牛正文】
貝葉斯原理是英國數(shù)學(xué)家托馬斯·貝葉斯提出的。貝葉斯是個很神奇的人,他的經(jīng)歷類似梵高。生前沒有得到重視,死后,他寫的一篇關(guān)于歸納推理的論文被朋友翻了出來,并發(fā)表了。這一發(fā)表不要緊,結(jié)果這篇論文的思想直接影響了接下來兩個多世紀的統(tǒng)計學(xué),是科學(xué)史上著名的論文之一。
貝葉斯原理
貝葉斯為了解決一個叫“逆向概率”問題寫了一篇文章,嘗試解答在沒有太多可靠證據(jù)的情況下,怎樣做出更符合數(shù)學(xué)邏輯的推測。
什么是“逆向概率”呢?
所謂“逆向概率”是相對“正向概率”而言。正向概率的問題很容易理解,比如我們已經(jīng)知道袋子里面有 N 個球,不是黑球就是白球,其中 M 個是黑球,那么把手伸進去摸一個球,就能知道摸出黑球的概率是多少。但這種情況往往是上帝視角,即了解了事情的全貌再做判斷。
一個袋子里有10個球,其中6個黑球,4個白球;那么隨機抓一個黑球的概率是0.6!
在現(xiàn)實生活中,我們很難知道事情的全貌。貝葉斯則從實際場景出發(fā),提了一個問題:如果我們事先不知道袋子里面黑球和白球的比例,而是通過我們摸出來的球的顏色,能判斷出袋子里面黑白球的比例么?
正是這樣的一個問題,影響了接下來近 200 年的統(tǒng)計學(xué)理論。
這是因為,貝葉斯原理與其他統(tǒng)計學(xué)推斷方法截然不同,它是建立在主觀判斷的基礎(chǔ)上:在我們不了解所有客觀事實的情況下,同樣可以先估計一個值,然后根據(jù)實際結(jié)果不斷進行修正。
假設(shè)有一種病叫做“貝葉死”,它的發(fā)病率是萬分之一,現(xiàn)有一種測試可以檢驗一個人是否得病的準確率是 99.9%,它的誤報率是 0.1%,那么現(xiàn)在的問題是,如果一個人被查出來患有“葉貝死”,實際上患有的可能性有多大?
問題分析:隨機拉一個人進行檢查,誤報率是0.1%。那么如果一個人被檢查患病,實際上患有的概率。也就是說,檢查出患病準確率是99.9%,那么實際患病的概率是不是99.9%?
先驗概率:
通過經(jīng)驗來判斷事情發(fā)生的概率,比如說“貝葉死”的發(fā)病率是萬分之一,就是先驗概率。
后驗概率:
后驗概率就是發(fā)生結(jié)果之后,推測原因的概率。比如說某人查出來了患有“貝葉死”,那么患病的原因可能是 A、B 或 C。**患有“貝葉死”是因為原因 A 的概率就是后驗概率。**它是屬于條件概率的一種。
條件概率:
事件 A 在另外一個事件 B 已經(jīng)發(fā)生條件下的發(fā)生概率,表示為 P(A|B)。比如原因 A 的條件下,患有“貝葉死”的概率,就是條件概率。
似然函數(shù)(likelihood function):
你可以把概率模型的訓(xùn)練過程理解為求參數(shù)估計的過程。似然在這里就是可能性的意思,它是關(guān)于統(tǒng)計參數(shù)的函數(shù)。
介紹完貝葉斯原理中的這幾個概念,我們再來看下貝葉斯原理,實際上貝葉斯原理就是求解后驗概率,我們假設(shè):A 表示事件 “測出為陽性”, 用 B1 表示“患有貝葉死”, B2 表示“沒有患貝葉死”。
患有貝葉死的情況下,測出為陽性的概率為 P(A|B1)=99.9%,沒有患貝葉死,但測出為陽性的概率為 P(A|B2)=0.1%。
對萬分之一的解讀:?;加胸惾~死的概率為 P(B1)=0.01%,沒有患貝葉死的概率 P(B2)=99.99%。
那么我們檢測出來為陽性,而且是貝葉死的概率 P(B1,A)–聯(lián)合概率分布

然后我們想求得是檢查為陽性的情況下,患有貝葉死的概率,也即是 P(B1|A)


樸素貝葉斯
樸素貝葉斯,它是一種簡單但極為強大的預(yù)測建模算法。之所以稱為樸素貝葉斯,**是因為它假設(shè)每個輸入變量是獨立的。**這個假設(shè)很硬,現(xiàn)實生活中根本不滿足,但是這項技術(shù)對于絕大部分的復(fù)雜問題仍然非常有效。
樸素貝葉斯模型由兩種類型的概率組成:
1、每個類別的概率P(Cj);
2、每個屬性的條件概率P(Ai|Cj)。
我們回歸到貝葉死的案例中來,類型概率是患病,不患??;條件概率是:患病的條件下,被檢查出陽性的概率,不患病的條件下,檢查出陽性的概率(誤診的概率)。要求的被檢查出陽性,那么患病的概率(貝葉斯是求后驗概率–知道結(jié)果,推測原因的概率,“求什么什么是類別,其它的就是屬性條件”?。?/p>
為了訓(xùn)練樸素貝葉斯模型,我們需要先給出訓(xùn)練數(shù)據(jù),以及這些數(shù)據(jù)對應(yīng)的分類。那么上面這兩個概率,也就是類別概率和條件概率。他們都可以從給出的訓(xùn)練數(shù)據(jù)中計算出來。一旦計算出來,概率模型就可以使用貝葉斯原理對新數(shù)據(jù)進行預(yù)測。
貝葉斯原理、貝葉斯分類和樸素貝葉斯這三者之間是有區(qū)別的
貝葉斯原理是最大的概念,它解決了概率論中“逆向概率”的問題,在這個理論基礎(chǔ)上,人們設(shè)計出了貝葉斯分類器,樸素貝葉斯分類是貝葉斯分類器中的一種,也是最簡單,最常用的分類器。樸素貝葉斯之所以樸素是因為它假設(shè)屬性是相互獨立的,因此對實際情況有所約束,**如果屬性之間存在關(guān)聯(lián),分類準確率會降低。**不過好在對于大部分情況下,樸素貝葉斯的分類效果都不錯。

離散數(shù)據(jù)案例
我以下面的數(shù)據(jù)為例,這些是根據(jù)你之前的經(jīng)驗所獲得的數(shù)據(jù)。然后給你一個新的數(shù)據(jù):身高“高”、體重“中”,鞋碼“中”,請問這個人是男還是女?

男女就是類型,男C1,女C2;
屬性條件:身高A1,體重A2,鞋碼A3
那么我們想求在 A1、A2、A3 屬性下,Cj 的概率,用條件概率表示就是 P(Cj|A1A2A3)。根據(jù)上面講的貝葉斯的公式,我們可以得出:

因為一共有 2 個類別,所以我們只需要求得 P(C1|A1A2A3) 和P(C2|A1A2A3) 的概率即可,然后比較下哪個分類的可能性大,就是哪個分類結(jié)果。
等價于求 P(A1A2A3|Cj)P(Cj) 最大值
我們假定 Ai 之間是相互獨立的,那么:


連續(xù)數(shù)據(jù)案例

那么如果給你一個新的數(shù)據(jù),身高 180、體重 120,鞋碼 41,請問該人是男是女呢?
公式還是上面的公式,這里的困難在于,由于身高、體重、鞋碼都是連續(xù)變量,不能采用離散變量的方法計算概率。而且由于樣本太少,所以也無法分成區(qū)間計算。怎么辦呢?
這時,可以假設(shè)男性和女性的身高、體重、鞋碼都是正態(tài)分布,通過樣本計算出均值和方差,也就是得到正態(tài)分布的密度函數(shù)。
有了密度函數(shù),就可以把值代入,算出某一點的密度函數(shù)的值。
比如,男性的身高是均值 179.5、標準差為 3.697 的正態(tài)分布。(我們選擇不同條件下的樣本,得出的均值,標準差就是條件下的概率分布了。這點稍后計算中體現(xiàn))
所以男性的身高為 180 的概率為 0.1069。怎么計算得出的呢? –excel
NORMDIST(x,mean,standard_dev,cumulative) 函數(shù),一共有 4 個參數(shù):
這里我們使用的是 NORMDIST(180,179.5,3.697,0)=0.1069。
同理我們可以計算得出男性體重為 120 的概率為 0.000382324,
男性鞋碼為 41 號的概率為 0.120304111。

很明顯這組數(shù)據(jù)分類為男的概率大于分類為女的概率。
總結(jié):
樸素貝葉斯分類常用于文本分類,尤其是對于英文等語言來說,分類效果很好。它常用于垃圾文本過濾、情感預(yù)測、推薦系統(tǒng)等。
第一階段:準備階段
在這個階段我們需要確定特征屬性,比如上面案例中的“身高”、“體重”、“鞋碼”等,同時明確預(yù)測值是什么。并對每個特征屬性進行適當劃分,然后由人工對一部分數(shù)據(jù)進行分類,形成訓(xùn)練樣本。
這一階段是整個樸素貝葉斯分類中唯一需要人工完成的階段,其質(zhì)量對整個過程將有重要影響,分類器的質(zhì)量很大程度上由特征屬性、特征屬性劃分及訓(xùn)練樣本質(zhì)量決定。
第二階段:訓(xùn)練階段
這個階段就是生成分類器,主要工作是計算每個類別在訓(xùn)練樣本中的出現(xiàn)頻率及每個特征屬性劃分對每個類別的條件概率。
輸入是特征屬性和訓(xùn)練樣本,輸出是分類器。
第三階段:應(yīng)用階段
這個階段是使用分類器對新數(shù)據(jù)進行分類。
輸入是分類器和新數(shù)據(jù),輸出是新數(shù)據(jù)的分類結(jié)果。
可以考慮:自編程實現(xiàn)第一階段,第二階段!
思考題:
如果你的女朋友,在你的手機里發(fā)現(xiàn)了和別的女人的曖昧短信,于是她開始思考了 3 個概率問題,你來判斷下下面的 3 個概率分別屬于哪種概率:
1、你在沒有任何情況下,出軌的概率;(先驗概率)
2、在你的手機里發(fā)現(xiàn)了曖昧短信,認為你出軌的概率。(條件概率)
3、如果你出軌了,那么你的手機里有曖昧短信的概率;(后驗概率)
對應(yīng)到貝葉斯案例
1、假設(shè)有一種病叫做“貝葉死”,它的發(fā)病率是萬分之一,
2、現(xiàn)有一種測試可以檢驗一個人是否得病的準確率是 99.9%,它的誤報率是 0.1%
3、那么現(xiàn)在的問題是,如果一個人被查出來患有“葉貝死”,實際上患有的可能性有多大?
tips:知道客觀事實,診斷出病/認為你出軌(主觀判斷)這是條件概率–知道原因,推測結(jié)果的概率。
另一種局面:認為你出軌/診斷出病,推測原因(客觀事實)出現(xiàn)的概率這是后驗概率(知道結(jié)果推測原因發(fā)生的概率)
貝葉斯算法的優(yōu)缺點
優(yōu)點:
????(1)樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有穩(wěn)定的分類效率。
????(2)對小規(guī)模的數(shù)據(jù)表現(xiàn)很好,能個處理多分類任務(wù),適合增量式訓(xùn)練,尤其是數(shù)據(jù)量超出內(nèi)存時,我們可以一批批的去增量訓(xùn)練。
????(3)對缺失數(shù)據(jù)不太敏感,算法也比較簡單,常用于文本分類。
??缺點:
????(1)理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此,這是因為樸素貝葉斯模型給定輸出類別的情況下,假設(shè)屬性之間相互獨立,這個假設(shè)在實際應(yīng)用中往往是不成立的,在屬性個數(shù)比較多或者屬性之間相關(guān)性較大時,分類效果不好。而在屬性相關(guān)性較小時,樸素貝葉斯性能最為良好。對于這一點,有半樸素貝葉斯之類的算法通過考慮部分關(guān)聯(lián)性適度改進。
????(2)需要知道先驗概率,且先驗概率很多時候取決于假設(shè),假設(shè)的模型可以有很多種,因此在某些時候會由于假設(shè)的先驗?zāi)P偷脑驅(qū)е骂A(yù)測效果不佳。
????(3)由于我們是通過先驗和數(shù)據(jù)來決定后驗的概率從而決定分類,所以分類決策存在一定的錯誤率。
????(4)對輸入數(shù)據(jù)的表達形式很敏感。
參考文獻
數(shù)據(jù)分析實戰(zhàn)45講
統(tǒng)計學(xué)習方法(李航)
理論推導(dǎo)看這里:http://www.itdecent.cn/p/b6cadf53b8b8
————————————————
版權(quán)聲明:本文為CSDN博主「qiu_zhi_liao」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qiu_zhi_liao/article/details/90671932