1. 程式人生 > >資料探勘筆記——貝葉斯學習

資料探勘筆記——貝葉斯學習

貝葉斯決策理論是樸素貝葉斯分類、貝葉斯信念網路、EM演算法的基礎。

特點:(1)每個觀測值都可以提高/降低估計值 

          (2)先驗知識可以和觀測資料共同決定最終的假設概率

          (3)概率預測,可以提供假設好壞的度量

          (4)新例項可以結合多個假設的預測值,依概率加權

1.貝葉斯定理

   目的:學習到最優假設,即概率最大可能性最高的假設,這就是我們所說的最大後驗假設(MAP)。

     那麼概率如何計算?可以通過假設的先驗概率P(h),已知假設觀察資料的概率P(D|h),觀察資料本身的概率P(D),則通過觀察實驗後假設的後驗概率P(h|D)可以通過下面式子計算得到。

那麼得到的最優假設是

注:(1)後驗概率還可以理解為經過資料觀測後對假設概率的修正

    (2)對比極大似然估計(ML),相當於是假設每個假設的概率P(h)相等

例:兩個假設:患者得癌症,患者沒有得癌症;兩個測試結果:陽性,陰性;先驗知識如下:


已知一名患者的測試結果為陽性,那麼應該如何診斷?

答案

2.最小描述長度準則 Minimum Description Length Principle(也叫奧卡姆剃刀)

給定一組假設與資料集,我們需要努力找到能最大化壓縮資料集的假設。這個想法可以應用於所有歸納推理問題,特別在模型選擇時,解決過擬合問題。

其中第一項是假設的編碼長度,可以理解為模型複雜度;第二項可以理解為給定假設的前提下資料的編碼長度,可以理解為誤差。因為監督學習其實就是在假設空間中尋找最能代表資料特徵的假設,如果假設過於複雜(涉及多個屬性的析取或者合取)那麼描述假設的編碼長度就會很長;如果給定假設能對資料進行有效的壓縮,即資料的編碼長度小,則說明假設更適合該資料,誤差小。總結MDL就是尋找一條或多條誤差小且準確的假設。

3.貝葉斯最優分類

        如果有多個假設,如何進行分類?還是選擇概率最大的類別,但是需要考慮多個假設結果,這樣得到的結果更具有可信度。但是還存在一個問題就是假設空間很大的時候,計算代價很高,解決方法——抽樣(Gibbs演算法)


Gibbs演算法 ,就是隨機地在假設空間中選一個假設h,用h對對新例項進行分類,經人統計發現使用Gibbs取樣得到的分類誤差小於貝葉斯最優化誤差的二倍,但是計算量大大地降低了。除此之外還有一些其他的取樣方法,例如Markov chain Monte Carlo(MCMC)取樣

4.Bais-Variance權衡

   這個是機器學習中重要問題,一般認為Error=Bias+Variance。那麼這兩個量指的是什麼呢?舉個課上老師講的射擊的例子,Bias相當於人在瞄準目標的時候就瞄錯了,即模型偏差(與真實值相比);Variance相當於實際射擊中由於手抖等因素結果偏離瞄準的方向,即模型期望與模型實際的差距(方差),列出式子如下:


其中y為真實的函式y=f(x),給定的資料集{(x1,y1),(x2,y2)…},y=f(x)+,是預測結果,上式第一項為訓練資料中含有的隨機方差不可消除,第二項是模型的偏差,第三項是模型的方差

5.樸素貝葉斯分類器Naive Bayes Classify

        可以考慮如果一個數據集中例項的屬性有n個((a1,a2,a3…an)y)則計算最優的後驗概率需要統計每一種可能屬性的組合,這需要極大的訓練資料集,那麼可以考慮引入一條假設:每個屬性之間相互獨立,這樣根據獨立性可以做如下變換:,這樣只需要針對每個屬性單獨進行統計,大大減少了工作量,最後樸素貝葉斯分類器的模型為:


例:

求一條例項{Outlook=sunny,Temperature=cool,Humidity=high,Wind=strong}將其預測為yes還是no?

答案:


 但是NB有一個很大的問題,就是其中獨立性條件不容易滿足,並非所有的屬性均獨立,可能存在部分獨立,樸素貝葉斯使用範圍小,因此引入表達能力更強的貝葉斯信念網路

6.貝葉斯信念網路

貝葉斯信念網路是有向無環圖,結點代表屬性變數(包括可測或者隱含未知的屬性),邊代表條件獨立,另外每個結點還有一個概率表。如下圖所示

該網路中三大條件獨立


6.1.構建貝葉斯信念網路



    該例題的解釋是,若P(J|M)=P(J)不成立,則J與M不獨立,因此存在一條從M指向J的有向線;第四行P(B|A,J,M)=P(B|A)成立,那麼說明B與J、M獨立,因此不存在從M/J指向B的有向線。