EM算法【图像迭代】
最近在讀李航寫的《統計學習方法》,想要遷移一些知識到圖像重建領域,首先總結一下EM算法:
EM算法算是機器學習中有些難度的算法之一,也是非常重要的算法,曾經被譽為10大數據挖掘算法之一,從標題可以看出,EM專治帶有隱變量的參數估計,我們熟悉的MLE(最大似然估計)一般會用于不含有隱變量的參數估計,應用場景不同。
首先舉一個帶有隱變量的例子吧,假設現在有1000人的身高數據,163、153、183、203、173等等,不出意外肯定是男生或者女生組成的這1000個人,那么這個163cm我們就沒辦法知道是男生的還是女生,這其中男女就是一個隱變量,我們只能看到163cm,但是看不到背后男女這個隱變量。
用Y表示觀測數據,Z表示隱變量(男女身高例子中就是男女這個隱變量),Y和Z在一起表示為完全數據,假設Y、Z的聯合分布概率為P(Y,Z|θ),對數似然為logP(Y,Z|θ),EM算法通過迭代求得L(θ)=logP(Y,Z|θ)的最大似然估計,每次迭代分為兩步:E-step ,求期望。M-step,求最大化,下面來介紹EM算法。
EM算法的提出
假定有訓練集:
現在有m個獨立樣本。希望從中找到該組數據的模型p(x, z)的參數,
我們可以通過最大似然估計建立目標函數,然后取對數似然:
事實上,EM算法是通過迭代逐步接近最大化L(θ),那么我們現在不妨假設第i次迭代后θ的估計值為θi,我們當然希望重新估計的θ能使似然函數L(θ)有所增大,并逐漸逼近最大值,因此,我們做差:
利用jensen不等式,我們找到其下界:
雖然看上去有點亂,其實就是在里邊偷偷的再里邊乘上一個P和除上一個P,沒任何難度,
令:
則:
由此可知B為L的一個下界,那么我們根據上式可得:
那么任何能使B增加的的θ一定也可以使L(θ)增大,為了使L(θ)盡可能的增大,我們可以選擇一個θi+1使得B達到最大:
既然是求θi+1,那么就省略掉常數項:
這就完成了EM算法的一次迭代,EM算法其實就是通過不斷求解下界的極大化逼近求解歲數似然函數的極大值算法。
下圖使一個比較直觀表示EM算法求解過程:
從這幅圖中不難看出,EM算法不能保證找到全局最最優值。
算法:
輸入:觀測數據Y,隱變量Z,聯合分布P(Y,Z|θ),條件分布P(Z|Y,θ);
輸出:模型的參數;
(1): 選擇參數的初始值θ0,開始迭代;
(2): E步:記θi為第i次迭代的參數θ的估值,在第θ+1次的迭代,計算:
其中P(Z|Y,θi)是給定觀測數據Y和當前參數估計θi的前提下,隱變量Z的條件概率分布。
(3): M步:求使Q(θ,θi)極大值的θ,確定第i+1次的參數估計值θi:
(4): 重復第2、3步,直到收斂。
說明:
完全數據的對數似然函數logP(Y,Z|θ)關于在給定Y和θi的前提下對未觀測數據Z的條件概率分布P(Z|Y,θi)的期望稱為Q函數:
關于EM算法的幾點注意:
步驟(1):?θ參數初值是可以隨便給定的,但是EM算法對于初值選擇是敏感的。
步驟(2): E-step求得Q(θ,θi),Q函數中Z是隱變量,Y是觀測數據,Q(θ,θi)中第一個變元是表示要極大化的參數,第二個表示當前的估計值,每次迭代實際上是在求Q的最大化。
步驟(3): M-step中試求Q(θ,θi)的最大值,得到θi,完成一次迭代。
步驟(4): 給出迭代終止條件,一般是較小的正數ε1,ε2,若滿足:
關于圖像:
而對于圖像的模型,PSF模糊核一般是未知參數,一般假設圖像符合泊松分布,似然函數沒有解析解,所以一般采用迭代的方式求解,完全數據(I,PSF),求x( I=Possion(PSF*x) );
假如缺失數據PSF己知,則可能得到一個關于I的簡單的添加,利用p(I/x,PSF)的簡單性可以進行各種統計計算。然后當然可以又對PSF做檢查。總結
以上是生活随笔為你收集整理的EM算法【图像迭代】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录 FreeBSD
- 下一篇: java HashMap问题