1. 程式人生 > >高斯混合模型學習筆記

高斯混合模型學習筆記

0 預備知識

l  設離散型隨機變數X的分佈律為


則稱 為X的數學期望均值

l  設連續型隨機變數X的概率密度函式(PDF)為

數學期望定義為

稱為隨機變數X的方差稱為X的標準差

正態分佈 ~

概率密度函式

l  設(X, Y)為二維隨機變數,若存在,則稱其為隨機變數X和Y的協方差,記為


多維高斯(正態)分佈概率密度函式PDF定義如下:


其中,x是維數為n的樣本向量(列向量),是期望,是協方差矩陣,表示的行列式,表示的逆矩陣,表示的轉置。

1 高斯混合模型概述

1.1.   單高斯模型(Single GaussianModel, SGM)

         

(1)

對於單高斯模型,由於可以明確訓練樣本是否屬於該高斯模型(如訓練人臉膚色模型時,將人臉影象膚色部分分割出來,形成訓練集),故μ通常由訓練樣本均值代替,由樣本方差代替。為了將高斯分佈用於模式分類,假設訓練樣本屬於類別K,那麼,式(1)可以改為如下形式:

       (2)

式(2)表明樣本屬於類別K的概率大小。從而將任意測試樣本輸入式(2),均可以得到一個標量,然後根據閾值t來確定該樣本是否屬於該類別,閾值t可以為經驗值,也可以通過實驗確定。

1.2.   高斯混合模型(GaussianMixture Model,GMM)

高斯混合模型是單一高斯概率率密度函式的延伸。例如:有一批觀察資料

,資料個數為n,在d 維空間中的分佈不是橢球狀(如圖 1(a)),那麼就不適合以一個單一的高斯密度函式來描述這些資料點的概率密度函式。此時我們採用一個變通方案,

假設每個點均由一個單高斯分佈生成(如圖 1(b),具體引數,未知),而這一批資料共由M(明確)個單高斯模型生成,具體某個資料屬於哪個單高斯模型未知,且每個單高斯模型在混合模型中佔的比例未知,將所有來自不同分佈的資料點混在一起,該分佈稱為高斯混合分佈。

從數學上講,我們認為這些資料的概率分佈密度函式可以通過加權函式表示:其中


表示第j個SGM的PDF。

       令,GMM共有M個SGM,現在,我們就需要通過樣本集X來估計GMM的所有引數:

,樣本X的概率公式為:

      

       通常用EM(ExpectationMaximum)演算法對GMM引數進行估計。

       演算法流程:

       (1)初始化

       方案1:協方差矩陣設為單位矩陣,每個模型比例的先驗概率;均值設為隨機數。

       方案2:由k均值(k-means)聚類演算法對樣本進行聚類,利用各類的均值作為,並計算取各類樣本佔樣本總數的比例。

       (2)估計步驟(E-step)

       令的後驗概率為

      

       (3)最大化步驟(M-step)

       更新權值:

       更新均值:

       更新方差矩陣:

       (4)收斂條件

       不斷地迭代步驟(2)和(3),重複更新上面三個值,直到,其中為更新引數後計算的值,即前後兩次迭代得到的結果變化小於一定程度則終止迭代,通常

1.3.   K-means演算法

k-means演算法是輸入聚類個數k,以及包含 n個資料物件的資料庫,輸出滿足方差最小標準的k個聚類。同一聚類中的物件相似度較高;而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得一個“中心物件”(引力中心)來進行計算的。

k-means演算法的基本步驟:

(1)從 n個資料物件任意選擇k個物件作為初始聚類中心;

(2)根據每個聚類物件的均值(中心物件),計算每個物件與這些中心物件的距離;並根據最小距離重新對相應物件進行劃分;

(3)重新計算每個(有變化)聚類均值(中心物件);

(4)計算標準測度函式,當滿足一定條件,如函式收斂時,則演算法終止;如果條件不滿足則回到步驟(2)。