萬志成,鄭 靜
(杭州電子科技大學經濟學院,浙江 杭州 310018)
高斯混合模型(Gaussian Mixture Model,GMM)是一種常用的統計建模工具,通過多個高斯分量混合來描述一個復雜的數據分布,具有易處理的概率密度函數,可以得到顯式表達式,廣泛應用于機器學習和數據挖掘等領域。馬敬山等[1]將GMM與反向傳播神經網絡(Back Propagation Neural Network, BPNN)結合起來,提出一種針對質譜數據的三分類模型。歐豐林等[2]融合GMM和深度學習算法實現了高效目標跟蹤。何冰倩等[3]運用改進的GMM對視頻中的人體動作進行識別,擴展了GMM的使用場景。然而,在有限的高斯混合模型建模過程中,需要確定適當數量的混合分量,分量個數過多或過少都會導致過擬合或欠擬合。解決GMM選擇問題的主要方法包括確定性方法和貝葉斯方法。確定性方法主要是在期望最大化(Expectation Maximization, EM)框架下,通過極大似然估計來優化模型的似然函數[4]。貝葉斯方法中,最常用的是選定貝葉斯信息準則(Bayesian Information Criterion, BIC)來確定模型的復雜度[5]。上述2種方法都是通過比較多個模型的復雜度來選擇模型,可能導致過擬合或欠擬合。與之不同的非參數貝葉斯方法則通過擬合單個模型,并根據觀測數據來調整自身復雜度,避免手動進行模型選擇的同時加快了收斂速度[6-7]。Rasmussen[8]將有限高斯混合模型與狄利克雷過程結合起來,提出一種無限高斯混合模型,并通過蒙特卡洛馬爾可夫鏈(Markov Chain Monte Carlo, MCMC)來解決模型參數的估計問題。盡管MCMC方法能有效估計參數,但收斂速度較慢,計算成本過高。變分貝葉斯方法作為一種強大的確定性近似技術,計算成本小,收斂速度快,近年來備受關注。其基本思想是通過一類易處理的分布族來近似隱變量的后驗分布,并通過最大化對數似然函數下界得到模型的參數估計。狄利克雷過程作為非參數貝葉斯統計中的重要方法,最常見的應用是作為狄利克雷過程混合模型的先驗。Blei等[6]給出了狄利克雷過程混合模型變分推斷的范式表達,奠定了狄利克雷過程混合模型變分推斷的基礎。Bishop[9]給出了有限多元高斯混合模型的變分推斷過程,完整闡述了多元高斯混合模型的變分推斷過程。Lim等[10]給出了無限一元高斯混合模型的變分貝葉斯推斷過程。本文結合多元高斯混合模型與狄利克雷過程先驗,給出無限多元高斯混合模型的表達式,并提出一種高效的變分貝葉斯算法,用于解決模型選擇和參數估計問題。
給定混合分量個數K,有限高斯混合模型的概率密度函數為:
(1)

當式(1)中的K值趨向于無限大時,高斯混合模型由有限變成無限。無限高斯混合模型的密度函數如下:

(2)

(3)
如果隨機概率測度G的分布由狄利克雷過程DP(a,G0)產生,則記為G~DP(α,G0)。同時,G可以通過以下的截棍過程進行構造:
(4)

(5)

本文引入狄利克雷過程先驗,根據狄利克雷過程的截棍構造式(4),是V的函數。因此式(3)改寫為:
(6)
在貝葉斯的理論框架下,需要指定模型其余參數的先驗分布。Vk的先驗分布為標準的貝塔分布,表示為:
(7)
參考文獻[9]對u和Λ的先驗設置,其先驗分布為:

(8)

根據式(6)、式(8)的先驗設置,得到X在隱變量{Z,u,Λ}下的條件分布為:
(9)
無限高斯混合模型中各隨機變量的關系如圖1所示,其中圓圈表示隨機變量,有向箭頭表示變量之間的關系。根據貝葉斯規則,將式(6)—式(9)整合起來,得到觀測值X和各個隱變量Θ={Z,u,Λ,V}的聯合密度函數為:
p(X,Θ)=p(X,Z,V,Λ,u)=p(X|Z,u,Λ)p(Z|V)p(V)p(u|Λ)p(Λ)
(10)

圖1 無限高斯混合模型中各隨機變量的關系
貝葉斯推斷主要是根據先驗分布計算出隱變量的后驗分布,但由于大部分模型結構過于復雜,常常使得后驗分布難以計算。因此,本文運用變分貝葉斯推斷方法來近似后驗分布。變分推斷的核心思想是選擇一族易處理的分布族Q(Θ)來近似真實后驗分布p(Θ|X)。其中變分后驗Q(Θ)可以通過最大化變分下界L(Q)得到:
(11)
為了獲得變分下界的最大值,假定近似真實后驗分布Q(Θ)可以進行因式分解,Q(Θ)分解為:
(12)

對于式(12)中的元素Qj(Θj),其最優的一般表達式為[9]:
lnQj(Θj)=Ei≠j[lnp(X,Θ)]+C
(13)
其中,C表示常數項。
1.2.1Q(Z)的變分推斷
根據截斷點K的設置和式(13)可以得到:
(14)
由于指數分布族的特點,lnQ(Z)的先驗分布和后驗分布形式相近。因此將式(14)進行拆分,并進行合并同類項,可得:

(15)
通過式(14)可以得到:
(16)

(17)
式中,
(18)
對于離散分布Q(Z)而言,可以獲得E(Znk)=rnk。
1.2.2 Q(V)的變分推斷
根據式(13)可以得到:
(19)
(20)
(21)
1.2.3 Q(u|Λ),Q(Λ)的變分推斷
根據式(13)可以得到:

(22)
進一步可得:
(23)
(24)
(25)
(26)
根據推導出的更新方程,得出參數Θ期望如下:
Ez(Znk)=rnk
(27)

(28)

(29)
(30)
(31)

1.2.4 變分下界L(Q)
根據式(14)、式(19)和式(22),可以直接計算得出下界式(11)。在實際應用中,可通過觀察下界L(Q)的值來控制迭代的次數,直到L(Q)收斂時停止迭代。
對于無限高斯混合模型,其下界為:

(32)

(33)
(34)
(35)

(36)
(37)
(38)
(39)
本文提出的無限高斯混合模型變分貝葉斯算法主要是通過不斷迭代超參數直到變分下界收斂。將Vk的后驗均值作為其參數估計帶入到式(2),求解出相應的混合比例系數,將其中小于10-5的系數刪除,從而自動選擇最優分量個數。同時,根據mk與Λk后驗分布參數計算相應期望,將其作為參數mk和Λk的估計值。無限高斯混合模型的變分貝葉斯算法如下。

輸入:數據X,截斷點K(1)初始化超參數α0,m0,β0,W0,v0,通過K-means算法初始化Ez(Znk)(2)根據式(18)、式(20)、式(21)、式(23)—式(26)更新超參數mk,βk,Wk,vk,pk,qk(3)根據式(27)—式(31)更新期望值(4)計算得到當前的下界L(Q)(5)重復步驟2—步驟4,直至L(Q)變化值小于10-3時,退出循環(6)輸出各個超參數以及最終的L(Q)值(7)計算Ev(Vk)=pk/(pk+qk),將其作為Vk的值代入式(2)中計算得出k(8)將混合比例中小于10-5的值刪去,從而得到真實K值(9)根據mk與Λk后驗分布參數計算相應期望,將其作為參數mk和Λk的估計值(10)整合步驟7—步驟9中mk,Λk,k輸出值,得到參數u,Λ,的估計值

首先,由不同參數的高斯混合模型生成3個有1 000個樣本點的數據集。其次,運用本文提出的變分貝葉斯算法對3個數據集進行20次模擬,取其平均值作為參數估計值,結果如表1所示。

表1 變分貝葉斯算法參數估計結果
從表1可以看出,估計值與真實值之間誤差較少,本文算法可以準確估計模型參數以及相應的模型分量數。
在數據集3上,分別采用本文提出的變分貝葉斯算法和EM算法進行計算。不同初始分量數下,EM算法和變分貝葉斯算法收斂時的分量數如表2所示。從表2可以看出,在初始分量數偏離真實分量數時,EM算法估計結果出現很大的偏差,而變分貝葉斯算法則不受初始分量數的影響。

表2 不同算法收斂時的分量數
根據表2可知,在初始分量數為2的條件下,EM算法收斂至真實分量數,因此將EM初始分量數設置為2進行參數估計,其參數估計結果如表3所示。從表3的參數估計結果可以看出,2種算法的估計結果偏差不大,但在相同的數據集下,變分貝葉斯算法的收斂速度遠遠大于EM算法。

表3 不同算法的參數估計結果
為驗證本文提出的變分貝葉斯算法的效果和性能,運用無限高斯混合模型對Iris(鳶尾花)數據進行擬合。Iris數據集包含150個樣本點,3個類別,樣本點的個數分別為45,45,60,混合比例為0.30,0.30,0.40,其中每個樣本有4種不同的屬性。設置初始K值為15,先驗分布的參數設置與第2節中數值模擬實驗相同。實驗結果如表4所示。

表4 Iris數據集模型擬合結果
從表4可以看出,設置遠超于真實分量數的初始分量數并不影響算法最后的分量數收斂情況,最后生成3個4維的高斯混合分布與真實數據類別相同。根據估計結來看,無限高斯混合模型的分類準確率達到了90%。
傳統高斯混合模型在應用中無法準確估計分量數導致高斯混合模型不能完全、準確、有效地描述這些復雜數據。為此,本文將狄利克雷過程的截棍構造方法與傳統有限高斯混合模型結合起來,提出一種擁有無限分量的高斯混合模型。并在變分貝葉斯的理論框架下,展示無限多元高斯混合模型詳細的變分推導過程,給出相應的參數估計算法。相比傳統的EM算法,本文的變分貝葉斯算法不受初始分量數的影響,在收斂速度上有較大的提升。后續將重點研究基于狄利克雷過程高斯混合模型的在線文本分類問題。