EM算法的講解的內容包括以下幾個方面:
1、最大似然估計
2、K-means算法
3、EM算法
4、GMM算法
EM算法本質是統計學中的一種求解參數的方法,基于這種方法,我們可以求解出很多模型中的參數。
1、最大似然估計
在求解線性模型的過程中,我們用到了最大似然估計(MLE)的思想。
EM算法達到的目的和最大似然估計是一樣的,只不過EM算法可以幫助我們去計算一些隱藏變量的參數。即當極大似然估計無法解決某些問題的時候,我們需要使用EM算法這種迭代算法的思路,不斷得逼近最后的參數解。
EM算法不是具體某一種模型,而是一種求解問題的思路。在統計學中這種算法思想用的特別多。
2、K-means算法
K-means算法的求解過程本質上就是EM算法的思想,面試中曾經有人問:K-means算法究竟是如何運用EM算法來實現的? 這樣兩個算法就通過一個問題來掛上鉤了。
3、EM算法
然后講到如何將EM算法用一種比較通式化的方法來實現求解過程,即但凡我們遇到一個可以用EM算法來解決的問題,我們如何去求解這個問題對應的參數。
就好比極大似然估計中,我們使用聯合概率作為似然函數的值,然后求解極大值。當然首先不同的問題會有不同的聯合概率,先要把這個聯合概率構造出來。
4、GMM算法
最后使用EM算法解決一個問題:有一個模型叫做高斯混合模型(GMM),可以通過EM算法來幫助我們來求解它最后的參數值。
一、最大似然估計(MLE)回顧
最大似然估計(Maximum Likelihood Estimati) 就是利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值的計算過程。直白來講,就是給定了一定的數據,假定知道數據是從某種分布中隨機抽取出來的,但是不知道這個分布具體的參數值,即“模型已定,參數未知”,MLE就可以用來估計模型的參數。
MLE的目標是找出一組參數(模型中的參數),使得模型產出觀察數據的概率最大。
例子:假定盒子中有黑白兩種球,數目未知,黑白球比例也未知,現只知道隨機的十次有放回的抽樣情況,求各個盒子中抽取出白球的概率?
MLE求解過程:
1、編寫似然函數(即聯合概率函數) <似然函數:在樣本固定的情況下,樣本出現的概率與參數θ之間的函數>;
2、對似然函數取對數,并整理;(一般都進行)
3、求導數。
4、解似然方程。
分析: 盒子中只有黑球和白球,假定白球的比例為p,那么黑球的比例為1-p。因為采取的是有放回的隨機抽取,那么每次抽取出來的球的顏色服從同一獨立分布情況,即每次抽取之間是獨立互不影響的。
求解盒子1中抽取出白球的概率:
求解盒子2中抽取出白球的概率:
求解盒子3中抽取出白球的概率:
求解盒子4中抽取出白球的概率:
求解盒子5中抽取出白球的概率:
二、貝葉斯算法估計
貝葉斯算法估計是一種從先驗概率和樣本分布情況來計算后驗概率的一種方式。
貝葉斯算法中的常見概念:
1、P(A)是事件A的先驗概率或者邊緣概率。
2、P(A|B)是已知B發生后A發生的條件概率,也稱為A的后驗概率。
3、P(B|A)是已知A發生后B發生的條件概率,也稱為B的后驗概率。
4、P(B)是事件B的先驗概率或者邊緣概率。
例子:現在有五個盒子,假定每個盒子中都有黑白兩種球,并且黑白球的比例如下;現已知從這五個盒子中的任意一個盒子中有放回的抽取兩個球,且均為白球,問這兩個球是從哪個盒子中抽取出來的?
1、使用MLE(最大似然估計),結論是從第五個盒子抽取的球:
2、使用貝葉斯算法估計,結論是從第五個盒子抽取的球:假定抽出白球為事件B,從第i個盒子中抽取為事件Ai。
思路遞進:
現在不是從五個盒子中任選一個盒子進行抽取,而是按照一定的概率選擇對應的盒子,概率如下。假定抽出白球為事件B,從第i個盒子中抽取為事件Ai。結論是從第四個盒子抽取的球。
三、最大后驗概率估計(MAP)
根據上面的例子我們得出了以下的結論:
(最大后驗概率估計Maximum a posteriori estimation)MAP 和 MLE 樣,都是通過樣本估計參數θ的值;
1、在MLE中,是使似然函數最大的時候參數θ的值,MLE中假設先驗概率是一個等值的;
2、而在MAP中,則是求θ使的值最大,這也就是要求θ值不僅僅是讓似然函數最大,同時要求θ本身出現的先驗概率也得比較大。
可以認為MAP是貝葉斯算法的一種應用: