一、em演算法是什麼?
em演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計。
作用:簡單直白的說,估計引數
是一種生成模型
(1)用在概率模型中
(2)含有隱變數
(3)用極大似然估計方法估計引數
個人理解,概率模型中的一些引數,通常是一些概率:
(1)如果概率模型中的變數全部可觀測,那可以統計各個變數出現的次數,然後可以求取頻率,用頻率估計概率
(2)如果概率模型中存在著不可觀測的隱變數,直接求頻率可能會不可行,此時採用em演算法來求取引數。
按照什麼標準極大化引數呢?
用y表示觀測隨機變數的資料
用z表示隱隨機變數的資料
我們可觀測到y,y通常是由z生成的,而生成規則遵循概率模型,也就是概率模型中的引數。
我們希望找到這些的引數,這些引數使得出現觀測序列y的概率最大
演算法思想:
二、演算法步驟
1、初始化引數:給要估計的引數乙個初始值
2、e步驟:根據現有的引數求期望
3、m步驟:期望最大化求引數的估計值
4、重複步驟2、3直到收斂
《統計學習方法》筆記 EM演算法
em expectation maximization algorithm 用於含有隱變數的概率模型引數的極大似然估計。例子 有三枚a,b,c硬幣。首先a為選擇硬幣,對其進行投擲,其投擲結果正則選擇b硬幣進行投擲,反為選擇c硬幣,然後根據選擇的硬幣再進行投擲,記錄該硬幣的投擲結果,正面為1,反面為0...
統計學習方法 第九章 EM演算法
em演算法是用於解決含有隱變數的概率模型引數的極大似然估計,每次迭代由兩步組成,e步求期望,m步求極大。而對於高斯混合模型 gmm 上em演算法也是乙個有效的解決方法。現以習題9.1為例,簡單實現一下em演算法 import numpy as np 計算e步 defexpectationcal pi...
《統計學習方法》筆記(十三) EM
em本身是一種迭代演算法,目的是實現含有隱變數的模型引數的極大似然估計,以及後驗分布的眾數。em也可以用來補全缺失的資料集。在此不做重點考慮 演算法描述 輸入 觀測變數資料y,隱含變數z,聯合分布p y,z theta 條件分布p z y,theta 輸出 模型引數theta 1.選擇引數的初值th...