?姓名:熊子豪 ?? 學號:19011210143
轉載自? https://blog.csdn.net/qiu_zhi_liao/article/details/90671932
【嵌牛導讀】 近年來機器學習大火预厌,貝葉斯原理在機器學習方面有著重要的應用息拜,如貝葉斯實現(xiàn)拼寫糾錯,垃圾郵件過 ? ? ? ? ? ? ? ? ? ? ? 濾等。下面介紹樸素貝葉斯原理。
【嵌牛鼻子】 貝葉斯原理,貝葉斯分類。
【嵌牛提問】樸素貝葉斯的優(yōu)缺點?
【嵌牛正文】
貝葉斯原理是英國數(shù)學家托馬斯·貝葉斯提出的怜庸。貝葉斯是個很神奇的人,他的經(jīng)歷類似梵高垢村。生前沒有得到重視割疾,死后,他寫的一篇關于歸納推理的論文被朋友翻了出來嘉栓,并發(fā)表了宏榕。這一發(fā)表不要緊,結果這篇論文的思想直接影響了接下來兩個多世紀的統(tǒng)計學侵佃,是科學史上著名的論文之一麻昼。
貝葉斯原理
貝葉斯為了解決一個叫“逆向概率”問題寫了一篇文章,嘗試解答在沒有太多可靠證據(jù)的情況下馋辈,怎樣做出更符合數(shù)學邏輯的推測抚芦。
什么是“逆向概率”呢?
所謂“逆向概率”是相對“正向概率”而言迈螟。正向概率的問題很容易理解叉抡,比如我們已經(jīng)知道袋子里面有 N 個球,不是黑球就是白球答毫,其中 M 個是黑球褥民,那么把手伸進去摸一個球,就能知道摸出黑球的概率是多少洗搂。但這種情況往往是上帝視角消返,即了解了事情的全貌再做判斷载弄。
一個袋子里有10個球,其中6個黑球侦副,4個白球侦锯;那么隨機抓一個黑球的概率是0.6驼鞭!
在現(xiàn)實生活中秦驯,我們很難知道事情的全貌。貝葉斯則從實際場景出發(fā)挣棕,提了一個問題:如果我們事先不知道袋子里面黑球和白球的比例译隘,而是通過我們摸出來的球的顏色,能判斷出袋子里面黑白球的比例么洛心?
正是這樣的一個問題固耘,影響了接下來近 200 年的統(tǒng)計學理論。
這是因為词身,貝葉斯原理與其他統(tǒng)計學推斷方法截然不同厅目,它是建立在主觀判斷的基礎上:在我們不了解所有客觀事實的情況下,同樣可以先估計一個值法严,然后根據(jù)實際結果不斷進行修正损敷。
假設有一種病叫做“貝葉死”,它的發(fā)病率是萬分之一深啤,現(xiàn)有一種測試可以檢驗一個人是否得病的準確率是 99.9%拗馒,它的誤報率是 0.1%,那么現(xiàn)在的問題是溯街,如果一個人被查出來患有“葉貝死”诱桂,實際上患有的可能性有多大?
問題分析:隨機拉一個人進行檢查呈昔,誤報率是0.1%挥等。那么如果一個人被檢查患病,實際上患有的概率堤尾。也就是說肝劲,檢查出患病準確率是99.9%,那么實際患病的概率是不是99.9%哀峻?
先驗概率:
通過經(jīng)驗來判斷事情發(fā)生的概率涡相,比如說“貝葉死”的發(fā)病率是萬分之一,就是先驗概率剩蟀。
后驗概率:
后驗概率就是發(fā)生結果之后催蝗,推測原因的概率。比如說某人查出來了患有“貝葉死”育特,那么患病的原因可能是 A丙号、B 或 C先朦。**患有“貝葉死”是因為原因 A 的概率就是后驗概率。**它是屬于條件概率的一種犬缨。
條件概率:
事件 A 在另外一個事件 B 已經(jīng)發(fā)生條件下的發(fā)生概率喳魏,表示為 P(A|B)。比如原因 A 的條件下怀薛,患有“貝葉死”的概率刺彩,就是條件概率。
似然函數(shù)(likelihood function):
你可以把概率模型的訓練過程理解為求參數(shù)估計的過程枝恋。似然在這里就是可能性的意思创倔,它是關于統(tǒng)計參數(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)
樸素貝葉斯
樸素貝葉斯栈虚,它是一種簡單但極為強大的預測建模算法。之所以稱為樸素貝葉斯史隆,**是因為它假設每個輸入變量是獨立的魂务。**這個假設很硬,現(xiàn)實生活中根本不滿足泌射,但是這項技術對于絕大部分的復雜問題仍然非常有效粘姜。
樸素貝葉斯模型由兩種類型的概率組成:
1、每個類別的概率P(Cj)熔酷;
2孤紧、每個屬性的條件概率P(Ai|Cj)。
我們回歸到貝葉死的案例中來拒秘,類型概率是患病号显,不患渤舨隆;條件概率是:患病的條件下押蚤,被檢查出陽性的概率蔑歌,不患病的條件下,檢查出陽性的概率(誤診的概率)揽碘。要求的被檢查出陽性次屠,那么患病的概率(貝葉斯是求后驗概率–知道結果,推測原因的概率钾菊,“求什么什么是類別帅矗,其它的就是屬性條件”!)
為了訓練樸素貝葉斯模型煞烫,我們需要先給出訓練數(shù)據(jù),以及這些數(shù)據(jù)對應的分類累颂。那么上面這兩個概率滞详,也就是類別概率和條件概率。他們都可以從給出的訓練數(shù)據(jù)中計算出來紊馏。一旦計算出來料饥,概率模型就可以使用貝葉斯原理對新數(shù)據(jù)進行預測。
貝葉斯原理朱监、貝葉斯分類和樸素貝葉斯這三者之間是有區(qū)別的
貝葉斯原理是最大的概念岸啡,它解決了概率論中“逆向概率”的問題,在這個理論基礎上赫编,人們設計出了貝葉斯分類器巡蘸,樸素貝葉斯分類是貝葉斯分類器中的一種,也是最簡單擂送,最常用的分類器悦荒。樸素貝葉斯之所以樸素是因為它假設屬性是相互獨立的,因此對實際情況有所約束嘹吨,**如果屬性之間存在關聯(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) 的概率即可羡宙,然后比較下哪個分類的可能性大狸剃,就是哪個分類結果。
等價于求 P(A1A2A3|Cj)P(Cj) 最大值
我們假定 Ai 之間是相互獨立的狗热,那么:
連續(xù)數(shù)據(jù)案例
那么如果給你一個新的數(shù)據(jù)钞馁,身高 180、體重 120匿刮,鞋碼 41僧凰,請問該人是男是女呢?
公式還是上面的公式熟丸,這里的困難在于训措,由于身高、體重光羞、鞋碼都是連續(xù)變量绩鸣,不能采用離散變量的方法計算概率。而且由于樣本太少狞山,所以也無法分成區(qū)間計算全闷。怎么辦呢?
這時萍启,可以假設男性和女性的身高总珠、體重、鞋碼都是正態(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ù)分類為男的概率大于分類為女的概率抄罕。
總結:
樸素貝葉斯分類常用于文本分類,尤其是對于英文等語言來說于颖,分類效果很好呆贿。它常用于垃圾文本過濾、情感預測恍飘、推薦系統(tǒng)等榨崩。
第一階段:準備階段
在這個階段我們需要確定特征屬性,比如上面案例中的“身高”章母、“體重”、“鞋碼”等翩剪,同時明確預測值是什么乳怎。并對每個特征屬性進行適當劃分,然后由人工對一部分數(shù)據(jù)進行分類前弯,形成訓練樣本蚪缀。
這一階段是整個樸素貝葉斯分類中唯一需要人工完成的階段,其質(zhì)量對整個過程將有重要影響恕出,分類器的質(zhì)量很大程度上由特征屬性询枚、特征屬性劃分及訓練樣本質(zhì)量決定。
第二階段:訓練階段
這個階段就是生成分類器浙巫,主要工作是計算每個類別在訓練樣本中的出現(xiàn)頻率及每個特征屬性劃分對每個類別的條件概率金蜀。
輸入是特征屬性和訓練樣本,輸出是分類器的畴。
第三階段:應用階段
這個階段是使用分類器對新數(shù)據(jù)進行分類渊抄。
輸入是分類器和新數(shù)據(jù),輸出是新數(shù)據(jù)的分類結果丧裁。
可以考慮:自編程實現(xiàn)第一階段护桦,第二階段!
思考題:
如果你的女朋友煎娇,在你的手機里發(fā)現(xiàn)了和別的女人的曖昧短信二庵,于是她開始思考了 3 個概率問題贪染,你來判斷下下面的 3 個概率分別屬于哪種概率:
1、你在沒有任何情況下催享,出軌的概率杭隙;(先驗概率)
2、在你的手機里發(fā)現(xiàn)了曖昧短信睡陪,認為你出軌的概率寺渗。(條件概率)
3、如果你出軌了兰迫,那么你的手機里有曖昧短信的概率信殊;(后驗概率)
對應到貝葉斯案例
1、假設有一種病叫做“貝葉死”汁果,它的發(fā)病率是萬分之一涡拘,
2、現(xiàn)有一種測試可以檢驗一個人是否得病的準確率是 99.9%据德,它的誤報率是 0.1%
3鳄乏、那么現(xiàn)在的問題是,如果一個人被查出來患有“葉貝死”棘利,實際上患有的可能性有多大橱野?
tips:知道客觀事實,診斷出病/認為你出軌(主觀判斷)這是條件概率–知道原因善玫,推測結果的概率水援。
另一種局面:認為你出軌/診斷出病,推測原因(客觀事實)出現(xiàn)的概率這是后驗概率(知道結果推測原因發(fā)生的概率)
貝葉斯算法的優(yōu)缺點
優(yōu)點:
????(1)樸素貝葉斯模型發(fā)源于古典數(shù)學理論茅郎,有穩(wěn)定的分類效率蜗元。
????(2)對小規(guī)模的數(shù)據(jù)表現(xiàn)很好,能個處理多分類任務系冗,適合增量式訓練奕扣,尤其是數(shù)據(jù)量超出內(nèi)存時,我們可以一批批的去增量訓練掌敬。
????(3)對缺失數(shù)據(jù)不太敏感惯豆,算法也比較簡單,常用于文本分類涝开。
??缺點:
????(1)理論上循帐,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此舀武,這是因為樸素貝葉斯模型給定輸出類別的情況下,假設屬性之間相互獨立拄养,這個假設在實際應用中往往是不成立的,在屬性個數(shù)比較多或者屬性之間相關性較大時,分類效果不好瘪匿。而在屬性相關性較小時跛梗,樸素貝葉斯性能最為良好。對于這一點棋弥,有半樸素貝葉斯之類的算法通過考慮部分關聯(lián)性適度改進核偿。
????(2)需要知道先驗概率,且先驗概率很多時候取決于假設顽染,假設的模型可以有很多種漾岳,因此在某些時候會由于假設的先驗模型的原因導致預測效果不佳。
????(3)由于我們是通過先驗和數(shù)據(jù)來決定后驗的概率從而決定分類粉寞,所以分類決策存在一定的錯誤率尼荆。
????(4)對輸入數(shù)據(jù)的表達形式很敏感。
參考文獻
數(shù)據(jù)分析實戰(zhàn)45講
統(tǒng)計學習方法(李航)
理論推導看這里:http://www.reibang.com/p/b6cadf53b8b8
————————————————
版權聲明:本文為CSDN博主「qiu_zhi_liao」的原創(chuàng)文章唧垦,遵循 CC 4.0 BY-SA 版權協(xié)議捅儒,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qiu_zhi_liao/article/details/90671932