關於 EM(Expectation Maximization)演算法有哪些書、論文或博客推薦?
01-05
可以參看Bishop的 PRML一書,證明十分清晰。
EM實際上指的是一類演算法,並且有狹義和廣義之分。LS多數人所說的是狹義上的EM。
我覺得wiki對於EM的解釋和證明是相當不錯的Expectation
廣義的EM,實際上就是某種類型的不動點迭代。解滿足某個過程的不動點(也就是EM的過程),當然,滿足條件的未必是解,並且迭代也未必收斂。典型的例子就是k-means(這類EM被成為Hard-EM),假定解,然後估計新的解(解和估計得到的額新解,應當是互相認同的)。類似的例子還包括很多採樣演算法,基本都是EM的變體。其實我建議還是看adrew ng的視頻·· 一共兩個視頻,一個是用gaussian mixture引出EM的,一個是講factor analysis講到EM的。第一個視頻在最關鍵的jensen不等式那步他解釋的非常清晰,理解jensen不等式和極大似然估計就理解EM了~
第二個視頻是講了一些人使用EM的誤區
史博:EM演算法存在的意義是什麼?
我列了EM演算法理解的9層境界。 我覺得搞定這些境界, 必須去閱讀Hinton和Jordan和他們弟子, 甚至弟子的弟子們的文章。
EM演算法理解的九層境界
- EM 就是 E + M
- EM 是一種局部下限構造
- K-Means是一種Hard EM演算法
- 從EM 到 廣義EM
- 廣義EM的一個特例是VBEM
- 廣義EM的另一個特例是WS演算法
- 廣義EM的再一個特例是Gibbs抽樣演算法
- WS演算法是VAE和GAN組合的簡化版
- KL距離的統一
EM的本質是用iterative方法解決non convex(非凸)的問題。嘗嘗沒有全局最優的保證 但是有逐步改進的特徵。常見的kmeans ksplane都是可以用EM觀點來看的。關於參考,維基百科是同學們的好朋友,上面的reference都很好。
可以看一下 James Hamilton, Time series analysis 的最後一章。
EM的原始論文是:Maximum likelihood estimation for mixture models: the EM algorithm. 去讀一下原始論文。此外有個國內學者寫的EM學習筆記:http://www.docin.com/p-90701708.html。
EM演算法,其實不是演算法,是一種思想。思路非常簡單,只有E和M兩步,讓期望最大化。難點在於實現過程,該過程中你會發現它很有意思。我用EM處理刪失數據,求解極大似然,效果很好。
文章網上很多:http://goo.gl/kNoci
沒有人看過徐亦達老師的視頻嗎┐(′-`)┌首推徐亦達(Richard Xu)老師的視頻,張志華老師的機器學習導論裡面有幾節也講到了部分,很是不錯。最後感謝兩位老師,讓渣渣學校的渣渣也能學到有體系(尤其是張老師的課啊,簡直就是我男神( ?ω? ) )有深度的理論知識~~
給兩位老師打call!!!
推薦看Andrew NG的視頻,還有李航博士的《統計學習方法》。祝好!
1.(EM演算法)The EM Algorithm2.李航 統計學習方法【有證明過程,有簡單的例子】3.從最大似然到EM演算法淺解4.http://crow.ee.washington.edu/people/bulyko/papers/em.pdf5.http://ai.stanford.edu/~chuongdo/papers/em_tutorial.pdf6.還有很多公開課視頻... standford
Computer vision,A modern approach。Forsyth,Ponce。裡面第十章有EM演算法的描述,感覺在概念和應用場景上比Bishop講的好,數學上還是Bishop那本講的透徹。EM演算法本質上和Ransac演算法很類似,都是通過迭代的方法來解決Missing data的問題。
就是說有參數和隱變數,如果已經知道了隱變數,可以用ML方法求參數,如果已經知道參數,可以得到隱變數。但是因為兩個都不知道,所以給一組初始化的值,通過這兩個過程的迭代從而得到結果。而這個結果很可能是局部最小值,所以最好通過其他方法得到一個粗略的初始值。1.Chapter 3.10 in pattern recognition by Duda et al.
2. Pattern recognition and machine learning
3. Graph Models, Exponential Families, and Variational Inference
Jerry Zhu 有個tutorial寫的不錯,去他網頁上看一下
其實李航的《統計學習方法》不錯,起點低,上手快。
推薦閱讀:
※深度學習時代,數字信號處理的前端已經過時了嗎?
※如何入門語音識別?
※誰給講講語音識別中的CTC方法的基本原理?
※語音識別kaldi該如何學習?
※Language Model 在語音識別方面有哪些應用?