1. 程式人生 > >高斯混合模型的重疊度計算 (Overlap Rate, OLR)

高斯混合模型的重疊度計算 (Overlap Rate, OLR)

簡介

關於高斯混合模型(GMM)的相關概念可以參考另一篇博文:高斯混合模型及其EM演算法的理解

使用GMM聚類或分析兩個高斯混合分佈的資料時,我們有時會希望兩個高斯分佈離得越遠越好,這樣表示資料才有可分性。但很多情況下兩個高斯分佈會有重疊。一維和二維的重疊情況如下所示(圖片取自作者論文)。

overlap example

我們可以計算一些指標來間接反映兩個高斯分佈的重疊情況。比如可以計算Mahalanobis距離,Bhattacharyya距離或Kullback-Leibler (KL)距離,可以衡量兩個高斯分佈的相似性。但是Mahalanobis距離預設兩個分佈具有相同的協方差,Bhattacharyya距離和KL距離都考慮了協方差,但卻沒有考慮高斯混合分佈的混合係數(mixing coefficient)。而且KL距離對高維的正態分佈沒有解析解,計算複雜。

這篇論文提出的計算OLR的方法考慮了高斯混合分佈中的所有引數,包括均值,協方差和混合係數。

OLR計算

假設有nd維的樣本X={X1,...,Xn}. 其中Xi是一個d維向量。一個混合高斯模型的pdf可以表示為:

p(X)=i=1kαiGi(X,μi,Σi)(1)
其中αi是混合係數,滿足αi>0ki=1αi=1.

Gi(X)是一個d維高斯分佈,可以表示為下面的形式:

Gi(X)=1(2π)d/2|Σi|1/2exp(12(Xμi)TΣ1i(Xμi))(2).

以二維高斯分佈為例。當兩個高斯分佈有重疊時,會形成鞍狀。如上圖的d和e,二維高斯分佈混合時會出現兩個峰和一個鞍部;當兩個分佈幾乎完全混合時,鞍部可能消失,但峰還在,此時明顯的峰只有一個,如上圖中的f。

論文中的兩個高斯分佈的OLR定義如下:

OLR(G1,G2)={1p(Xsaddle)p(Xsubmax)if p(X) has one peakif p(X) has two peaks(3)

其中Xsaddle是pdf中的鞍點(saddle point),Xsubmax是pdf中的較低的峰(lower peak point)。OLR的示意圖如下圖所示。OLR計算的是鞍點的pdf與較低峰的pdf的比值。這麼做是因為鞍點的pdf與混合係數αi有關。注意到OLR並不是落在重疊區域內資料的比例。定義中的p(Xsubmax)容易求,只需將兩個均值帶入(1)試,取較小的值即可。但是p(Xsad

dle)不容直接求得。

OLR

注意到兩個峰點和鞍點在整個曲面上都應該是極值點。因此XsaddleXsubmax應該滿足下式:

px1=Ax1α1G1+Bx1α2G2px2=Ax2α1