分类算法之贝叶斯(Bayes)分类器
摘要:旁聽(tīng)了清華大學(xué)王建勇老師的 數(shù)據(jù)挖掘:理論與算法 的課,講的還是挺細(xì)的,好記性不如爛筆頭,在此記錄自己的學(xué)習(xí)內(nèi)容,方便以后復(fù)習(xí)。
?
一:貝葉斯分類器簡(jiǎn)介
1)貝葉斯分類器是一種基于統(tǒng)計(jì)的分類器,它根據(jù)給定樣本屬于某一個(gè)具體類的概率來(lái)對(duì)其進(jìn)行分類。
2)貝葉斯分類器的理論基礎(chǔ)是貝葉斯理論。
3)貝葉斯分類器的一種簡(jiǎn)單形式是樸素貝葉斯分類器,跟隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)等分類器都有可比的性能。
4)貝葉斯分類器是一種增量型的分類器。
?
二:貝葉斯理論
第一次接觸貝葉斯還是本科學(xué)概率論的時(shí)候,那時(shí)候也就只知道做題目,沒(méi)想到現(xiàn)在還能夠在工作和學(xué)習(xí)中用到它,先復(fù)習(xí)下相關(guān)的基礎(chǔ)概率公式吧:
1) 乘法定理:設(shè)P(B)>0,則有P(AB) = P(A|B)P(B).
2) 全概率公式:設(shè)試驗(yàn)E的樣本空間為S,A為E的事件,若事件組B1,B2,…,Bn為S的一個(gè)劃分,且P(Bi)> 0(i=1,2,…,n),則有
P(A) = P(A|B1)P(B1) + P(A|B2)P(B2) + …+ P(A|Bn)P(Bn).
??? 注:在很多事件問(wèn)題中P(A)不容易算出來(lái),但是可以很容易的找到S的一個(gè)劃分:B1,B2,…,Bn,并且P(Bi)和P(A|Bi)為已知或者容易算出,那么就可以根據(jù)上式求出P(A).
3)貝葉斯公式:設(shè)試驗(yàn)E的樣本空間為S,A為E的事件,B1,B2…,Bn為S的一個(gè)劃分,且P(A)>0,P(Bi)>0(i=1,2,…,n),則有
P(Bi|A) = P(ABi)/P(A) = P(A|Bi)P(Bi)/∑P(A|Bi)P(Bi),i=1,2,…n.
舉例:
X是一個(gè)待分類的數(shù)據(jù)元組,由n個(gè)屬性描述;H是一個(gè)假設(shè),例如X屬于類C。對(duì)于分類問(wèn)題,我們想計(jì)算出概率P(H|X):即已知元組X的每個(gè)元素對(duì)應(yīng)的屬性值,求出X屬于C類的概率。
例如:X的屬性值為:age=25,income=$5000,H對(duì)應(yīng)的假設(shè)是:X會(huì)買電腦。
P(H|X):意思是在已知某客戶信息age=25,income=$5000的條件下,該客戶會(huì)買電腦的概率。
P(H):意思是對(duì)于任何給定的客戶信息,該客戶會(huì)購(gòu)買電腦的概率。
P(X|H):意思是已知客戶會(huì)買電腦,那么該客戶的age=25,income=$5000的概率。
P(X):意思是在我們所有的客戶信息集合中,客戶的age=25,income=$5000的概率。
所以:P(H|X) = P(X|H)P(H)/P(X)
三:樸素貝葉斯分類器
樸素貝葉斯分類器的工作流程如下:
1:設(shè)D為樣本訓(xùn)練集;每一個(gè)樣本X是由n個(gè)屬性值組成的,X=(x1,x2,…xn);對(duì)應(yīng)的屬性集為A1,A2,A3…An;
2: 假設(shè)有m個(gè)類標(biāo)簽:C1,C2,…Cm.對(duì)于某待分類元X,樸素分類器會(huì)把P(Ci|X)(i=1,2,…m)值最大的那個(gè)類標(biāo)簽Ci認(rèn)為是X的類別,即樸素貝葉斯分類器預(yù)測(cè)出X屬于類Ci,當(dāng)且僅當(dāng)P(Ci|X)>P(Cj|X) (1≤j≤m,j≠i).因此我們的目標(biāo)就是找出P(Ci|X)中的最大值。
P(Ci|X) = P(X|Ci)P(Ci)/P(X)
對(duì)于給定的樣本集,P(X)是常數(shù),跟某個(gè)具體的類標(biāo)簽沒(méi)有關(guān)聯(lián),所以要想找出P(Ci|X)的最大值也就是找出P(X|Ci)P(Ci)的最大值:
如果我們不知道P(Ci)的值,我們可以假設(shè)P(C1)=P(C2)=…=P(Cm),當(dāng)然P(Ci)可以通過(guò)估計(jì)值來(lái)代替,P(Ci)=|Ci, D| /|D|
其中|D|為樣本總數(shù),|Ci,D|為D中屬于類Ci的樣本數(shù)。
3:如果n的值特別大,也就是說(shuō)樣本元有很多屬性,那么對(duì)于P(X|Ci)的計(jì)算會(huì)相當(dāng)復(fù)雜。所以在樸素貝葉斯中進(jìn)行了一個(gè)假設(shè):即對(duì)于樣本元中的每個(gè)屬性,它們都互相條件獨(dú)立。
所以有:
對(duì)于P(xi|Ci)我們可以從訓(xùn)練集中算出來(lái),其中xi代表在某個(gè)具體樣本中對(duì)應(yīng)屬性Ai的值。
P(xi|Ci)的計(jì)算分為兩種情況:
1):如果屬性Ai的值是分類變量(離散變量),那么P(xi|Ci)等于訓(xùn)練樣本空間|D|中,屬于類Ci并且對(duì)應(yīng)屬性Ai的值等于xi的數(shù)目除以樣本空間中屬于類Ci的樣本數(shù)目。
2):如果Ai的值是連續(xù)型的變量,則P(xi|Ci)的計(jì)算會(huì)根據(jù)高斯分布來(lái)計(jì)算,設(shè)其中均值為μ,標(biāo)準(zhǔn)方差為σ:
4:為了預(yù)測(cè)X所屬的類標(biāo)簽,我們根據(jù)前面的步驟可以算出每一個(gè)類標(biāo)簽Ci對(duì)應(yīng)的P(X|Ci)P(Ci)值,當(dāng)某一個(gè)類標(biāo)簽Ci有:
P(X|Ci)P(Ci)>P(X|Cj)P(Cj) 對(duì)于任意j:?? 1≤j≤m,j≠i
則我們認(rèn)為X屬于類標(biāo)簽Ci.
?
四:具體例子分析
這里我們還是用 分類算法之決策樹(shù) 中的樣本數(shù)據(jù)來(lái)進(jìn)行舉例:
樣本空間D如下表所示:其中 |D|=14.
屬性集合為A{age,come,student,credit_rating} 對(duì)應(yīng)的屬性個(gè)數(shù)n=4.
分類屬性為:buys_computer,值為{yes,no}? 即C1:buys_computer = yes;C2: buys_computer = no; 分類標(biāo)簽個(gè)數(shù) m = 2;
有一待分類的數(shù)據(jù)元X={age<=30,income=medium,student=yes,credit_rating=fail}.
則根據(jù)樸素貝葉斯分類器的工作流程我們可以計(jì)算出:
P(Ci):
P(buys_computer = “yes”) = 9/14 = 0.643
P(buys_computer = “no”) = 5/14= 0.357
P(xi|Ci):
P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222
P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6
P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444
P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4
P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667
P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2
P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667
P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4
P(X|Ci):
P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044
P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019
P(X|Ci)*P(Ci) :
P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028
P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007
因?yàn)?.28>0.007所以X屬于類:buys_computer = “yes”.
五:樸素貝葉斯存在的問(wèn)題
1:零概率問(wèn)題
在上述的例子中假設(shè)在樣本數(shù)據(jù)集中income = medium的樣本數(shù)為0,那么P(income = “medium” | buys_computer = “yes”) 和
P(income = “medium” | buys_computer = “no”) 都將為0,那么在計(jì)算P(X|Ci)*P(Ci)時(shí)結(jié)果也為0,這樣就不好決定X是屬于哪一個(gè)類。
對(duì)于這樣的問(wèn)題的一個(gè)解決方案叫做:Laplacian correction或者Laplacian estimator,是以一位法國(guó)數(shù)學(xué)家Pierre Laplace名字命名的。
它的具體做法就是給相應(yīng)的屬性的不同值數(shù)目都加1:
假設(shè):有1000個(gè)訓(xùn)練樣本,其中income=low的數(shù)目為10,income=medium的數(shù)目為0,income=high的數(shù)目為990,則為了避免零概率問(wèn)題,我們給每一種income的數(shù)目加1,及最后結(jié)果為 income =medium的數(shù)目為1,low的數(shù)目為11,high的數(shù)目為991.這樣也就避免了零概率問(wèn)題。
2:準(zhǔn)確度問(wèn)題
樸素貝葉斯分類器是基于樣本屬性條件獨(dú)立的假設(shè)的前提下的,但是實(shí)際情況可能并不成立,這樣也就缺失準(zhǔn)確性了.
解決樸素貝葉斯準(zhǔn)確性問(wèn)題提出的一種方法叫做:貝葉斯網(wǎng)絡(luò)(Bayesian Belief Networks ).這個(gè)方法留著下次學(xué)習(xí)。
轉(zhuǎn)載于:https://www.cnblogs.com/justcxtoworld/p/3451571.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的分类算法之贝叶斯(Bayes)分类器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SMTP 错误代码大全
- 下一篇: 做自己的伯乐