EM演算法存在的意義是什麼?

時間 2021-05-11 15:31:09

1樓:

我學em的時候,是在資料值缺失的章節下面。好像如果有關的變數,examples中拒絕透露(比如做一些醫學有關的資料,使用者拒絕透露自己吸菸之類)可以用em演算法來填補缺失值

2樓:

我先複述一下問題,題主認為含隱變數的引數估計問題可以用 MLE 方法借助求解非線性方程組來得到乙個近似解。而 EM 差不多也是近似解,因此質疑 EM 的意義所在。

我覺得題主可能根本沒有自己動手解過乙個實際的問題,就提出了這個的問題。實際上 MLE + 非線性方程在絕大多數情況下根本就是個不現實的方法。

我們就舉個最經典的 GMM 問題的例子:給定一組點 ,以及確定的類別數 ,試擬合乙個 K 類別的 GMM 使似然最大。 具體來說求解引數 ,使得該組資料樣本在 GMM 模型的似然 最大。

這裡說明一下,花括號表示一組引數的集合,是一種簡寫方法, 表示正態分佈的概率密度函式。這個式子展開就是 。

如果你用 MLE 方法,首先計算似然函式:

。這是乙個 個(樣本數) 項求和的乘積。

然後要求 對所有引數 求導等於零,列方程組解方程。但你覺得這個很容易做嗎?

首先很重要的,這個最大似然問題可能根本就不能用導數等於零的方程組求解,為什麼,因為是有約束的。我們要求 ,且所有 正定。第乙個等式約束尚可用拉格朗日方法做,但第二個正定這個約束就還還是蠻複雜的,當然如果你是線性問題的話,咱們還是有一套理論去解決的,然而面對這個式子我只能選擇放棄。

咱們退一步,暫時令 ,也不考慮正定的約束。就單獨對似然函式求導,列方程,再用數值方法,咱們看看這條路可行不可行。

首先,這個求導就很難求,我承認還是可以求的,但我暫時就不求了。。。

第二,這個方程組高度非線性,指數冪次耦合在一起,這個方程組基本沒有可以化簡的餘地。

第三,這個方程組未知數很多。如果樣本的維度是 ,那麼總共就有 個未知數,你就是用什麼牛頓法,每次就要算這麼大乙個矩陣的逆,矩陣中的每個元素都是超複雜的一堆行列式、矩陣乘法的結果。就算理論上能算,計算量也可想而知。

第四,這些指數和行列式、大量求和與乘積也會帶來數值精度的挑戰。

基本就是個不可行的方法。

而相比之下,這個問題的 EM 解法就簡單幾個步驟,每次做re-assign,然後re-estimate,迭代收斂,一切安好。

GMM是統計、機器學習中非常常用的乙個模型,就算EM就是專門為GMM開發的我覺得都非常有意義了,何況其通用性還這麼強,意義還不明顯嗎?

最高贊答案放在這太答非所問了……

3樓:

求解MLE的方法很多,在無法直接通過求導得到closed-form解的時候,可以用gradient descent甚至second-order的優化方法,或者用EM。EM的優點在於通過構造隱藏變數,可以保證每一步迭代似然函式肯定是增加的,直到區域性最優。

4樓:Richardkwo

對於含有隱變數的問題,如果 (1) 隱變數不容易被積分掉 (marginalized),或者 (2) 積分掉以後也不好做優化,直接求解最大似然估計 (MLE) 往往是不可行的。對於這類問題,如果 (1) 隱變數的分布 q 可以求解 (2) 似然函式關於 q 的積分可以做優化,用 EM 至少可以找到乙個區域性最優解。

因為很多模型都含有隱變數,而且滿足上述條件,所以 EM 其實很有用。甚至,一些模型可以通過引入隱變數 (data augmentation) 的方法來構造 EM 演算法。

最大似然估計和EM演算法的關係是什麼?

Paion 期望最大化期望最大化 Expectation maximuzation 演算法在統計中被用於尋找,依賴於不可觀察的隱性變數的概率模型中,引數的最大似然估計。EM是乙個在已知最大期望演算法 Expectation Maximization Algorithm,又譯期望最大化演算法 是一種迭...

C STL中 for each 演算法存在的意義是什麼?

白東傑 三年過去了,我偶然看到了這個老問題。很多人已經說過 range for 了,我想再補充一點。C 的 range for 在 C 20 出來之前是個殘廢,只能順序迭代,不能反向,也不能 skip。所以有特別的迭代要求的時候就只好手寫傳統三段 for,而 Bjarne Stroustrup 表示...

指數族和EM演算法有什麼關係?

北野寺僧人 你說的拉格朗日法是什麼?我就單純解釋一下EM和指數族好了。EM適用於隱變數模型的最大似然估計。一般隱變數模型寫成 其中 為觀測到的,為隱變數,為模型引數。舉例 高斯混合模型中,類別為 對於任何乙個 為高斯分布。EM演算法為如下迭代 E 計算 使其與真正的後驗相近 M 計算 並根據結果更新...