用途
樸素貝葉斯算法琢融,主要用于對(duì)相互獨(dú)立的屬性的類變量的分類預(yù)測(cè)界牡。(各個(gè)屬性/特征之間完全沒(méi)有關(guān)系,叫做相互獨(dú)立吏奸,事實(shí)上這很難存在欢揖,但是這個(gè)方法依然比較有效。)
貝葉斯定理
大學(xué)的概率論里一般都學(xué)過(guò)這個(gè)貝葉斯定理奋蔚,簡(jiǎn)單闡述如下:
設(shè)有兩個(gè)相互獨(dú)立的隨機(jī)變量X她混,Y烈钞,則P(X=x,Y=y)是指X變量取x且Y變量取y的概率坤按,P(Y=y|X=x)指的是在X取x的情況下毯欣,Y取y的概率,叫做條件概率臭脓,根據(jù)以上說(shuō)法酗钞,有公式
變化一下可以得到:
其中P(X)就是X發(fā)生的概率,Y就是Y發(fā)生的概率来累,由于是相互獨(dú)立的砚作,可以不考慮其他因素,通常來(lái)說(shuō)嘹锁,求P(X)需要用到全概率公式葫录。
全概率公式
若事件,领猾,…構(gòu)成一個(gè)事件且都有正概率米同,則對(duì)任意一個(gè)事件Y,有如下公式成立:則有
先驗(yàn)概率和后驗(yàn)概率
如果X表示特征/屬性摔竿,Y表示類變量面粮,如果類變量和屬性之間的關(guān)系不確定,那么X和Y可以視作隨機(jī)變量继低,則為Y的后驗(yàn)概率熬苍,為Y的先驗(yàn)概率。
以圖為例:
我們需要根據(jù)身高郁季、體重冷溃、鞋碼判斷是男是女钱磅,則Y就是性別梦裂,X就是(身高、體重盖淡、鞋碼)這一組特征年柠。如果我們要先算是男的概率,則先驗(yàn)概率就是褪迟,而后驗(yàn)概率則是我們未來(lái)將要輸入的一組特征已知的情況下冗恨,Y=男的概率(要預(yù)測(cè)的分類的概率),這樣的話味赃,根據(jù)貝葉斯定理掀抹,我們就可以用來(lái)求出傲武,這就是貝葉斯定理在預(yù)測(cè)中的應(yīng)用蓉驹。
樸素貝葉斯
假設(shè)Y變量取y值時(shí)概率為P(Y=y),X中的各個(gè)特征相互獨(dú)立揪利,則有公式如下:
其中每個(gè)特征集X包含d個(gè)特征态兴。
根據(jù)公式,對(duì)比上面的圖來(lái)說(shuō)疟位,如果性別是男的時(shí)候瞻润,身高是高,體重是重甜刻,鞋碼為大的概率就等于
性別男時(shí)身高為高的概率性別男時(shí)體重為重的概率性別男時(shí)鞋碼為大的概率绍撞。
有了這個(gè)公式,結(jié)合之前的貝葉斯公式得院,就能得到給定一組特征值的情況下楚午, 這組特征屬于什么樣的類別的概率公式:
其中的X代表一組特征,代表一組中的一個(gè)尿招。
對(duì)于所有的Y來(lái)說(shuō)矾柜,P(X)時(shí)固定的,因此只要找出使分子最大的類別就可以判斷預(yù)測(cè)的類別了就谜。
的概率分為兩種情況來(lái)區(qū)別怪蔑,一種是對(duì)分類特征的概率確定,一種是連續(xù)特征的概率確定丧荐。
接下來(lái)借用《數(shù)據(jù)挖掘?qū)д摗飞系睦觼?lái)說(shuō)明概率確定的方式缆瓣。
Tid | 有房 | 婚姻狀況 | 年收入 | 拖欠貸款 |
---|---|---|---|---|
1 | 是 | 單身 | 125K | 否 |
2 | 否 | 已婚 | 100K | 否 |
3 | 否 | 單身 | 70K | 否 |
4 | 是 | 已婚 | 120K | 否 |
5 | 否 | 離婚 | 95K | 是 |
6 | 否 | 已婚 | 60K | 否 |
7 | 是 | 離婚 | 220K | 否 |
8 | 否 | 單身 | 85K | 是 |
9 | 否 | 已婚 | 75K | 否 |
10 | 否 | 單身 | 90K | 是 |
對(duì)分類特征的概率確定
對(duì)于分類的特征,可以首先找到訓(xùn)練集中為y值的個(gè)數(shù)虹统,然后根據(jù)不同的特征類型占這些個(gè)數(shù)中的比例作為分類特征的概率弓坞。
例如上表中求不拖欠貸款的情況下,有房的人數(shù)就是车荔,不拖欠貸款的有7個(gè)渡冻,其中有房的是3個(gè)。以此類推可以求出婚姻狀況的條件概率忧便。
年收入是連續(xù)特征族吻,需要區(qū)分對(duì)待。
對(duì)連續(xù)特征的概率確定
-
把每個(gè)屬性離散化珠增,然后每個(gè)值落入哪個(gè)離散區(qū)間超歌,就用該區(qū)間替換值,離散化的方法有:
- 非監(jiān)督離散化
· 等寬
· 等頻率
· 等深
· 聚類 - 監(jiān)督離散化
·基于信息熵
這樣的話蒂教,根據(jù)離散化區(qū)間就可以按照對(duì)分類特征的概率確定方式來(lái)求條件概率巍举,估計(jì)誤差取決于離散化的方式和區(qū)間的數(shù)目,如果每個(gè)區(qū)間中的數(shù)據(jù)太少凝垛,則做不出可靠的預(yù)測(cè)懊悯,如果區(qū)間太少简烘,則預(yù)測(cè)可能不準(zhǔn)確。
- 非監(jiān)督離散化
可以假設(shè)連續(xù)特征符合某種分布定枷,然后使用數(shù)據(jù)估計(jì)分布的參數(shù)孤澎,一般采用正態(tài)分布(高斯分布)來(lái)表示連續(xù)屬性的條件概率分布,該分布有兩個(gè)參數(shù)欠窒,均值和方差覆旭。對(duì)于每個(gè)類,特征的條件概率表示為:
可以用下所有訓(xùn)練數(shù)據(jù)關(guān)于的樣均值來(lái)估計(jì)岖妄,同理用這些訓(xùn)練數(shù)據(jù)的標(biāo)準(zhǔn)差來(lái)估計(jì)型将。以上面表格為例:
需要注意的是,總體方差和樣本方差的差距荐虐,樣本方差分母是n-1七兜,總體是n,這就是7(6)的原因福扬。
另外腕铸,這些樣本數(shù)據(jù)都是Y=否的數(shù)據(jù),需要注意铛碑。
根據(jù)上述算法狠裹,如果要求沒(méi)有拖欠貸款情況下,年收入是120K的概率汽烦,就是
例子
如果要預(yù)測(cè)測(cè)試記錄X=(有房=否涛菠,婚姻狀況=已婚,年收入=120K)這個(gè)樣本是否可能拖欠貸款撇吞,則需要計(jì)算兩個(gè)概率:和
則有:
由于是不變的(對(duì)于Y=是和Y=否)俗冻,則只考慮上面的分子即可,那么拋開(kāi)P(X)不看牍颈,則有:
其中7/10就是P(Y=否)迄薄,α是P(X)
同理可得P(Y=是|X) = 1 * 0 * 1.2e-1 = 0.
這樣一比較,那么分類就是否颂砸。
樸素貝葉斯的m估計(jì)
看這個(gè)例子中噪奄,如果有一個(gè)特征的條件概率是0死姚,那么整體的概率就是0人乓,從而后驗(yàn)概率也一定是0,那么如果訓(xùn)練集樣本太少都毒,這種方法就不是很準(zhǔn)確了色罚。
如果當(dāng)訓(xùn)練集樣本個(gè)數(shù)比特征還少的時(shí)候,就無(wú)法分類某些測(cè)試集了账劲,因此引入m估計(jì)(m-estimate)來(lái)估計(jì)條件概率戳护,公式如下:
其中金抡,n是類中的樣本總數(shù),是類中取的樣本數(shù)腌且,是稱為等價(jià)樣本大小的參數(shù)梗肝,是用戶指定的參數(shù),p可以看作在類中觀察特征值的先驗(yàn)概率铺董。等價(jià)樣本大小決定先驗(yàn)概率和觀測(cè)概率之間的平衡巫击。
引入m估計(jì)的根本原因是樣本數(shù)量過(guò)小。所以為了避免此問(wèn)題精续,最好的方法是等效的擴(kuò)大樣本的數(shù)量坝锰,即在為觀察樣本添加m個(gè)等效的樣本,所以要在該類別中增加的等效的類別的數(shù)量就是等效樣本數(shù)m乘以先驗(yàn)估計(jì)p重付。
在之前的例子中顷级,設(shè)m=3,p=1/3(m可以設(shè)置為特征數(shù)量,p則是倒數(shù))确垫。則:
從而可以重新計(jì)算。從而解決了某個(gè)條件概率為0的問(wèn)題删掀。
樸素貝葉斯算法的特征
面對(duì)相互獨(dú)立的特征比較適用恨豁,如果有相關(guān)的特征,則會(huì)降低其性能爬迟。