機器學習期望最大演算法 例項解析

2021-08-11 09:54:28 字數 2202 閱讀 3445

已經分析了樸素貝葉斯分類,拉普拉斯修正,半樸素貝葉斯分類器,在這些理論闡述中,都帶有詳細的例子解釋,通過例子理解相關的理論是一種快速消化公式和理論比較不錯的方法。

接下來,介紹一種非常經典的求解隱變數的演算法,這也是一種經典的演算法。讓我們先從最大似然估計入手,在03節真正分析這種演算法。

給定一堆蘋果,裡面有好蘋果,也有壞蘋果。好果的分布滿足某種概率分布,也就是拿到第 i 個蘋果的概率為 p(i | theta),其中theta表示好果的分布滿足某種引數theta的概率分布,這個theta就是好果分布情況的乙個引數吧。

怎麼求解這個引數theta呢? 我們會從一堆蘋果中,隨機地選取足夠多的蘋果,然後對每個拿到的蘋果標記是好蘋果,還是壞蘋果,比如隨機地選擇了10個蘋果,其中好蘋果標記為 good,否則為 bad,拿到的序列如下所示:

1 good

2 good

3 bad

4 good

5 good

6 good

7 bad

8 good

9 bad

10 good

在拿到這些序列後,不就相當於我們拿到乙個已知條件嗎:在這批實驗資料中,有7個好果,3個壞果。

根據最大似然估計的理念,既然這10個蘋果序列已經出現了,那麼我們就估計並認為整個樣本中好蘋果的分布概率為:7/10 = 0.7,即:原序列中好蘋果的分布規律為:遵從概率為0.7的分布吧,壞蘋果同樣滿足0.3的概率分布。

這種根據抽取的一些資料樣本的方法,推算某個樣本的分布引數的過程,就被稱為最大似然估計,它是根據已有資料來獲得分布規律的利器。

現在為了構造出乙個隱變數,在上面那個例子基礎上,假設這一批蘋果有的來自煙台,有的來自威海,這樣無形中增加了乙個隱變數:蘋果的出處,這個特徵吧,並且煙台的蘋果中好蘋果的概率分布滿足二項分布,威海的也滿足,這樣相當於我們有兩個分布,並且都滿足高斯分布,只不過它們的分布引數不相同,如:煙台的好蘋果概率為 theta_yan;威海的好蘋果概率為theta_wei,那麼如何求出這兩個引數獲得分布規律呢?

這就得借助經典的expectation-maximum演算法,即期望最大演算法了。

首先假定,初始時,theta_yan0 = 0.85,theta_wei0 = 0.80。

然後開始從那一堆蘋果(來自於兩地的混合)中,隨機的取樣了10個,發現有7個好果,3個壞果。那麼出現這種情況的概率是多大呢?因為已經知道了初始時,theta_yan0 = 0.85,theta_wei0= 0.80,所以對於煙台的蘋果分布而言,出現這種分布情況的概率是多大呢?

對於威海的蘋果分布而言,出現這種分布情況的概率是多大呢?

那麼選擇的蘋果來自於煙台的概率為:

那麼選擇的蘋果來自威海的概率 p_wei 自然等於 1 - p_yan 吧。

這樣這10個蘋果中,來自煙台的好蘋果的個數的期望值是不是就能求出來了:概率乘以好蘋果個數: p_yan * 7;壞果自然等於:p_yan * 3

同理可求出來自威海的好蘋果數量的期望值:p_wei * 7,壞蘋果等於:p_wei * 3 。

以上便是em演算法的中的e步;那麼m步是怎麼回事呢?

theta_wei1的求解公式同上式相似,這樣m步的計算過程也搞定。

再根據以上過程,由 theta_yan1,theta_wei1,得出theta_yan2,theta_wei2,等等。

直至達到某個閾值,迭代結束,這樣theta_yanx,theta_weix就是最終的求解值:煙台和威海的好蘋果的概率。

以上就是em演算法的求解過程,e步得出屬於隱變數取值的期望,m步根據隱變數取值的期望計算出新的引數theta,這樣不斷迭代下去,直至收斂。

以上這堆蘋果是從煙台和威海這兩個地方來的吧,一共得到了兩種滿足二項分布的好蘋果的分布吧。

那麼如果,我們這堆蘋果是從全國各地選取過來的呢,這時蘋果的分布情況就由 k 個二項分布組成吧。

類似的這種資料如果來自於k個滿足高斯分布中生成出來的模型,稱為高斯混合模型(gmm),它在含有隱變數,且每個簇的高斯分布引數不同時,對於這樣的聚類任務,gmm是比較理想的聚類演算法。歡迎關注明天的推送:gmm聚類sklearn掉包解析。

謝謝您的閱讀,希望對您有幫助!

請記住:每天一小步,日積月累一大步!

交流思想,注重分析,更注重通過例項讓您通俗易懂。包含但不限於:經典演算法,機器學習,深度學習,leetcode 題解,kaggle 實戰。期待您的到來!

機器學習期望最大演算法 例項解析

交流思想,注重分析,更注重通過例項讓您通俗易懂。包含但不限於 經典演算法,機器學習,深度學習,leetcode 題解,kaggle 實戰。期待您的到來!回顧已經分析了樸素貝葉斯分類,拉普拉斯修正,半樸素貝葉斯分類器,在這些理論闡述中,都帶有詳細的例子解釋,通過例子理解相關的理論是一種快速消化公式和理...

(最大期望)演算法

在 統計計算 中,最大期望 em 演算法是在概率 probabilistic 模型中尋找 引數最大似然估計 或者最大後驗估計的演算法 其中概率模型依賴於無法觀測的 隱藏變數 latentvariable 最大期望經常用在 機器學習 和計算機視覺 的資料聚類 dataclustering 領域。最大期...

期望最大 EM 演算法

在概率模型中尋找引數最大似然估計的演算法。em演算法 是一種迭代演算法,用於含有隱變數的引數模型的最大似然估計。應用於資料聚類領域。最大似然估計 1 寫出似然函式 2 對似然函式取對數,並整理 3 求導數 4 解似然方程 期望最大 演算法經過兩個步驟交替進行計算,第一步是計算期望 e 也就是將隱藏變...