基于EM算法的高斯混合模型参数估计
一 算法思想
對于樣本數據集所含變量都是可觀測的,我們一般應用極大似然估計法或者貝葉斯估計法估計模型參數。但若樣本數據集中存在不可觀測的變量(隱變量),那么單純的極大似然估計法是不可用的;EM算法(expectation maximization algorithm)分為E步和M步,其中E-step主要通過觀察數據和現有模型來估計參數,然后用這個估計的參數值來計算似然函數的期望值;而 M-Step 是尋找似然函數最大化時對應的參數。由于算法會保證在每次迭代之后似然函數都會增加,所以函數最終會收斂。
二 適用范圍
無監督學習,樣本數據中含有隱變量。
算法的核心思想是找到一個下界,并不斷優化(提高)下界,有望得到一個極大值,但不能保證是全局最大值。
三 算法步驟
在這里插入圖片描述
四 EM算法實驗測試
4.1 樣本數據生成
為了方便可視化的美觀性,我選擇了生成二維特征的樣本數據,并且設置每一維度的標準差較小(這樣生成的樣本數據更為緊湊),共包括3中高斯模型,每類高斯模型生成100條樣本數據。
4.2 EM算法估計參數
為了節省時間復雜度,并沒有采取迭代夠足夠多輪數的方式,而是設置一個誤差容允值,只要誤差低于此值即不再進行參數的迭代和更新。表5-2為某次實驗中的數據。
4.3 基于EM參數估計聚類
在進行EM算法的同時,得到每一個樣本屬于某個模型的概率,取max,即取最可能屬于的類別當作其預測的類別,并進行可視化如圖5-1.
4.4 實驗現象
在實驗中,起初采用了生成的隨機數對參數進行初始化,結果EM算法表現非常不魯棒,即使誤差收斂到很小的值,但明顯參數估計是錯誤的。這說明EM算法對于參數的初值是很敏感的。
五 EM算法課后題
5.1 第9.1題
5.2 第9.2題
參考
【機器學習】EM——期望最大
https://zhuanlan.zhihu.com/p/78311644
人人都懂EM算法
https://www.zhihu.com/search?type=content&q=EM%E7%AE%97%E6%B3%95
統計學習方法
https://blog.csdn.net/qq_41562704/article/details/106541040
總結
以上是生活随笔為你收集整理的基于EM算法的高斯混合模型参数估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 米家互联网空调和c1区别
- 下一篇: excel如何提取单元格中一部分文字