高斯混合模型學習筆記
0 預備知識
l 設離散型隨機變數X的分佈律為
則稱 為X的數學期望或均值
l 設連續型隨機變數X的概率密度函式(PDF)為
其數學期望定義為
l 稱為隨機變數X的方差,稱為X的標準差
l 正態分佈 ~
概率密度函式
l 設(X, Y)為二維隨機變數,若存在,則稱其為隨機變數X和Y的協方差,記為
l 多維高斯(正態)分佈概率密度函式PDF定義如下:
其中,x是維數為n的樣本向量(列向量),是期望,是協方差矩陣,表示的行列式,表示的逆矩陣,表示的轉置。
1 高斯混合模型概述
1.1. 單高斯模型(Single GaussianModel, SGM)
對於單高斯模型,由於可以明確訓練樣本是否屬於該高斯模型(如訓練人臉膚色模型時,將人臉影象膚色部分分割出來,形成訓練集),故μ通常由訓練樣本均值代替,由樣本方差代替。為了將高斯分佈用於模式分類,假設訓練樣本屬於類別K,那麼,式(1)可以改為如下形式:
(2)
式(2)表明樣本屬於類別K的概率大小。從而將任意測試樣本輸入式(2),均可以得到一個標量,然後根據閾值t來確定該樣本是否屬於該類別,閾值t可以為經驗值,也可以通過實驗確定。
1.2. 高斯混合模型(GaussianMixture Model,GMM)
高斯混合模型是單一高斯概率率密度函式的延伸。例如:有一批觀察資料
假設每個點均由一個單高斯分佈生成(如圖 1(b),具體引數,未知),而這一批資料共由M(明確)個單高斯模型生成,具體某個資料屬於哪個單高斯模型未知,且每個單高斯模型在混合模型中佔的比例未知,將所有來自不同分佈的資料點混在一起,該分佈稱為高斯混合分佈。
從數學上講,我們認為這些資料的概率分佈密度函式可以通過加權函式表示:,其中
表示第j個SGM的PDF。
令,GMM共有M個SGM,現在,我們就需要通過樣本集X來估計GMM的所有引數:
通常用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)根據每個聚類物件的均值(中心物件),計算每個物件與這些中心物件的距離;並根據最小距離重新對相應物件進行劃分;
(4)計算標準測度函式,當滿足一定條件,如函式收斂時,則演算法終止;如果條件不滿足則回到步驟(2)。