第6-1節(jié)概率及樸素貝葉斯——樸素貝葉斯|寫給程序員的數(shù)據(jù)挖掘?qū)嵺`指南-學習筆記

文章原創(chuàng),最近更新:2018-08-25

1.關(guān)于本書
2.關(guān)于作者
3.內(nèi)容簡介
4.主要內(nèi)容

引言:網(wǎng)上找資料覺得這本書挺通俗易懂的,剛好可以跟《機器學習實戰(zhàn)》相關(guān)章節(jié)結(jié)合一起學習。

1.關(guān)于本書

寫給程序員的數(shù)據(jù)挖掘?qū)嵺`指南:豆瓣評分:7.4分
作者: [美] Ron Zacharski
出版社: 人民郵電出版社
原作名: A Programmer's Guide to Data Mining
譯者: 王斌
出版年: 2015-10-24

2.關(guān)于作者

Ron Zacharski是一名軟件開發(fā)工程師,曾在威斯康辛大學獲美術(shù)學士學位,之后還在明尼蘇達大學獲得了計算機科學博士學位。博士后期間,他在愛丁堡大學研究語言學。正是基于廣博的學識,他不僅在新墨西哥州立大學的計算研究實驗室工作,期間還接觸過自然語言處理相關(guān)的項目,而該實驗室曾被《連線》雜志評為機器翻譯研究領(lǐng)域翹楚。除此之外,他還曾教授計算機科學、語言學、音樂等課程,是一名博學多才的科技達人。

3.內(nèi)容簡介

本書是寫給程序員的一本數(shù)據(jù)挖掘指南,可以幫助讀者動手實踐數(shù)據(jù)挖掘、集體智慧并構(gòu)建推薦系統(tǒng)。全書共8章,介紹了數(shù)據(jù)挖掘的基本知識和理論、協(xié)同過濾、內(nèi)容過濾及分類、算法評估、樸素貝葉斯、非結(jié)構(gòu)化文本分類以及聚類等內(nèi)容。本書采用“在實踐中學習”的方式,用生動的圖示、大量的表格、簡明的公式、實用的Python代碼示例,闡釋數(shù)據(jù)挖掘的知識和技能。每章還給出了習題和練習,幫助讀者鞏固所學的知識。

4.主要內(nèi)容

4.1貝葉斯方法與k近鄰方法的優(yōu)缺點

  • 利用近鄰算法,很難量化分類的置信度。而基于概率的分類算法——貝葉斯算法卻不僅能夠分類而且能夠給出分類的概率,比如這個運動員有80%的概率是一名籃球運動員,這個病人接下來的5年內(nèi)有40%的概率會得糖尿病,未來24小時Las Cruces下雨的概率為10%,等等。

  • 近鄰方法被稱為惰性學習器(lazy learner)。之所以這樣叫是因為當給出訓練數(shù)據(jù)集時,這些分類器只是將它們保存或者說記錄下來。每次對實例進行分類時,這些分類器都會遍歷整個訓練數(shù)據(jù)集。如果訓練數(shù)據(jù)包含100000首歌曲的話,這些分類器會在每次對實例分類時都遍歷所有100000首歌曲。

  • 貝葉斯方法稱為勤快學習器(eager learner)。給定訓練集時,這些分類器會立即分析數(shù)據(jù)并構(gòu)建模型。當要對某個實例進行分類時,它會使用訓練得到的內(nèi)部模型。勤快學習器的分類速度往往比惰性分類器的分類速度更快。

    • 貝葉斯方法能夠進行概率分類,并且是勤快學習器,這兩點是貝葉斯方法的優(yōu)點

4.2貝葉斯方法的理解

樸素貝葉斯的具體公式如下:



概率記為P(A|B),即給定某些數(shù)據(jù)B條件下假設(shè)A的概率。例如:P(女|進入Frank Lloyd Wright學院)=0.86

上述概率讀成“給定為Frank Lloyd Wright學院學生的條件下該學生為女性的概率是0.86”。

案例1

下邊表格中我列出了一些人及其他們的筆記本電腦和手機的類型:


問題:
從該表格中隨機選擇一個人使用iPhone的概率是多少

在總共10個用戶中有5個用戶使用iPhone,因此有:
P(iPhone)=\frac{5}{10}=0.5
隨機選擇的一個使用Mac筆記本電腦的人使用iPhone的概率是多少?
P(iPhone|mac)=\frac{P(iPhone\cap mac)}{P(mac)}

  • 首先,有4個人同時使用Mac和iPhone,于是:P(iPhone\cap mac)=\frac{4}{10}=0.4
  • 而隨機選擇一個人使用Mac的概率為:
    P(mac)=\frac{6}{10}=0.6
  • 因此,在給定使用Mac的情況下使用iPhone的概率為:
    P(iPhone|mac)=\frac{0.4}{0.6}=0.667

這就是后驗概率的形式化定義。有時在具體實現(xiàn)時,可以只使用原始的計數(shù)值進行計算:
P(iPhone|mac)=\frac{同時使用mac和iPhone的人數(shù)}{使用mac的人數(shù)}
P(iPhone|mac)=\frac{4}{6}=0.667

習題練習:
擁有iPone的人擁有mac的概率,即P(mac|iPhone)是多少?

P(mac|iPhone)=\frac{P(iPhone\cap mac)}{P(iPhone)}=\frac{0.4}{0.5}=0.8

相關(guān)術(shù)語

  • P(h)即某個假設(shè)h為真的概率稱為h的先驗概率(prior probability)。
    在有任何證據(jù)之前,一個人擁有Mac的概率是0.6(這里的證據(jù)可能是知道這個人也有一部iPhone)。
  • P(h|d)稱為h的后驗概率(posterior probability),即觀察到數(shù)據(jù)d之后h的概率。
    例如,在觀察到某個人擁有iPhone之后,這個人擁有Mac的概率是多少?該概率也稱為條件概率(conditional probability)。
案例2

假設(shè)購物車軟件想確定是否要向你顯示一個日本綠茶的定向廣告,而它只會在你想買茶時將該廣告推送給你。

購物車系統(tǒng)從其他購物者身上積累了一個小規(guī)模的數(shù)據(jù)集(如下所示)。
P(D)為觀察到某訓練數(shù)據(jù)的概率。例如,我們知道郵政編碼為88005的概率為5/10或者說0.5。
P(88005)=0.5

P(D|h)為給定假設(shè)條件下得到某個數(shù)據(jù)值的概率。例如,當知道用戶購買綠茶條件下郵政編碼為88005的概率,即P(88005 | 綠茶)。


郵政編碼是美國所使用的郵政編碼

習題練習1:
用戶不購買綠茶的情況下郵政編碼為88005的概率是多少?

沒有購買綠茶的實例數(shù)目為5,其中2人居住地的郵政編碼為88005,于是有:
P(88005|非綠茶)=\frac{2}{5}=0.4

習題練習2:
在不知道其他信息的條件下,某個人的郵政編碼為88001的概率是多少?

數(shù)據(jù)庫中有10條記錄,其中只有3條記錄的郵政編碼為88001,因此P(88001)=0.3。

習題練習3:
如果知道某個人購買了綠茶,那么他居住的地方郵政編碼為88001的概率是多少?

購買綠茶的記錄數(shù)目為5,其中只有1條記錄的郵政編碼為88001,因此
P(88005|綠茶)=\frac{1}{5}=0.2

習題練習4:
如果知道某個人沒有購買綠茶,那么他居住的地方郵政編碼為88001的概率是多少?

有5條記錄沒有購買綠茶,其中2條的郵政編碼為88001,因此
P(88005|非綠茶)=\frac{2}{5}=0.4

4.4貝葉斯定理

貝葉斯定理(Bayes Theorem)刻畫了P(h)、P(h|D)、P(D)和P(D|h)之間的關(guān)系:
P(h|D)=\frac{P(D|h)P(h)}{P(D)}

貝葉斯定理是所有貝葉斯方法的基礎(chǔ)。在數(shù)據(jù)挖掘當中我們常常使用該定律在多個可能的選擇中做出決策:

  • 在給定證據(jù)的情況下,判定一個人從事的運動到底是體操、馬拉松還是籃球;
  • 在給定證據(jù)的情況下,判斷顧客是否會購買綠茶。為在多個選擇中進行決策,我們計算每種假設(shè)的概率。

在智能購物車系統(tǒng)中,只有認為顧客可能購買綠茶時才會將綠茶的廣告顯示給用戶。我們知道顧客居住地的郵政編碼為88005。

有兩個假設(shè)需要進行對比:

  • 該顧客會購買綠茶,計算P(購買綠茶|88005);
  • 該顧客不會購買綠茶,計算P(非購買綠茶|88005)。

我們會從上述假設(shè)中選擇概率最高的那個!

因此,如果在P(購買綠茶 | 88005)=0.6且P(非購買綠茶 | 88005)=0.4的情況下,該顧客更有可能購買綠茶,因此我們將廣告展示給他。

在分類任務(wù)中有多個可能的假設(shè):h1,h2,…,hn。這些假設(shè)是我們?nèi)蝿?wù)中的多個類別(比如,籃球運動員、馬拉松運動員、體操運動員,或者會得糖尿病、不會得糖尿病)。


一旦計算出所有的概率,我們會選擇其中概率最大的那條假設(shè)。該假設(shè)稱為最大后驗假設(shè)(the maximum a posteriori hypothesis)或記為
h_{MAP}
。

可以將上述計算最大后驗概率的描述轉(zhuǎn)換為如下公式:
h_{MAP}=argmax_{h\epsilon H}P(h|D)
其中,H是所有假設(shè)的集合。因此,h∈H意味著“對H中的每條假設(shè)”。整個公式意味著“對假設(shè)集合中的每條假設(shè)計算P(h|D)并從中選出概率最大的那條假設(shè)”。利用貝葉斯定律可以將上述公式轉(zhuǎn)
h_{MAP}=argmax_{h\epsilon H}\frac{P(P(D|h)P(h)}{P(D)}

你可能會注意到,對于所有的假設(shè)而言,分母中的P(D)都是相等的。因此,它們與假設(shè)是相互獨立的。如果某條特定的假設(shè)在上述公式下具有最高的概率,那么再將它除以P(D)仍然最大。如果我們的目標是計算具有最大概率假設(shè)的話,就可以對上述計算過程進行簡化,從而計算:
h_{MAP}=argmax_{h\epsilon H}{P(P(D|h)P(h)}

案例1
考慮在某個醫(yī)療領(lǐng)域中想確定病人是否患有某種特定的癌癥,可以進行一個簡單的血液測試(或者說血檢)來幫助決策。該測試是一個二值測試,其返回的結(jié)果為POS(陽性)或NEG(陰性)。當患者患有該病時,測試返回正確的陽性的概率為98%;當患者未患此病時,測試返回正確的陰性的概率為97%。
我們的假設(shè)為:

  • 病人患有該癌癥
  • 病人未患該癌癥

練習1:

假設(shè)Ann去看醫(yī)生,她進行了血液測試來檢查是否患癌癥,測試結(jié)果為陽性。

這看起來對Ann來說并不樂觀,因為畢竟測試的精確率為98%(特別地,如果患病返回陽性的可能性為98%)。

請使用貝葉斯定理確定Ann得病還是沒得病的可能性大。

已知條件如下:
P(cancer)=0.008
P(非cancer)=0.992
P(pos|cancer)=0.98
P(pos|非cancer)=0.03
P(NEG|cancer)=0.02
P(NEG|非cancer)=0.97

下面尋找如下最大后驗概率:
P(pos|cancer)P(cancer)=0.98*(0.008)=0.0078
P(pos|非cancer)P(非cancer)=0.03*(0.992)=0.0298
我們選擇h_{MAP}將病人分到未得病這一類中。

如果想知道精確的概率值的話,可以將這些值進行歸一化以便所有概率的和為1:
P(cancer|pos)=\frac{0.0078}{0.0078+0.0298}=0.21
于是,Ann有21%的患病概率。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容