關於 EM(Expectation Maximization)演算法有哪些書、論文或博客推薦?


可以參看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演算法理解的九層境界

  1. EM 就是 E + M
  2. EM 是一種局部下限構造
  3. K-Means是一種Hard EM演算法
  4. 從EM 到 廣義EM
  5. 廣義EM的一個特例是VBEM
  6. 廣義EM的另一個特例是WS演算法
  7. 廣義EM的再一個特例是Gibbs抽樣演算法
  8. WS演算法是VAE和GAN組合的簡化版
  9. 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 Algorithm

2.李航 統計學習方法【有證明過程,有簡單的例子】

3.從最大似然到EM演算法淺解

4.http://crow.ee.washington.edu/people/bulyko/papers/em.pdf

5.http://ai.stanford.edu/~chuongdo/papers/em_tutorial.pdf

6.還有很多公開課視頻... 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 在語音識別方面有哪些應用?

TAG:人工智慧 | 演算法 | 機器學習 | 語音識別 |