机器学习之 EM
什么都不要想,先來感受一個例子:
公司有男同事=[A,B,C],同時有很多漂亮的女職員=[小甲,小章,小乙]。(請勿對號入座)你迫切的懷疑這些男同事跟這些女職員有“問題”。為了科學(xué)的驗證你的猜想,你進行了細(xì)致的觀察。于是:
觀察數(shù)據(jù):
- 1、A,小甲、小乙一起出門了;
- 2、B,小甲、小章一起出門了;
- 3、B,小章、小乙一起出門了;
- 4、C,小乙一起出門了;
收集到了數(shù)據(jù),你開始了神秘的EM計算。
初始化:你覺得三個同事一樣帥,一樣有錢,三個美女一樣漂亮,每個人都可能跟每個人有關(guān)系。所以,每個男同事跟每個女職員“有問題”的概率都是1/3;
EM算法中的E步驟:
- 1、A跟小甲出去過了 1/2 * 1/3 = 1/6 次,跟小乙也出去了1/6次;
- 2、B跟小甲,小章也都出去了1/6次;
- 3、B跟小乙,小章又出去了1/6次;
- 4、C跟小乙出去了1/3次;
總計:
- A跟小甲出去了1/6次,跟小乙也出去了1/6次 ;
- B跟小甲,小乙出去了1/6次,跟小章出去了1/3次;
- C跟小乙出去了1/3。
EM算法中的M步驟 - 你開始更新你的八卦:
- A跟小甲,小乙有問題的概率都是1/6 / (1/6 + 1/6) = 1/2;
- B跟小甲,小乙有問題的概率是1/6 / (1/6+1/6+1/6+1/6) = 1/4;
- B跟小章有問題的概率是(1/6+1/6)/(1/6 * 4) = 1/2;
- C跟小乙有問題的概率是1。
EM算法中的E步驟 - 然后你又開始根據(jù)最新的概率計算了。
- 1、A跟小甲出去了 1/2 * 1/2 = 1/4 次,跟小乙也出去 1/4 次;
- 2、B跟小甲出去了1/2 * 1/4 = 1/8 次, 跟小章出去了 1/2 * 1/2 = 1/4 次;
- 3、B跟小乙出去了1/2 * 1/4 = 1/8 次, 跟小章又出去了 1/2 * 1/2 = 1/4 次;
- 4、C跟小乙出去了1次;
EM算法中的M步驟 - 重新反思你的八卦:
- A跟小甲,小乙有問題的概率都是1/4/ (1/4 + 1/4) = 1/2;
- B跟小甲,小乙是 1/8 / (1/8 + 1/4 + 1/4 + 1/8) = 1/6 ;
- B跟小章是 2/3 ;
- C跟小乙的概率是1。
你繼續(xù)計算,反思,總之,最后,你得到了真相。
通過上面的計算我們可以得知,EM算法實際上是一個不停迭代計算的過程,根據(jù)我們事先估計的先驗概率A,得出一個結(jié)果B,再根據(jù)結(jié)果B,再計算得到結(jié)果A,然后反復(fù)直到這個過程收斂。
可以想象飯店的后方大廚,炒了兩盤一樣的菜,現(xiàn)在,菜炒好后從鍋中倒入盤,不可能一下子就分配均勻,所以先往兩盤中倒入,然后發(fā)現(xiàn)B盤菜少了,就從A中勻出一些,A少了,從B勻.....
EM算法
EM算法(Expectation Maximization Algorithm,最大期望算法)是一種迭代類型的算法,是一種在概率模型中尋找參數(shù)最大似然估計或者最大后驗估計的算法,其中概率模型依賴于無法觀測的隱藏變量。
EM算法流程:
- 初始化分布參數(shù)
- 重復(fù)下列兩個操作直到收斂:
- E步驟:估計隱藏變量的概率分布期望函數(shù)
- M步驟:根據(jù)期望函數(shù)重新估計分布參數(shù)
EM算法原理:
給定的m個訓(xùn)練樣本?,樣本間獨立,找出樣本的模型參數(shù) θ ,極大化模型分布的對數(shù)似然函數(shù)如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
假定樣本數(shù)據(jù)中存在隱含數(shù)據(jù)??,此時極大化模型分布的對數(shù)似然函數(shù)如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
令z的分布為 Q(z;θ) ,并且 Q(z;θ)≥0 ,那么有如下公式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Jensen不等式:
如果函數(shù)f為凸函數(shù),那么存在下列公式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
如下圖所示:
若??則
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
根據(jù)Jensen不等式的特性,當(dāng)下列式子的值為常數(shù)的時候,l(θ) 函數(shù)才能取等號。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
EM算法流程:
樣本數(shù)據(jù)??,聯(lián)合分布 ?,條件分布,最大迭代次數(shù)J。
隨機初始化模型參數(shù)θ的初始值
開始EM算法的迭代處理:
E步:計算聯(lián)合分布的條件概率期望
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
M步:極大化L函數(shù),得到?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
如果??已經(jīng)收斂,則算法結(jié)束,輸出最終的模型參數(shù)θ ,否則繼續(xù)迭代處理
EM算法收斂證明
EM算法的收斂性只要我們能夠證明對數(shù)似然函數(shù)的值在迭代的過程中是增加的即可,即證明下式成立:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
證明過程如下:
? ? ? ? ? ? ? ?
?
高斯混合模型
GMM(Gaussian Mixture Model,高斯混合模型)是指該算法由多個高斯模型線性疊加混合而成。每個高斯模型稱之為component。GMM算法描述的是數(shù)據(jù)的本身存在的一種分布。
GMM算法常用于聚類應(yīng)用中,component的個數(shù)就可以認(rèn)為是類別的數(shù)量。
假定GMM由k個Gaussian分布線性疊加而成,那么概率密度函數(shù)如下:
對數(shù)似然函數(shù):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
E step:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
M step:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
對均值求偏導(dǎo):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
對方差求偏導(dǎo):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
對概率使用拉格朗日乘子法求解:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
總結(jié)
- 上一篇: 安卓库-图表库: MPChartView
- 下一篇: 欧姆龙PLC程序 欧姆龙NX系列PLC程