變分貝葉斯(Variational Bayes)


此文公式圖片不全。詳見博客: http://www.blog.huajh7.com/variational-bayes/

【關鍵字】平均場理論,變分法,貝葉斯推斷,EM算法,KL散度,變分估計,變分消息傳遞

引言

·        從貝葉斯推斷說起

Question如果我們有一組觀測數據D,如何推斷產生這些數據的模型m?

模型由1)模型的類別ξ(如高斯分布,伽馬分布,多項式分布等)與2)模型的參數Θ共同決定,即 .

模型的選擇

  • 假設M為所有可能的模型集合(包括不同類別),那么選擇  
  • 如何計算p(m | D)?
    • 通常情況很難直接計算p(m | D),根據貝葉斯公式有  ,p(m)表示模型的先驗,p(D | m)表示證據;
    • 先驗:貝葉斯規則傾向於選擇能解釋數據的最簡單模型:Occam剃刀原理。因為簡單模型只在有限范圍內做預測,復雜模型(如有更多自由參數)能對更寬范圍做預測。

 

  • 那么如何計算證據(evidence)  ?
    • 參數θ的后驗概率為  
    • 證據p(D | m)通常會在最可能的參數 附近有一個很強的峰。
    • 以一維參數為例:利用Laplace方法近似,即用被積函數 乘以其寬度  。即  。
    • 此處不在深究Occam因子。
    • 從模型的選擇可以看出參數的估計非常重要。

         考慮同一個類別的模型。由於任何模型(函數)都可以由統一的數學形式給出,比如拉格朗日展開,傅里葉極數,高斯混合模型(GMM)等,因而通常我們更關心一個模型的參數Θ。換句話說,給出一組觀測數據D,我們總是能夠通過估計參數來推測模型,即 。或者更簡單的形式 。

后驗概率的估計

通常情況,取后驗概率最大的參數值為估計值。根據貝葉斯公式,參數θ后驗概率為

其中p(D)為歸一化常數(normalizing constant)。

  • 從經典的統計學角度看,概率是相對頻率的,是真實世界的客觀屬性。因而每個模型被選擇的概率是一樣的,因而p(θ) =constant。此時問題轉化為:  ,這便是極大似然法(ML, Maximum Likelihood)。
  • 從貝葉斯學派的角度看,每一個模型都有一個先驗概率p(θ),但先驗概率需事先給定。此時問題轉化為: ,這便是極大后驗估計(MAP, Maximum A Posteriori)。

另一方面,許多科學問題的基本部分是計算一個目標函數的積分 。Ω通常是高維空間中的一個區域,一般情況下f(x)稍微復雜一些,積分就難以計算。如果f(x)能被分解成一個函數g(x)與一個概率密度函數π(x)的乘積,那么上述積分可看做是g(x)在密度π(x)下的期望。

 

比如,

(1)     計算后驗概率:  

(2)     點估計:

(3)     訓練樣本預測將來的數據的概率密度:假設D’與D條件獨立, .

(4)     新觀測樣本D’的隱藏變量(hidden variable) x’的后驗分布:  

上述積分最簡單的近似方法就是通過估計參數θ來估計單點積分值,比如上述貝葉斯選擇模型中極大后驗估計(MAP)。由於ML、MAP只是估計概率密度而不是概率分布,因而省去了積分過程。ML, MAP估計最常用也最基本的方法是期望最大化算法(Expectation Maximization,EM)。

此外,可以通過蒙特卡洛方法(Monte Carlo),或馬氏鏈蒙特卡洛法(Markov Chain Monte Carlo, MCMC)來模擬積分。此類方法具有較高的精度,但需要大量的計算。

本文介紹一種變分方法來近似積分。其主要思想是,對一個特定模型,構造一種簡單(tractable)的數學形式來近似未觀測變量的后驗分布,同時給出觀測數據的邊緣似然(或者稱證據,evidence)的下界(lower bound)。而積分過程轉化為求下界的最優值問題。

·        傳統方法的挑戰

  • EM算法

EM算法主要是用於在不完全數據的情況下計算最大似然估計,是一個不斷迭代優化的過程。以高斯混合模型為例。給定一些觀察數據y,假設y符合如下高斯分布:

  • Laplace算法

 

  • 隱馬爾科夫模型HMM

 

  • 再談馬爾科夫鏈蒙特卡洛(MCMC)

變分貝葉斯

·        前言

變分貝葉斯方法最早由Matthew J.Beal在他的博士論文《Variational Algorithms for Approximate Bayesian Inference》中提出,作者將其應用於隱馬爾科夫模型,混合因子分析,非線性動力學,圖模型等。變分貝葉斯是一類用於貝葉斯估計和機器學習領域中近似計算復雜(intractable)積分的技術。它主要應用於復雜的統計模型中,這種模型一般包括三類變量:觀測變量(observed variables, data),未知參數(parameters)和潛變量(latent variables)。在貝葉斯推斷中,參數和潛變量統稱為不可觀測變量(unobserved variables)。變分貝葉斯方法主要是兩個目的:

(1)   近似不可觀測變量的后驗概率,以便通過這些變量作出統計推斷。

(2)   對一個特定的模型,給出觀測變量的邊緣似然函數(或稱為證據,evidence)的下界。主要用於模型的選擇,認為模型的邊緣似然值越高,則模型對數據擬合程度越好,該模型產生Data的概率也越高。

對於第一個目的,蒙特卡洛模擬,特別是用Gibbs取樣的MCMC方法,可以近似計算復雜的后驗分布,能很好地應用到貝葉斯統計推斷。此方法通過大量的樣本估計真實的后驗,因而近似結果帶有一定的隨機性。與此不同的是,變分貝葉斯方法提供一種局部最優,但具有確定解的近似后驗方法。

從某種角度看,變分貝葉斯可以看做是EM算法的擴展,因為它也是采用極大后驗估計(MAP),即用單個最有可能的參數值來代替完全貝葉斯估計。另外,變分貝葉斯也通過一組相互依然(mutually dependent)的等式進行不斷的迭代來獲得最優解。

·        問題描述

現在重新考慮一個問題:1)有一組觀測數據D,並且已知模型的形式,求參數與潛變量(或不可觀測變量)  的后驗分布:P(Z|D)。

正如上文所描述的后驗概率的形式通常是很復雜(Intractable)的,對於一種算法如果不能在多項式時間內求解,往往不是我們所考慮的。因而我們想能不能在誤差允許的范圍內,用更簡單、容易理解(tractable)的數學形式Q(Z)來近似P(Z|D),即 。

由此引出如下兩個問題:

(1)     假設存在這樣的Q(Z),那么如何度量Q(Z)與P(Z|D)之間的差異性(dissimilarity)?

(2)     如何得到簡單的Q(Z)?

對於問題一,幸運的是,我們不需要重新定義一個度量指標。在信息論中,已經存在描述兩個隨機分布之間距離的度量,即相對熵,或者稱為Kullback-Leibler散度。

對於問題二,顯然我們可以自主決定Q(Z)的分布,只要它足夠簡單,且與P(Z|D)接近。然而不可能每次都手工給出一個與P(Z|D)接近且簡單的Q(Z),其方法本身已經不具備可操作性。所以需要一種通用的形式幫助簡化問題。那么數學形式復雜的原因是什么?在“模型的選擇”部分,曾提到Occam's razor,認為一個模型的參數個數越多,那么模型復雜的概率越大;此外,如果參數之間具有相互依賴關系(mutually dependent),那么通常很難對參數的邊緣概率精確求解。

幸運的是,統計物理學界很早就關注了高維概率函數與它的簡單形式,並發展了平均場理論。簡單講就是:系統中個體的局部相互作用可以產生宏觀層面較為穩定的行為。於是我們可以作出后驗條件獨立(posterior independence)的假設。即, 。

·        Kullback-Leibler散度

在統計學中,相對熵對應的是似然比的對數期望,相對熵D(p||q)度量當真實分布為p而假定分布為q時的無效性。

定義  兩個概率密度函數為p(x)和q(x)之間的相對熵定義為

KL散度有如下性質:

(1)     ;

(2)      ,當且僅當p=q時為零;

(3)     不滿足三角不等式。

Q分布與P分布的KL散度為:

 或者

 由於對數證據logP(D)被相應的Q所固定,為了使KL散度最小,則只要極大化L(Q)。通過選擇合適的Q,使L(Q)便於計算和求極值。這樣就可以得到后驗P(Z|D)的近似解析表達式和證據(log evidence)的下界L(Q),又稱為變分自由能(variational free energy):

      

 

·        平均場理論(Mean Field Method)

數學上說,平均場的適用范圍只能是完全圖,或者說系統結構是well-mixed,在這種情況下,系統中的任何一個個體以等可能接觸其他個體。反觀物理,平均場與其說是一種方法,不如說是一種思想。其實統計物理的研究目的就是期望對宏觀的熱力學現象給予合理的微觀理論。物理學家堅信,即便不滿足完全圖的假設,但既然這種“局部”到“整體”的作用得以實現,那么個體之間的局部作用相較於“全局”的作用是可以忽略不計的。

根據平均場理論,變分分布Q(Z)可以通過參數和潛在變量的划分(partition)因式分解,比如將Z划分為Z1…ZM,

      

注意這里並非一個不可觀測變量一個划分,而應該根據實際情況做決定。當然你也可以這么做,但是有時候,將幾個潛變量放在一起會更容易處理。

  • 平均場方法的合理性

在量子多體問題中,用一個(單體)有效場來代替電子所受到的其他電子的庫侖相互作用。這個有效場包含所有其他電受到的其他電子的庫侖相互作用。這個有效場包含了所有其他電子對該電子的相互作用。利用有效場取代電子之間的庫侖相互作用之后,每一個電子在一個有效場中運動,電子與電子之間的運動是獨立的(除了需要考慮泡利不相容原理),原來的多體問題轉化為單體問題。

同樣在變分分布Q(Z)這個系統中,我們也可以將每一個潛變量划分看成是一個單體,其他划分對其的影響都可以用一個看做是其自身的作用。采用的辦法是迭代(Iterative VB(IVB) algorithm)。這是由於當變分自由能取得最大值的時候,划分Zi與它的互斥集Z-I(或者更進一步,馬爾科夫毯(Markov blanket), mb(Zi) )具有一個簡單的關系:

 

(為保持文章的連貫性,此處先不證明,下文將詳細說明)

於是,對於某個划分Zi ,我們可以先保持其他划分Z-i不變,然后用以上關系式更新Zi。相同步驟應用於其他划分的更新,使得每個划分之間充分相互作用,最終達到穩定值。

具體更新邊緣概率(VB-marginal)步驟如下:

(1)     初始化Q(1)(Zi),可隨機取;

(2)     在第k步,計算Z-i的邊緣密度

(3)     計算Zi的邊緣密度

(4)     理論上 將會收斂,則反復執行(2), (3)直到Q(Zi), Q(Z-i)穩定,或穩定在某個小范圍內。

(5)     最后,得  

  • 平均場估計下邊緣概率的無意義性(VB-marginals

注意到Q(Z)估計的是聯合概率密度,而對於每一個Qi(Zi),其與真實的邊緣概率密度Pi(Zi)的差別可能是很大的。不應該用Qi(Zi)來估計真實的邊緣密度,比如在一個貝葉斯網絡中,你不應該用它來推測某個節點的狀態。而這其實是很糟糕的,相比於其他能夠使用節點狀態信息來進行局部推測的算法,變分貝葉斯方法更不利於調試。

比如一個標准的高斯聯合分布P(µ,x)和最優的平均場高斯估計Q(µ,x)。Q選擇了在它自己作用域中的高斯分布,因而變得很窄。此時邊緣密度Qx(x)變得非常小,完全與Px(x)不同。

 

·        邊緣密度(VB-marginal)公式的證明

上文已經提到我們要找到一個更加簡單的函數D(Z)來近似P(Z|D),同時問題轉化為求解證據logP(Z)的下界L(Q),或者L(Q(Z))。應該注意到L(Q)並非普通的函數,而是以整個函數為自變量的函數,這便是泛函。我們先介紹一下什么是泛函,以及泛函取得極值的必要條件。

  • 泛函的概念

【泛函】設對於(某一函數集合內的)任意一個函數y(x),有另一個數J[y]與之對應,則稱J [y]為y(x)的泛函。泛函可以看成是函數概念的推廣。這里的函數集合,即泛函的定義域,通常要求y(x) 滿足一定的邊界條件,並且具有連續的二階導數.這樣的y(x)稱為可取函數。

泛函不同於復合函數,例如g=g(f(x)); 對於后者,給定一個x值,仍然是有一個g值與之對應;對於前者,則必須給出某一區間上的函數y(x),才能得到一個泛函值J[y]。(定義在同一區間上的)函數不同,泛函值當然不同,為了強調泛函值J[y]與函數y(x)之間的依賴關系,常常又把函數y(x)稱為變量函數。

泛函的形式多種多樣,通常可以積分形式:

  • 泛函取極值的必要條件

泛函的極值

“當變量函數為y(x)時,泛函J [y]取極大值”的含義就是:對於極值函數y(x)及其“附近”的變量函數y(x) + δy(x),恆有  ;

所謂函數y(x) + δy(x)在另一個函數y(x)的“附近”,指的是:

  1. | δy(x) | < ε;
  2. 有時還要求| (δy)’(x) | < ε.

這里的δy(x)稱為函數y(x)的變分。

     Euler–Lagrange方程

     可以仿造函數極值必要條件的導出辦法,導出泛函取極值的必要條件,這里不做嚴格的證明,直接給出。泛函J[y]取到極大值的必要條件是一級變分δJ[y]為0,其微分形式一般為二階常微分方程,即Euler-Largange方程:

            

       泛函的條件極值

        在約束條件  下求函數J[y]的極值,可以引入Largange乘子λ,從而定義一個新的泛函, 。仍將δy看成是獨立的,則泛函 在邊界條件下取極值的必要條件就是,

           

  • 問題求解

對於 ,將右式第一項定義為能量(Energy),第二項看做是信息熵(Shannon entropy)。我們只考慮自然對數的形式,因為對於任何底數的對數總是可以通過換底公式將其寫成自然對數與一個常量的乘積形式。另外根據平均場假設可以得到如下積分形式,

 

其中 ,且滿足  

考慮划分 ,其中  ,先考慮能量項(Energy)(第一項),

 

其中定義 ,C為 的歸一化常數。再考慮熵量(entropy)(第二項),

    

 此時得到泛函,

          

注意到L(Q(Z))並非只有一個等式,如果不可觀測變量有M個划分。那么將有M個方程。為了使得L(Q(Z))達到最大值,同時注意到約束條件 ,根據泛函求條件極值的必要條件,得,

       

直接求解將得到Gibbs分布,略顯復雜;實際上,注意到KL散度,我們可以直接得到KL散度等於0的時候,L(D)達到最大值,最終得到

          

C為歸一化常數  ,  為聯合概率函數在除Zi本身外的其他划分下的對數期望。又可以寫為  

例子:高斯混合模型(GMM)

Question2 假設現在有獨立同分布(i.d.d.)的訓練樣本X符合下列混合高斯分布

       

如何求解高斯混合分布的三組參數 ?

  • 步驟一:選擇無信息先驗分布(non-informative prior

先驗分布的不是隨便取的,一般可以根據共軛分布方法,Jefferys原則,最大熵原則等來確定。一般要求先驗分布應取共軛分布(conjugate distribution)才合適,即先驗分布h(θ)與后驗分布h(θ|x)屬於同一分布類型。本文不展開討論,直接給出

   

k表示單高斯分布的個數,N表示樣本個數,每個分布的解釋,

  • SymDir() 表示K維對稱 Dirichlet分布;它是卡方分布(categorical)或多項式分布(multinomial)的共軛先驗分布。
  • W() 表示Wishart分布;對一個多元高斯分布(multivariate Gaussian distribution),它是Precision矩陣(逆協方差矩陣)的共軛先驗。
  • Mult() 表示多項分布(此處也稱卡方分布);多項式分布是二項式分布的推廣,表示在一個K維向量中只有一項為1,其它都為0.
  • N() 為高斯分布,在這里特別指多元高斯分布。

對變量的解釋

  •  是N個訓練樣本,每一項都是服從多元高斯分布的K維向量。
  • 是一組潛在變量,每一項 用於表示對應的樣本 屬於哪個混合部分(mixture component)。
  •  表示每個單高斯分布混合比例(mix proportion)
  • 和 分別表示每個單高斯分布參數的均值(mean)和精度(precision)

另外,為了區分聯合分布的參數,以上分布的參數如  又稱為超參數(hyperparameter),並且都是已知量。

  • 步驟二:寫出聯合概率密度函數

用“盤子表示法”(plate notation)表示貝葉斯多元高斯混合模型,如圖所示。

 

         小正方形表示不變的超參數,如β0000 ,W0;圓圈表示隨機變量,如 ;圓圈內的值為已知量。其中[K],[D]表示K、D維的向量,[D,D]表示  的矩陣,單個K表示一個有K個值的categorical變量;波浪線和一個開關表示變量xi通過一個K維向量zi 來選擇其他傳入的變量(µkk)。

假設各參數與潛在變量條件獨立,則聯合概率密度函數可以表示為

        

每個因子為:

 

其中,

 

D為各觀測點的維度。

  • 步驟三:計算邊緣密度(VB- marginal)

(1)     計算Z的邊緣密度,根據平均場假設,  ,則  

其中,

兩邊分別取對數可得,

 

歸一化,即對於觀測變量的屬於某個單高斯分布的概率相加應等於1,則有

,其中

可見 是多個單觀測多項式分布(single-observation multinomial distribution)的乘積,可以因式分解成一個個以  為參數的單觀測多項式分布 。更進一步,根據categorical分布,有 .

另外,需特別注意的是,在求期望的過程中,由於聯合密度可以寫成幾個因子乘積的形式,而方程是關於Z的函數,因此對於不包含Z的密度函數可以當做常數處理。我們可以用馬爾科夫毯(Markov blanket)描述,在一個貝葉斯網絡中,它表示一個節點的父節點(parents),子節點和子節點的父節點(co-parents),如圖所示。我們將在后文中詳細說明。

 

(2)     計算π的概率密度,

 

兩邊取對數 ,可見 是Dirichlet分布,

 

其中  ,  .

(3)     最后同時考慮 ,對於每一個單高斯分布有,

 

經過一系列重組化解將得到Gaussian-Wishart分布,

 

其中定義,

             

  • 步驟四:迭代收斂

最后,注意到對π,µ,Ʌ的邊緣概率都需要且只需要rnk;另一方面,rnk的計算需要ρnk,而這又是基於 ,  ,  ,即需要知道π,µ,Ʌ的值。不難確定這三個期望的一般表達式為:

 

這些結果能夠導出:  。由於需要歸一化使得 ,這樣可以從線性相對值轉化為絕對值。

再次分析各參數,

  1. 參數變量 更新方程中的超參數 都依賴與統計量  ,而這些統計量又依賴於 .
  2. 參數變量 更新方程中的超參數  都依賴於統計量 ,即 .
  3. 潛在變量 的更新方程對超變量 有直接的依賴關系,同時對 通過 有間接的依賴關系。

這樣迭代過程便很清楚了,可以總結為如下兩個迭代步驟:

  1. 1.      在VBE-Step,用參數和超參數的舊值計算潛在變量  ;
  2. 2.      在VBM-Step,用潛在變量計算參數和超參數的新值。

·        與EM算法的比較

以上迭代步驟與EM算法用ML或MAP解決高斯混合模型很相似。在E-step中,潛在變量rnk對應於潛在變量關於數據樣本的后驗概率,如P(Z|X); 統計量對應於EM算法中“soft-count”統計量;用這些統計量去計算參數的新值與EM算法中用“soft-count”計算新參數值一致。

但經過如此,VBEM算法與EM算法還有有很多不同之處的。比如迭代中,逼近最優值的過程是不一樣的,如下圖所示。在有限制的情況下,EM算法極大似然值是動態變化的。剛開始與當前最優值相差一個KL.在E步驟,下界逼近最大似然值(或者由於條件限制相差一點);然后在E步驟中,根據新參數重新確定新的似然值。如此往復,直到達到穩定。而在VBEM算法中,極大似然值是不變的。VBE與VBM步驟,都是逼近極大似然值的過程。

 

EM算法(with constrained)

 

VBEM算法

進一步討論

·        再談EM與VBEM

EM算法計算隨機變量(或歸類於參數)后驗分布的點估計,但估計潛在變量的真實后驗分布(至少在soft EM算法,並且經常只當潛在變量是離散化的情況)。這些參數的眾數(modes)作為點估計,無任何其他信息。

而在VB算法,計算所有變量的真實后驗分布的估計,包括參數和潛在變量。計算點估計的過程中,一般使用在貝葉斯推斷中常用的均值(mean)而非眾數。與此同時,應該注意的是計算參數在VB中與EM有不同的意義。EM算法計算貝葉斯網絡本身的參數的最優值。而VB計算用於近似參數和潛在變量的貝葉斯網絡的參數最佳值。正如之前的高斯混合模型例子,對於每一個混合部分都需要計算其參數。EM算法將會直接估計這些參數的最優值;而VB會先找一個合適的參數分布,通常是一個先驗分布的形式,然后計算這個分布的參數值,更准確說是超參數,最后得到聯合分布的各參數。

·        算法復雜度

 

·        信息耦合(Intractable Coupling)

 

改進:變分消息傳遞(Variational Message Passing, VMP)

從高斯混合模型的例子可以看出,傳統的變分貝葉斯方法對模型的推導是繁瑣而復雜的。而在推導邊緣概率的時候,我們也提到對數聯合概率的在一些參數下的期望可以簡化,我們只需要關心所求參數的馬爾科夫毯上的節點。另外,又認識到許多先驗和條件概率屬於指數分布族,而對數可以將乘積形式展開為加法。那么,我們是不是可以找到一些簡單計算方法或者統一的形式呢?

這便是變分消息傳遞(Variational Message Passing; John Winn, Bishop 2005)他們考慮了貝葉斯網絡中的共軛指數網絡(conjugate-exponential networks),這種方法使得充分統計量(sufficient statistics)與自然參數(natural parameter)都有一個標准形式(standard form),現在該方法已經取代了手工推導(derivation by hand),成為標准的變分貝葉斯推斷方法。而對於非共軛指數網絡(比如混合模型),也能通過進一步的近似轉化為標准形式。

·        貝葉斯網絡

變分信息傳遞方法是建立在貝葉斯網絡上的,如圖所示,對於一個節點Hj,它的父節點為paj,子節點為chj,子節點Xk的父節點為  。所有節點可以統稱為Hj的馬爾科夫毯,對於變分貝葉斯推理,我們只需要關系這個模型,H為參數或潛在變量,其父節點為它的超參數,子節點為數據樣本, co-parents為其他參數或潛在變量。

 

具體的,對於混合高斯模型,我們有如下圖模型,

 

·        指數分布族

定義:設  是可控參數統計結構,加入其密度函數可表示為如下形式:

 

並且它的支撐  不依賴於θ,則稱此結構為指數型的統計結構,簡稱指數結構,其中的分布族為指數分布族,這里的  都與θ無關,且取有限值的B可測函數,k為正整數,h(x)>0,常見指數分布族,如二項分布,二元正態分布,伽馬分布。

對於一個條件分布,如果它能寫成如下形式,則稱它屬於指數分布族,

 

其中  稱為自然參數(natural parameter)向量, 稱為自然統計(natural statistic)向量。  作為歸一化函數使得對於任意的Y都能整合到統一的形式。指數分布族的好處是它的對數形式是可計算的(be tractable to compute)並且它的狀態可以用自然參數向量所概括。

共軛指數模型(Conjugate-Exponential Model當變量X關於父節點Y的條件概率分布P(X|Y)為指數分布族,且為父節點分布P(Y)的共軛先驗,那么我們稱這樣的模型是共軛指數模型

我們考慮共軛指數模型,這樣后驗的每個因子與它的先驗都有相同的形式,因而我們只需要關心參數的變化,而無需整個函數。所謂相同的形式是指屬於同樣的分布,比如都屬於正態分布,伽馬分布,多項式分布等,后面我們將詳細說明。

·        自然統計量的期望

如果我們知道自然參數向量  ,那么我們就能找到自然統計量的期望。重寫指數分布族,用ϕ作為參數,g重新參數化( reparameterisation )為  則,

 

對X積分有,

 

然后對ϕ微分,

 

得自然統計量的期望,

  (1)   如何計算?u(X)表示什么意思?

·        變分分布Q在共軛指數模型下的最優化

不失一般性,考慮變分分布的一個因子Q(Y),Y為馬爾科夫毯上一個節點,子節點為X,如下圖所示。

 

根據指數族條件分布的一般形式,則變量Y關於父節點的條件概率為,

 (2)

的下標Y用於區分不同節點對數條件概率中的各成員。考慮Y的子節點 ,則X的關於其父節點的條件概率為,

(3)

可以將 可以看出Y的先驗, 作為Y的似然函數。共軛的要求是這兩個條件分布具有關於Y相同的函數形式,因而可以通過定義 和 函數將后者改寫成

(4)

為了更新Q(Y),需要找到(2),(3)式關於除Y外其他因子的期望。對任何指數族的自然統計量u的期望都可以用自然參數向量ϕ帶入(1)式得到。即對於任何變量A,都可以找到  。特別的,當A為被觀測量時,我們能直接計算得 .

從(3),(4)式可以看出 與 分布成線性關系。而共軛要求對數條件分布也會與所有的  成線性,  。因而看得出 是一個關於u的多線性函數(multi-linear function)。

重新考慮Y的變分更新方程,

 

其中 (5)

     正如以上所解釋的, 和 的期望都是關於自然統計量的多線性函數。因而有可能將以上期望重新參數化為

 

舉例:如果X服從 ,那么

 

其中  

 可以重參數化為  

·        下界L(Q)的計算

在貝葉斯網絡中,由於Q可因式分解,則有

 

L(Q)被分解為每一個節點上的貢獻值(contribution){Li},如節點Hj的貢獻值為

 

在變分消息傳遞算法中, 和 在找 的后驗分布時就已經計算了; 在 傳出消息的時候也已經計算了。這樣下界可以是分開計算的,大大降低了計算復雜性。

       特別地,對於每個觀測變量  對下界的貢獻值更簡單,

 

·        變分消息傳遞算法

現在我們已經准確知道節點之間的消息應該由什么樣的形式傳遞,那么定義變分消息傳遞算法:

  • 來自父節點的消息(Message from parents):父節點傳遞給子節點的消息只是自然統計量的期望:  

 (6)

  • 消息傳遞給父節點(Message to parents):依賴於X之前從Y的co-parents接收到的消息;對任何節點A,如果A是被觀測量,那么 ,

 (7)

用Y接收來自父節點與子節點的所有消息來計算 ,然后我們就能通過計算更新后的自然參數向量  來找到Y的更新后的后驗分布 , 的計算公式如下,

(8)

該式與(5)式一致。從(1)式可以看出自然統計量的期望 是 的單一函數,這樣我們就可以用它來計算期望的新值。變分消息傳遞算法通過反復迭代的消息傳遞來最優化變分分布。

完整的算法描述如下,

Step1. 通過初始化相關的矩向量  來初始化每個因子分布  .

Step2. 對於每一個節點  ,

  • 從父節點和子節點接收 (6),(7)式所定義的消息。前提是子節點已經從 的co-parents接收到消息。
  • 使用(8)式更新自然參數向量
  • 根據新的參數向量更新距向量

Step3. 計算新的下界 (如果需要)

Step4. 如果經過數次迭代已經無法增加下界值,或者各邊緣分布達到穩定值,則結束;否則回到第二步。

 

舉例:對於單一高斯模型(univariate Gaussian Model)消息傳遞過程如下圖(a)(b)(c)(d),

 

·        混合模型

到目前為止,我們只考慮了來自指數族的分布。而通常來講混合分布(Mixture Distribution)並非來自指數族,比如高斯混合模型。那么我們是否能將這些混合分布轉化為指數族的分布呢?

考慮高斯混合模型,通常有如下形式,

 

我們可以引入一個離散型潛在變量λ,表示每個觀測點是屬於哪個單高斯分布。在變分貝葉斯方法中,我們已經舉過該例子,故不加以描述。重寫分布函數為:

 

加入該λ變量后該分布屬於指數分布族,可寫成

 

如果X有孩子Z,那么共軛條件要求每一個成分都有相同的自然統計向量,統一定義為  。另外,我們可能要使模型的其他部分也有相同的形式,雖然不要求共軛,即 。在這種情況下,混合模型的每個成分都有相同的形式,我們寫成,

 

其中定義 。這樣對於每個成分來說條件分布都有了與指數分布族一樣的形式。我們便可以應用變分消息傳遞算法。從某個節點X傳遞個子節點的消息為 ,而這是通過混合參數向量 計算的。相似地,節點X到父親節點 的消息是那些以它為父節點的子節點發出的,而節點X中哪些屬於 是由指標變量 的后驗確定的。最后,從X到  的消息是一個K維向量,其中第k個元素為 .

應用

  • 隱馬爾科夫模型(Hidden Markov Model, HMM)
  • 混合因子分析(mixture of factor analysers)
  • 非線性動力系統(linear dynamical systems
  • 圖模型(Graphical models

總結

參考文獻

[1] V. Smidl, A.Quinn(2005), The Variational Bayes Method In Signal Processing, Signal and Communication Technology,

[2] Matthew J.Beal(1998), Variational Algorithms for Approximate Bayesian Inference, London, UK: University of Cambridge, PHD. Thesis

[3] John M. Winn(2003), Variational Message Passing and its Applications, University of Cambridge , PHD. Thesis

[4] John M. Winn, M. Bishop(2004), Variational Message Passing, Journal of Machine Learning Research

[5] Wikipedia, Variational Bayesian methods,  http://en.wikipedia.org/wiki/Variational_Bayes

[6] Charles W.Fox, Stephen J.Roberts(2011), A tutorial on variational Bayesian inference, Artif Intell Rev

[7] Jason Eisner(2011), High-Level Explanation of Variational Inference, http://www.cs.jhu.edu/~jason/tutorials/variational.html

[8] Michael I. Jordan, Z. Ghahramani(1999), An Introduction to Variational Methods for Graphical Models, Machine Learning.

[9] Tommi S. Jaakkola(2001), Tutorial on variational approximation methods, Advanced mean field methods: theory and practice


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM