em算法详细例子及推导_EM算法详解(例子+推导)
一. 例子講解
假設有兩個硬幣1和2,隨機拋出后出現正面概率為
、 。每次取一枚銀幣,連續拋5次,共拋5輪,數據如下:- 硬幣1-->(3正2反);硬幣2-->(2正3反);硬幣3-->(1正4反);銀幣4-->(3正2反);銀幣5-->(2正3反)
很容易計算硬幣1正面
的概率 , 。假如我們不知道選出的是哪個銀幣,還需要計算出
、 ,該如何處理?數據如下:- ?-->(3正2反);?-->(2正3反);?-->(1正4反);?-->(3正2反);?-->(2正3反)
對每個問號編個號(
), 表示第1次選擇的是硬幣1還是硬幣2,后面依次類推。在這種情況下該如何計算 。先隨機初始化一個
,用它來估算z,然后基于z用最大似然概率去估計新的 ,如新的 和估計的 相等,則我們證明我們估計正確,否則用新的出的 再去估算z,重復直到收斂。初始設
、 。其中第一組硬幣1出現的概率: ,其它數據如下則數據如下。- 硬幣1概率:0.00512,硬幣2概率:0.03087-->(3正2反); 硬幣1概率:0.02048,硬幣2概率:0.01323-->(2正3反); 硬幣1概率:0.08192,硬幣2概率:0.00567-->(1正4反); 硬幣1概率:0.00512,硬幣2概率:0.03087-->(3正2反);硬幣1概率:0.02048,硬幣2概率:0.01323-->(2正3反);
每個取硬幣1或2出現最大的最大的概率,則此時
, 。我們使用所有的z值計算,根據上述數據,可算出z值對應的
的期望。當 時,硬幣1的期望 ,同理 。則此時數據如下:- :0.14, -->(3正2反); :0.61, -->(2正3反); :0.94, -->(1正4反); :0.14, -->(3正2反); :0.61, -->(3正2反)。
計算在硬幣1 條件下正方面分布,如:
正面概率3*0.14 = 0.42, 反面概率2*0.14 = 0.28,Z分布數據如下: 0.42, 0.28; 1.22, 1.83; 0.94, 3.76; 0.42, 0.28; 1.22,1.93。則可以計算出 ,正面/(正面+反面)。此時算出的值,更接近真實值0.4。
二. 算法過程
2.1 Jensen不等式
當函數滿足凸函數(存在局部極小值),則有
, 是求期望。可從如下圖理解和記憶。2.2 算法推導
有觀測變量數據Y(上例中正反面結果),隱藏變量Z(上例中硬幣1硬幣2),求分布
的 值。已知結果,和分布模型,求分布參數,使用似然估計算法: 取對數,設 為隱變量Z的分布。 (公式1)。運用Jensen不等式(上圖畫的),
公式1有:
(公式2)其中當滿足
(公式3),C為常數,取等號。對公式3做如下變換: 兩邊對z取積分 ,可推出 。則有
(公式4),因為此時的 為估計出來的值,這里記為 。把 帶入公式2中,則最后極大似然估計就如下: ,由于第二項為常數,所以最終我們的目標函數為: (公式5), 其中 為參數, 這就是EM算法的E部。接下來求
的極大值,得出 也就是 ,即 。在把 帶入到Q函數中,求極大值又可以得到 ,最后直到收斂。2.3 EM算法收斂性
要證明算法收斂,其實是證明
。 取對數 (公式6)有
(公式7)設: (公式8)則
,則同時取 ,并相減: (公式9)。很明顯公式9前個大括號大于0,那邊就只要計算后一個大括號的值: 得證。三. 高斯混合模型
離散隨機變量期望:連續隨機變量的期望:
方差定義: ,期望的表示方式為:
協方差定義: , 表示兩個變量空間。用期望的表示方式為: ,兩個變量獨立協方差為0。 協方差矩陣: 多維高斯密度公式: ; 表示緯度維 的向量, 各緯度向量的平均值, 所有向量 協方差矩陣。
如下圖所示,有觀測樣本數據
,屬于3個正態分布(參數未知),哪些樣本屬于哪個正態分布未知。從圖示直觀來看,樣本 最佳概率密度曲線應該是三個正態分布曲線的組合 。高斯密度示意圖從幾何意義理解,高斯混合模型就是多個獨立高斯分布按照權重疊加的模型,其分布模型公式記為:
(公式 1) ,是混合模型高斯數量; 高斯模型的權重(k個高斯模型的分布), ; 是高斯分布密度, 。設樣本數據 ,則完整數據就為 ,則z是滿足 的分布,那么此時 。根據EM算法,z的分布是離散分布:
= 這里把 拆開進行換算得到: =有
則有: ,在這個后驗分布中此時的 其實是 ,是已知值。代入 ,得: 最終求導可得: ,另外兩個參數不再列舉。四. python例子
還是代碼簡單,高斯混合模型的預測,詳情看示范例子:
https://github.com/zx3305/tennis/blob/master/em/main.py?github.com參考資料:
機器學習之最大期望(EM)算法_謂之小一-CSDN博客_最大期望算法
https://blog.csdn.net/lin_limin/article/details/81048411
多維高斯分布 - jermmyhsu - 博客園
https://www.bilibili.com/video/BV13b411w7Xj
https://www.bilibili.com/video/BV1qW411k7ao?p=3
總結
以上是生活随笔為你收集整理的em算法详细例子及推导_EM算法详解(例子+推导)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootcss echarts_数据可视
- 下一篇: 告诉你怎么看摄像头分辨率如何查询电脑分辨