1. 程式人生 > >【機器學習】EM演算法在高斯混合模型學習中的應用

【機器學習】EM演算法在高斯混合模型學習中的應用

前言

EM演算法,此部落格介紹了EM演算法相關理論知識,看本篇部落格前先熟悉EM演算法。

本篇部落格打算先從單個高斯分佈說起,然後推廣到多個高斯混合起來,最後給出高斯混合模型引數求解過程。

單個高斯分佈

假如我們有一些資料,這些資料來自同一個高斯分佈(獨立同分布),那個我們如何根據這些資料估計出這個高斯分佈的引數呢?我們知道只要知道高斯分佈的引數θ={μ,σ2}就能確定此高斯分佈。

這裡寫圖片描述
從上圖中,我們要想知道資料是來自哪個高斯分佈,我們就要知道高斯分佈的引數,直觀上可以認定資料來自引數為θ1的高斯分佈,然而這畢竟是我們直觀上的,那麼我們應該如何根據資料估計高斯分佈的引數呢?

假設資料為

X={x1,x2,...,xN}xi 獨立同分布 p(X|θ),其中θ={μ,σ2};

由貝葉斯公式知:

p(θ|X)p(X|θ)p(θ) p(θ|X)為後驗概率,p(X|θ)為似然度,p(θ)為先驗概率。

關於貝葉斯公式的,可參考我之前的部落格,裡面有提到:連結

不加上先驗概率,就是極大似然估計; 加上先驗概率,就是極大後驗概率估計 這裡我們只介紹極大似然估計,極大後驗概率估計類似

(1)寫出對數似然函式

L(θ|X)=log[p(X|θ)]=i=1Nlogp(xi|θ)=i=1Nlog[12πσexp((xiμ)22σ2)]

(2)求極大似然估計

分別對μ,σ求偏導,並令為0: