从朴素贝叶斯到贝叶斯网
回顧
在文章《樸素貝葉斯》中,小夕為大家介紹了樸素貝葉斯模型的基本知識,并且得出了樸素貝葉斯是利用聯(lián)合概率P(x1,x2,x3...xn,y)來確定某個樣本為某個類別的概率,進而利用最大后驗概率(MAP)來決策類別。也就是說,樸素貝葉斯的假設(shè)函數(shù)如下:
?
?
其中,假設(shè)有c個類別,則i=1,2,...,c。(補充:argmax大家應(yīng)該都熟悉了吧,意思就是返回使函數(shù)值最大的參數(shù),這里的函數(shù)即P(X,yi),參數(shù)即yi。)
?
其中,根據(jù)樸素貝葉斯的條件獨立性假設(shè),聯(lián)合概率被簡化為
?
我們想啊,樸素貝葉斯也是個模型,神經(jīng)網(wǎng)絡(luò)也是個模型。然而神經(jīng)網(wǎng)絡(luò)的粉絲們就給神經(jīng)網(wǎng)絡(luò)畫出了圖,還畫的辣么好看~而作為樸素貝葉斯粉絲的小夕當然也要給樸素貝葉斯模型畫個圖啊,把我家樸素貝葉斯描述的活靈活現(xiàn),漂漂亮亮嗒~
畫像
如圖,小夕將每一個隨機變量(即X中的每個維度xi和類別y)畫成一個圈圈,這個圈圈就代表這個隨機變量。
?
?
然后用一條有向邊來表示隨機變量之間的條件關(guān)系,比如P(x1|y),它表示“如果能觀測到y(tǒng),那么x1的概率分布函數(shù)就確定了(當然了,x1的概率分布函數(shù)就是x1取各個值時的概率,所組成的函數(shù))”。簡單來說就是給定(觀測到)y的取值,就知道了x1的情況。所以用箭頭表示這個關(guān)系:
?
?
所以,樸素貝葉斯的假設(shè)函數(shù)(準確講是假設(shè)函數(shù)的核心)即:
?
?
看~這個圖是不是把公式
非常形象的畫出來啦~
?
這個圖,我們暫且就定義為有向圖,反正根據(jù)小夕的說法,它描繪了“各個隨機變量之間的條件依賴關(guān)系”(看起來像推理關(guān)系)。
?
想一想這個圖還有沒有隱含含義呢?
?
機智的寶寶肯定想到了樸素貝葉斯的條件獨立性假設(shè)!沒錯!這個圖還反映了“每個隨機變量的獨立性關(guān)系”(看起來像每個隨機變量的爸爸媽媽是誰,子女是誰)。
?
看,有了獨立性關(guān)系這個解釋,是不是又把樸素貝葉斯的條件獨立性假設(shè)包含進來啦。回顧一下,樸素貝葉斯假設(shè)樣本的特征向量的各個維度之間是互相獨立的(即x1,x2,...,xn之間是相互獨立的),所以在這個圖中,它們之間沒有連線,表示相互獨立。
貝葉斯網(wǎng)
想一想,小夕已經(jīng)“吐槽”過了,樸素貝葉斯很樸素,因為它做了一個很不靠譜的輸入變量xi之間相互獨立的這個假設(shè),因此小夕在《NB與LR的戰(zhàn)爭》中還建議大家去做一個將X的維度原地復(fù)制成兩倍的實驗,以驗證這個獨立性假設(shè)的不靠譜之處。
?
想象一下,假設(shè)我們有一個預(yù)測某教授會不會給一個學(xué)生寫一封好的保研推薦信的機器學(xué)習(xí)任務(wù)。
在這個任務(wù)中,類別即兩個:會,或者不會,給這個學(xué)生寫推薦信。特征我們選取4個:學(xué)生的x1=智商,x2=學(xué)生在這個老師的課的考試分數(shù),x3=這個老師的課的考試難度,x4=這個學(xué)生的SAT(美國版高考)成績。
(該例子來自《probablistic graphicalmodel》Kolleretc.)
?
顯然啊,x1和x3聯(lián)合起來會很大程度上決定x2的值,x1會很大程度決定x4的值,而讓老師去寫推薦信的時候,老師只會看到你在他的課上考了多少分以及老師此刻的心情來決定是否給你寫個好推薦信。然而用樸素貝葉斯建模的話,顯然這些客觀存在的依賴關(guān)系全都被忽略掉了,可想而知往往結(jié)果很糟糕。
?
那么,我們可不可以保留這些客觀存在的依賴關(guān)系呢?
?
想想剛才小夕為樸素貝葉斯畫的圖~我們就按照這個畫圖規(guī)則把進化版的模型畫出來吧!
(x1=學(xué)生智商, intelligence;
x2=老師課的分數(shù), score;
x3=課程難度, difficulty;
x4=SAT分數(shù), SAT;
y=是否寫好推薦信, letter)
?
看!對不對呢~按照前面說的畫圖原則,這個圖是不是將客觀存在的信息都描繪進去啦~
?
看起來像這個樣子的模型叫什么呢?就是“貝葉斯網(wǎng)”!
?
也就是說:在貝葉斯網(wǎng)中,我們會建模樣本的特征向量X內(nèi)各個維度之間的依賴關(guān)系,并且隱含的包含了各個隨機變量(X的各個維度以及y)的獨立性關(guān)系(之所以說隱含,是因為在貝葉斯網(wǎng)絡(luò)中,好像無法像樸素貝葉斯一樣一眼看出變量之間的獨立性關(guān)系,比如觀測到x2時,你能知道此時y和x1是否是相互獨立的嗎?)
?
將這個模型訓(xùn)練完成之后,它看起來的樣子是這樣的(跟前面小夕畫的圖完全對應(yīng)的):
(直接摳的書上的圖\(//?//)\)
?
于是按照機器學(xué)習(xí)框架,一大波問題襲來了:
1、這個模型如何訓(xùn)練?
2、這個模型如何對新樣本分類?
?
除了這些一般化問題之外,還有前面提到的看似更復(fù)雜的問題:
貝葉斯網(wǎng)中隱含的各個隨機變量的獨立性關(guān)系如何描述?
?
小夕會在以后的文章中為大家逐步解開謎團~
?
ps:當然啦,這種畫法肯定不是小夕首先提出來的,有興趣的同學(xué)可以去看這篇論文(好像也不是這個論文的作者第一次提出來的):
?
Charles Sutton, Andrew McCallum: An Introduction toConditional Random Fields for Relational Learning.
?
除了這篇論文外,參考資料還有《probablistic graphical model》Koller etc.這本書有中文版~據(jù)說翻譯的不錯。不過要小心1000多頁的塊頭哦。
總結(jié)
以上是生活随笔為你收集整理的从朴素贝叶斯到贝叶斯网的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React Native工程中TSLin
- 下一篇: 一篇文章彻底搞懂“分布式事务”