文章原創(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,因此有:
隨機選擇的一個使用Mac筆記本電腦的人使用iPhone的概率是多少?
- 首先,有4個人同時使用Mac和iPhone,于是:
- 而隨機選擇一個人使用Mac的概率為:
- 因此,在給定使用Mac的情況下使用iPhone的概率為:
這就是后驗概率的形式化定義。有時在具體實現(xiàn)時,可以只使用原始的計數(shù)值進行計算:
習題練習:
擁有iPone的人擁有mac的概率,即P(mac|iPhone)是多少?
相關(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(D|h)為給定假設(shè)條件下得到某個數(shù)據(jù)值的概率。例如,當知道用戶購買綠茶條件下郵政編碼為88005的概率,即P(88005 | 綠茶)。

習題練習1:
用戶不購買綠茶的情況下郵政編碼為88005的概率是多少?
沒有購買綠茶的實例數(shù)目為5,其中2人居住地的郵政編碼為88005,于是有:
習題練習2:
在不知道其他信息的條件下,某個人的郵政編碼為88001的概率是多少?
數(shù)據(jù)庫中有10條記錄,其中只有3條記錄的郵政編碼為88001,因此P(88001)=0.3。
習題練習3:
如果知道某個人購買了綠茶,那么他居住的地方郵政編碼為88001的概率是多少?
購買綠茶的記錄數(shù)目為5,其中只有1條記錄的郵政編碼為88001,因此
習題練習4:
如果知道某個人沒有購買綠茶,那么他居住的地方郵政編碼為88001的概率是多少?
有5條記錄沒有購買綠茶,其中2條的郵政編碼為88001,因此
4.4貝葉斯定理
貝葉斯定理(Bayes Theorem)刻畫了P(h)、P(h|D)、P(D)和P(D|h)之間的關(guān)系:
貝葉斯定理是所有貝葉斯方法的基礎(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)或記為
可以將上述計算最大后驗概率的描述轉(zhuǎn)換為如下公式:
其中,H是所有假設(shè)的集合。因此,h∈H意味著“對H中的每條假設(shè)”。整個公式意味著“對假設(shè)集合中的每條假設(shè)計算P(h|D)并從中選出概率最大的那條假設(shè)”。利用貝葉斯定律可以將上述公式轉(zhuǎn)
你可能會注意到,對于所有的假設(shè)而言,分母中的P(D)都是相等的。因此,它們與假設(shè)是相互獨立的。如果某條特定的假設(shè)在上述公式下具有最高的概率,那么再將它除以P(D)仍然最大。如果我們的目標是計算具有最大概率假設(shè)的話,就可以對上述計算過程進行簡化,從而計算:
案例1
考慮在某個醫(yī)療領(lǐng)域中想確定病人是否患有某種特定的癌癥,可以進行一個簡單的血液測試(或者說血檢)來幫助決策。該測試是一個二值測試,其返回的結(jié)果為POS(陽性)或NEG(陰性)。當患者患有該病時,測試返回正確的陽性的概率為98%;當患者未患此病時,測試返回正確的陰性的概率為97%。
我們的假設(shè)為:
- 病人患有該癌癥
- 病人未患該癌癥

練習1:
假設(shè)Ann去看醫(yī)生,她進行了血液測試來檢查是否患癌癥,測試結(jié)果為陽性。
這看起來對Ann來說并不樂觀,因為畢竟測試的精確率為98%(特別地,如果患病返回陽性的可能性為98%)。
請使用貝葉斯定理確定Ann得病還是沒得病的可能性大。
已知條件如下:
下面尋找如下最大后驗概率:
我們選擇將病人分到未得病這一類中。
如果想知道精確的概率值的話,可以將這些值進行歸一化以便所有概率的和為1:
于是,Ann有21%的患病概率。