機器學習演算法拾遺 (六)EM演算法與高斯混合模型

2021-09-18 06:20:44 字數 1437 閱讀 5240

基礎:em演算法和高斯混合模型、em演算法

em演算法是一種迭代演算法,用於含有隱變數的概率模型的極大似然估計,或者說是極大後驗概率估計。

1、em演算法

em演算法的具體流程如下:

輸入:觀測變數資料y,隱變數資料z,聯合分布p(y, z|θ),條件分布p(z|y, θ)

輸出:模型引數θ

1)選擇引數θ的初始值θ(0),開始迭代

2)e步:記θ(i)次迭代引數為θ的估計值,在第i+1次迭代的e步,計算(基於當前求得的模型引數θ猜測隱變數的期望值,因此e步也稱為期望步)

3)m步:求使得q函式極大化的θ值,確定第i+1次迭代的引數的估計值θ(i+1)

4)重複2, 3步直至收斂

注意:em演算法是對初始化引數敏感的

5、總結

期望最大演算法(em演算法)是一種從不完全資料或有資料丟失的資料集(存在隱含變數)中求解概率模型引數的最大似然估計方法。

2、高斯混合模型(gmm)

用em演算法來估計高斯混合模型的引數,在這裡引數θ = (α1,α2,...,αk;θ1,θ2,...,θk),在估計之前我們得預先明確隱變數。

因此就引出了我們的隱變數,隱變數的具體表示式如下:

γjk是0-1隨機變數,確定了觀測變數和隱變數之後,那麼完全資料就是

之後就可以用em演算法去估計引數θ,具體流程如下

1)初始化θ值,開始迭代

2)e步:依照當前的模型引數,計算

3)m步:計算新一輪迭代的模型引數

4)重複2, 3步直至演算法收斂

其實高斯混合模型和k-means(也可以用em演算法描述)方法很相似,簡單來說,k-means的結果是每個資料點被分配到其中某一類中,而高斯混合模型是給出這些點被分配給某一類的概率,可以看作是軟聚類(也就是允許兩個類之間有重合區域)。高斯混合模型是對初始值敏感的,也就是說如果運氣不好,選取的初始值不好,最終的模型結果也不會很好,因此很多時候我們會用k-means做預訓練,獲得較好的結果,然後再用高斯混合模型進行訓練進一步優化**結果(高斯混合模型也是要給出聚類的簇數k值,在初始化引數時給出的)具體的做法就是:先用k-means粗略的估計出簇心,然後將簇心作為高斯混合模型的初始均值(μ值),然後再去估計高斯混合模型中的引數。

彙編學習(六)8086彙編拾遺 5

8086 標誌暫存器 8086 的最後乙個比較重要的暫存器 標誌暫存器 狀態暫存器的三種作用 用來儲存相關指令的某些執行結果 用來為cpu執行相關指令提供行為依據 用來控制cpu的相關工作方式 zf標誌 記錄相關指令執行後,其結果是否為0,結果為0,zf 1,不為0 zf 0.pf標誌 奇偶效驗暫存...

機器學習演算法 EM演算法

介紹 理論分析 現在,已經知道目標函式 似然函式 maxj p x 假設隱變數為z,那麼可以寫成j zp x z 我們假設當前的引數為 i 那麼可以得到 j j i logp x logp x i log zp x,z logp x i log z p z x,i p x z p z x,i log...

機器學習演算法 EM演算法

e步 利用當前估計的引數值,求出在該引數下隱含變數的條件概率值 計算對數似然的期望值 m步 結合e步求出的隱含變數條件概率,求出似然函式下界函式的最大值 尋找能使e步產生的似然期望最大化的引數 值 然後,新得到的引數值重新被用於e步.直到收斂到區域性最優解。note 每次迭代實際在求q函式及其極大,...