積跬步以致千里,積怠惰以致深淵
注:本篇文章在整理時(shí)主要參考了 周志華 的《機(jī)器學(xué)習(xí)》。
主要內(nèi)容
通過某對(duì)象的先驗(yàn)概率贞岭,利用貝葉斯公式計(jì)算出其后驗(yàn)概率,即該對(duì)象屬于某一類的概率奖蔓,選擇具有最大后驗(yàn)概率的類作為該對(duì)象所屬的類以蕴。
先驗(yàn)概率:指根據(jù)以往經(jīng)驗(yàn)和分析得到的概率;
后驗(yàn)概率:通過調(diào)查或其它方式獲取新的附加信息祭刚,利用貝葉斯公式對(duì)先驗(yàn)概率進(jìn)行修正牌捷,而后得到的概率。
舉例說明:想象有 A涡驮、B暗甥、C 三個(gè)不透明的碗倒扣在桌面上,已知其中有(且僅有)一個(gè)瓷碗下面蓋住一個(gè)雞蛋捉捅。此時(shí)請(qǐng)問撤防,雞蛋在 A 碗下面的概率是多少?答曰 1/3棒口。緊接著寄月,有人揭開了 C 碗辜膝,發(fā)現(xiàn) C 碗下面沒有蛋。此時(shí)再問:雞蛋在 A 碗下面的概率是多少漾肮?答曰 1/2厂抖。注意,由于有“揭開C碗發(fā)現(xiàn)雞蛋不在C碗下面”這個(gè)新情況克懊,對(duì)于“雞蛋在 A 碗下面”這件事的主觀概率由原來的 1/3 上升到了1/2忱辅。這里的先驗(yàn)概率就是 1/3,后驗(yàn)概率是 1/2谭溉。
也就是說“先”和“后”是相對(duì)于引起主觀概率變化的那個(gè)新情況而言的耕蝉。
貝葉斯決策
假設(shè) n維特征向量:x=<x1,x2,...,xn> ;類別標(biāo)簽集合:y∈{c1,c2,...,ck} ;特征向量x屬于類別ci的概率:P(y=ci | x)。
我們決策的目標(biāo)是最小化分類錯(cuò)誤率夜只,貝葉斯最優(yōu)分類器要對(duì)每個(gè)樣本 x,選擇能使后驗(yàn)概率 P( y=ci | x )最大的類別 c 標(biāo)記蒜魄∪雍ィ可在現(xiàn)實(shí)任務(wù)中后驗(yàn)概率通常難以直接獲得,依據(jù)貝葉斯定理 P( y=ci | x ) 可寫為:
將求后驗(yàn)概率P(y=ci | x)的問題轉(zhuǎn)變?yōu)榍笙闰?yàn)概率P(y=ci)和條件概率P(x | y=ci)谈为。
P( y=ci )
類先驗(yàn)概率 P( y=ci ) 表達(dá)了樣本空間中各類樣本所占的比例旅挤,根據(jù)大數(shù)定律,當(dāng)訓(xùn)練集包含充足的獨(dú)立同分布樣本時(shí)伞鲫,P(c) 可通過各類樣本出現(xiàn)的頻率來進(jìn)行估計(jì)粘茄。
P( x | y=ci )
因?yàn)閷?duì)于類條件概率 P( x | y=ci ) 來說,由于它涉及關(guān)于 x 所有屬性的聯(lián)合概率秕脓,直接根據(jù)樣本出現(xiàn)的頻率來估計(jì)將會(huì)遇到嚴(yán)重的困難(想象一下柒瓣,d 個(gè)屬性就會(huì)有 2 的 d 次方種可能的取值,在現(xiàn)實(shí)中吠架,這個(gè)種類數(shù)往往大于訓(xùn)練樣本)芙贫。
極大似然估計(jì)
針對(duì)這種情況,類條件概率的一種常用策略是先假定其具有某種確定的概率分布形式傍药,再基于訓(xùn)練樣本對(duì)概率分布的參數(shù)進(jìn)行估計(jì)磺平。實(shí)際上,概率分布的訓(xùn)練過程就是參數(shù)估計(jì)(parameter estimation)過程拐辽。對(duì)于條件概率 P( x | y=ci )拣挪,我們可以采用極大似然估計(jì)來根據(jù)數(shù)據(jù)采樣來估計(jì)概率分布參數(shù)。對(duì)參數(shù)進(jìn)行極大似然估計(jì)俱诸,就是試圖在參數(shù)所有可能的取值中菠劝,找到一個(gè)能使數(shù)據(jù)出現(xiàn)的“可能性”最大的值。
需注意的是乙埃,這種參數(shù)化的方法雖然能使類條件概率估計(jì)變得相對(duì)簡(jiǎn)單闸英,但估計(jì)結(jié)果的準(zhǔn)確性嚴(yán)重依賴于所假設(shè)的概率分布形式是否符合潛在的真實(shí)數(shù)據(jù)分布锯岖。
極大似然估計(jì)是對(duì)類條件概率的分布形式進(jìn)行假設(shè),然后通過計(jì)算來對(duì)概率分布參數(shù)進(jìn)行近似的方法甫何,其是在對(duì)聯(lián)合概率上的求解出吹。但是,我們要對(duì)數(shù)據(jù)進(jìn)行準(zhǔn)確分類是否真的需要進(jìn)行這么復(fù)雜的求解過程呢辙喂?本章針對(duì)樣本屬性間的獨(dú)立性不同介紹了不同的使用貝葉斯決策論構(gòu)建分類器的方法捶牢,下邊我將一一進(jìn)行介紹。
樸素貝葉斯分類器
樸素貝葉斯分類器(naive Bayes classifier)是采用了“屬性條件獨(dú)立性假設(shè)”的一種分類器:其通過對(duì)已知類別巍耗,假設(shè)所有屬性相互獨(dú)立秋麸,來避開聯(lián)合概率這個(gè)障礙。因?yàn)檫@個(gè)假設(shè)在大多數(shù)情況都是不成立的炬太,這也正是“樸素(naive)”的來源灸蟆。(假設(shè)我們需要胸圍、腰圍亲族、臀圍來描述一個(gè)人的特征炒考,很顯然特征屬性之間不是獨(dú)立的)在屬性條件獨(dú)立的假設(shè)基礎(chǔ)下,類條件概率可表示為:
其中 d 為屬性數(shù)目霎迫,xi 為 x 在第 i 個(gè)屬性上的取值斋枢。
顯然,樸素貝葉斯分類器的訓(xùn)練過程就是基于訓(xùn)練集 D 來估計(jì)類先驗(yàn)概率 P(c)知给, 并為每個(gè)屬性估計(jì)條件概率 P( xi | c )瓤帚。
對(duì)離散屬性而言,令 Dc 表示數(shù)據(jù)集在類別 c 上的樣本數(shù)涩赢,Dc,xi 表示 Dc 中在第 i 個(gè)屬性上取值為 xi 的樣本組成的集合戈次,?則條件概率 P( xi | c) 可估計(jì)為。
對(duì)連續(xù)屬性可考慮概率密度函數(shù)谒主,假定p(xi|c)~N(μc,i, σ^2c,i)贬派,其中μc,i和σ^2c,i分別是第c類樣本在第i個(gè)屬性上取值的均值和方差酒请,則:
拉普拉斯修正
若某個(gè)屬性值在訓(xùn)練集中沒有與某個(gè)類同時(shí)出現(xiàn)過甫恩,則直接進(jìn)行概率估計(jì)和判別連乘式計(jì)算出的概率值為零(即慢哈,當(dāng)其中任意一個(gè)屬性的概率 P( xi | c ) 為0時(shí),會(huì)導(dǎo)致總的類條件概率 P( x | c ) 為0)观游。因此搂捧,無論該樣本的其他屬性是什么,哪怕在其他屬性上明顯是“是”懂缕,分類結(jié)果都將是“否”允跑,這顯然不太合理。
為了避免其他屬性攜帶的信息被訓(xùn)練集中未出現(xiàn)的屬性值“抹去”,在估計(jì)概率值時(shí)通常要進(jìn)行“平滑(smoothing)”聋丝,常用“拉普拉斯修正(Laplacian correction)”索烹。具體來說,另N表示訓(xùn)練集D中可能的類別數(shù)弱睦,Ni表示第i個(gè)屬性可能的取值數(shù)百姓,則:
拉普拉斯修正避免了因訓(xùn)練集樣本不充分而導(dǎo)致概率估值為零的問題,并且在訓(xùn)練集變大時(shí)况木,修正過程所引入的先驗(yàn)(prior)的影響也會(huì)逐漸變得可忽略垒拢,使得估值漸趨向于實(shí)際概率值。
上式的計(jì)算結(jié)果通過簡(jiǎn)單的統(tǒng)計(jì)工作即可得到火惊,這大大的降低了訓(xùn)練的難度求类。
半樸素貝葉斯分類器
樸素貝葉斯分類器采用了屬性條件獨(dú)立性假設(shè),但在現(xiàn)實(shí)任務(wù)中屹耐,這個(gè)假設(shè)往往很難成立尸疆。于是嘗試對(duì)條件獨(dú)立性假設(shè)進(jìn)行一定程度的放松,產(chǎn)生了一類成為“半樸素貝葉斯分類器(semi-naive Bayes classifiers)”的學(xué)習(xí)方法惶岭。
基本思想:適當(dāng)考慮一部分屬性間的相互依賴信息仓技,從而既不需進(jìn)行完全聯(lián)合概率計(jì)算,又不至于徹底忽略了比較強(qiáng)的屬性以來關(guān)系俗他。
獨(dú)依賴估計(jì)(One-Dependent Estimator,簡(jiǎn)稱ODE)是半樸素分類器最常用的一種策略阔逼,顧名思義兆衅,所謂“獨(dú)依賴”就是假設(shè)每個(gè)屬性在類別之外最多僅依賴于一個(gè)其它屬性。這時(shí)類條件概率可轉(zhuǎn)化為:
P( x | c ) = P( x1 | c, pa1 ) * P( x2 | c, pa2 ) * ... * P( xd | c, pad )
其中 pai 為屬性 xi 所依賴的屬性嗜浮,稱為 xi 的父屬性羡亩。對(duì)每個(gè)屬性,若其父屬性已知危融,則可采用類似式(3)的辦法來估計(jì)概率值 P( xi | c, pai )畏铆。
于是,問題的關(guān)鍵就轉(zhuǎn)化為如何確定每個(gè)屬性的父屬性吉殃,不同的做法產(chǎn)生不同的獨(dú)依賴分類器辞居。
[1]所有屬性都依賴于同一個(gè)屬性:SPODE(Super-Parent ODE)
[2]最大帶權(quán)生成樹算法基礎(chǔ)上構(gòu)建依賴:TAN(Tree Augmented naive Bayes)
[3]對(duì)每個(gè)屬性構(gòu)建SPODE,并將結(jié)果集成起來作為最終結(jié)果:AODE(Averaged One-Dependent Estimator)
總結(jié)
1)貝葉斯分類器是基于貝葉斯決策論的基礎(chǔ)上構(gòu)建的蛋勺,目的是對(duì)每個(gè)樣本 x瓦灶,選擇能使后驗(yàn)概率 P( c | x )最大的類別標(biāo)記
2)現(xiàn)實(shí)中?P( c | x ) 較難獲得,所以將求后驗(yàn)概率 P( c | x ) 的問題轉(zhuǎn)變?yōu)榍笙闰?yàn)概率 P( c ) 和條件概率 P( x | c )
3)根據(jù)大數(shù)定律抱完,P( c ) 可通過各類樣本出現(xiàn)的頻率來進(jìn)行估計(jì)
4)在完全遵守“屬性條件獨(dú)立性假設(shè)”時(shí)贼陶,類條件概率 P( x | c ) 可通過每個(gè)屬性單獨(dú)的條件概率的乘積得到
5)在適當(dāng)放松“屬性條件獨(dú)立性假設(shè)”時(shí),類條件概率 P( x | c ) 可通過每個(gè)屬性在其父結(jié)點(diǎn)下的條件概率的乘積得到
6)在不清楚屬性的條件獨(dú)立性情況時(shí),貝葉斯網(wǎng)是一個(gè)有效的算法碉怔,能對(duì)屬性之間的依賴關(guān)系進(jìn)行計(jì)算和評(píng)估烘贴,以找出一個(gè)最佳的分類模型
7)貝葉斯網(wǎng)學(xué)習(xí)的首要任務(wù)就是根據(jù)訓(xùn)練數(shù)據(jù)集來找出結(jié)構(gòu)最“恰當(dāng)”的貝葉斯網(wǎng)結(jié)構(gòu)
8)拉普拉斯修正實(shí)質(zhì)上假設(shè)了屬性值與類別均勻分布,這是在樸素貝葉斯學(xué)習(xí)過程中額外引入的關(guān)于數(shù)據(jù)的先驗(yàn)撮胧。
9)“平滑”處理是解決零這個(gè)特殊值對(duì)結(jié)果不利影響的一個(gè)好策略
10)當(dāng)遇到不完整的訓(xùn)練樣本時(shí)桨踪,可通過使用EM算法對(duì)模型參數(shù)進(jìn)行估計(jì)來解決