EM演算法及其推廣

2021-12-29 22:37:40 字數 831 閱讀 8653

em演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。

em演算法的每次迭代由兩步組成:e步,求期望;m步,求極大。所以這一演算法稱為期望極大演算法,簡稱em演算法。

em演算法與初值得選擇有關,選擇不同的初值可能得到不同的引數估計值。

一般地,用y表示觀測隨機變數的資料,z表示隱隨機變數的資料。y和z連在一起稱為完全資料,觀測資料y又稱為不完全資料。

em演算法

輸入:觀測變數資料y,隱變數資料z,聯合分布p(y,z|θ),條件分布p(z|y,θ);

輸出:模型引數θ

(1)選擇引數的初始值θ(0),開始迭代

(2)e步:記θ(i)為第i此迭代引數θ的估計值,在第i+1此迭代的e步,計算

q(θ,θ(i))=ez[logp(y,z|θ)|y,θ(i)]=∑zlogp(y,z|θ)p(z|y,θ(i))(9.9)

這裡,p(z|y,θ(i))是在給定觀測資料y和當前的引數估計θ(i)下隱變數資料z的條件概率分布;

(3)m步:求使得q(θ,θ(i))極大化的θ,確定第i+1次迭代的引數的估計值θ(i+1)

θ(i+1)=argmaxθq(θ,θ(i))

(4)重複第(2)步和第(3)步,直到收斂。

式(9.9)的函式q(θ,θ(i))是em演算法的核心,稱為q函式(q function)。

em演算法是通過不斷求解下界的極大化逼近對數似然函式極大化的演算法。

em演算法不能保證找到全域性最優值。

待補充

EM演算法及其推廣 《統計學習方法》第9章

em演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。em演算法的每次迭代由兩步組成 e步求期望值,m步求最大值。em演算法是一種對模型引數的估計,該模型中含有隱變數 概率模型有時既含有觀測變數,又含有隱變數或潛在變數。如果概率模型的變數都是觀測變數,那麼就可以...

大多數演算法及其推廣

有一種演算法叫大多數演算法,大多數意思是給定乙個陣列,已知裡面有乙個數的統計個數超過了總數的一半。比如1,2,3,1,1,1 那麼1就是大多數。有乙個簡單的演算法就是排序,然後取中位數。時間複雜度為o nlogn 那麼有沒有更快速的演算法呢,這裡介紹一種o n 的演算法。其原理就是開乙個臨時變數,和...

燈管實驗的em演算法 EM演算法

本文試圖用最簡單的例子 最淺顯的方式說明em expectation maximization 演算法的應用場景和使用方法,而略去公式的推導和收斂性的證明。maximum likelihood estimation maximum likelihood estimation mle 是要選擇乙個最佳...