EM演算法理解 從樸素貝葉斯角度出發

2021-07-14 13:58:10 字數 1696 閱讀 5035

參考資料:

其實雖然說看了一天的em演算法,但是當初是沒有理解這個問題的,但是今天看完了樸素貝葉斯,突然之間就理解了這個演算法。

也許是個巧合。

先來回顧一下樸素貝葉斯:

類別的概率

p(y1)

p(y2)

特徵\類別

y1y2

a1distribution(a1|y1)

distribution(a1|y2)

a2distribution(a2|y1)

distribution(a2|y2)

a3distribution(a3|y1)

distribution(a3|y2)

a4distribution(a4|y1)

distribution(a4|y2)

對於樸素貝葉斯來說,關鍵的一點就是,類別是知道的,於是可以很容易的就計算出來不同的類別對應的不同特徵的分布情況,於是可以推斷出來未知樣本的類別。

但是和em演算法的乙個差別就是,em演算法實際上是不知道類別的,類別這一維度需要自己去構建。。

於是,在樸素貝葉斯的基礎上,我們需要調換兩個維度。

按照我畫的樸素貝葉斯的**來看,可以看出來的是橫軸是類別,這在em演算法中是不變的。樸素貝葉斯中縱軸是特徵的編號,每乙個元素是根據樣本來進行的分布的計算。縱軸在em演算法中就變成了不同的樣本,而每乙個元素就是對應的乙個概率的計算。這就意味著,其實原本**中包含的三個維度——類別、特徵、樣本只不過是從不同的角度去觀察,然後壓縮成了二維。

壓縮了樣本這一維度,剩下的特徵、類別構成了樸素貝葉斯。

壓縮了特徵這一維度,剩下的樣本、類別構成了em演算法。

所以其實我認為二者還是有內在聯絡的。

em演算法矩陣:

類別的概率

p(y1)

p(y2)

特徵\類別

y1y2

x1prob(x1|y1)

prob(x1|y2)

x2prob(x2|y1)

prob(x2|y2)

x3prob(x3|y1)

prob(x3|y2)

x4prob(x4|y1)

prob(x4|y2)

當然,計算prob或者說計算乙個概率通常都是有自己的計算方法的,這個可以是自己定義的函式,畢竟樣本的特徵可以隨便表示,而矩陣中需要表示的只是最後的計算結果。換句話說prob(xi|yj) = f(xi,yj)這個f函式是可以任意表示的。

em演算法其實就是乙個迭代的過程。(請先閱讀reference[1])。

目標——theta,也就是對於不同的樣本進行自動分類的乙個結果,可以看作是這個矩陣。

隱變數——類別,或者說是聚類中心,其實我認為都是沒什麼問題的,就是為了增強區分性的乙個中心點y。

e步驟是計算最大期望,也就是在當前的theta分布的情況下,什麼樣的乙個y的分布能夠最好的擬合樣本,根據jensen不等式(看reference[1]),可以看出來,如果是單個元素,只要y和xi的分布相同即可,但是從整體的角度考慮,還是需要和整體的樣本分佈相同。

m步驟就是重新計算矩陣的分布。

那麼為什麼說e步驟是建立下界呢?因為當y的分布基本和資料的整體分布相同的時候,好了,我的最大擬合的目標已經達成。

為什麼說m步驟是優化下界呢?如果theta分布不變,好,y就完成了。但是因為上乙個計算的y是在上乙個theta下效果最好。但是由於整體的當前的最好分布變了,使得元素的分布也會相應改變。

reference:

演算法 樸素貝葉斯的理解

樸素貝葉斯的基本理解 方法 總結 貝葉斯分類器,是一種比較貼近於現實的人的分類方式。通常需要兩個方面的資訊 乙個是基礎的預估值,即貝葉斯概率分類的基礎的部分,另乙個是記錄的特徵值 由於是貝葉斯概率,所以這裡的特徵值記錄通常是一些頻率值的記錄的部分 通過後續發生的事件來逐漸修正之前的事件的概率估計,從...

樸素貝葉斯演算法

首先樸素貝葉斯分類演算法利用貝葉斯定理來 乙個未知類別的樣本屬於各個類別的可能性,選擇可能性最大的乙個類別作為該樣本的最終類別。對於計算而言,需要記住乙個公式。p c x p x c p c p x 類似於概率論條件概率公式。其中x代表含義為最終類別,例如 yes?no。c為屬性。使用樸素貝葉斯演算...

樸素貝葉斯演算法

計算貝葉斯定理中每乙個組成部分的概率,我們必須構造乙個頻率表 因此,如果電子郵件含有單詞viagra,那麼該電子郵件是垃圾郵件的概率為80 所以,任何含有單詞viagra的訊息都需要被過濾掉。當有額外更多的特徵時,此概念的使用 利用貝葉斯公式,我們可得到如下概率 分母可以先忽略它,垃圾郵件的總似然為...