热门问题
时间线
聊天
视角
變分貝葉斯方法
来自维基百科,自由的百科全书
Remove ads
變分貝葉斯方法是近似貝葉斯推理與機器學習中較難積分的一系列技術,通常用於由觀測變量及未知參數、潛變量組成的複雜統計模型,之間存在的各種關係可用圖模式描述。貝葉斯推理中,參數和潛變量一般歸為「未觀察變量」。變分貝葉斯方法主要用於兩個目的:
- 提供未觀測變量後驗概率的分析近似,以便對變量統計推斷
- 得出觀測數據的邊緣似然的下界(即給定模型的數據的邊緣概率,邊緣化未觀測變量)。通常用於模型選擇,一般認為給定模型的邊緣似然越高,擬合效果越好,產生數據的可能性越大(另見貝葉斯因子)。
![]() | 此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
就目的1(近似後驗概率),變分貝葉斯是蒙特卡洛法(特別是馬爾可夫鏈蒙特卡洛,如吉布斯採樣)的替代,可採用完全貝葉斯的方法,對難以取值或抽樣的複雜分布進行統計推斷。蒙特卡洛技術利用一組樣本對精確後驗值進行數值近似,而變分貝葉斯可求近似後驗的局部最優的精確解析解。
變分貝葉斯可視作最大期望算法(EM)的推廣,從估計參數的單一最似然值的最大後驗概率(MAP估計),推廣到計算參數及潛變量的整個近似後驗分布的完全貝葉斯估計。貝葉斯估計同EM一樣,也能找到一組最優參數值,且與EM有相同的交替結構——基於不能求解析解的相依方程組。
很多應用中,變分貝葉斯能更快得到與吉布斯採樣精度相當的解,但推導迭代方程組需要更多工作。即便是很多概念上非常簡單的模型也如此,下面以只有2個參數、沒有潛變量的基本不分層模型為例說明。
Remove ads
數學推導
變分推斷中,數據的一組未觀測變量的後驗分布近似於所謂變分分布
分布屬於在形式上比簡單的分布族(如高斯分布族),這是為使與真實後驗更相似。
相似性用不相似函數衡量,推斷(inference)通過求分布使最小化進行。
Remove ads
最常見的變分貝葉斯法以Q與P的KL散度作為不相似函數,很適合最小化。KL散度的定義是
注意Q和P是相反的。反向KL散度在概念上類似於期望最大化算法(KL散度則產生期望傳播算法)。
變分技術通常用於近似以下參數:
對邊緣化(以計算分母中的)通常是難解的,因為的搜索空間在組合上可能很大。因此,我們用求近似。
Remove ads
考慮到,KL散度也可寫作
因為是分布,所以;又由於對於是常數,所以
重排為
由於對數證據對於Q是定值,最大化末項會使Q對P的KL散度最小化。適當選擇Q可以讓更容易計算,更容易最大化,因此既有後驗的解析近似Q,也有對數證據的下界(KL散度非負)。
下界與熱力學自由能類似,也稱作(負)變分自由能,因為它也可以表為負能量加Q的熵。項也稱作證據下界(ELBO),是數據的對數證據的下界。
Remove ads
根據布雷格曼散度(KL散度是其特例)的廣義勾股定理,可以證明[1][2]

其中是凸集,且
時等號成立。這時,全局最小值,其中可以如下求得:[1]
其中歸一化常數為
項在實踐中常稱作證據下界(ELBO),因為,[1]如上所示。
交換的角色,可以迭代計算真實模型邊際的近似。這種迭代保證單調收斂,[1]但收斂到的只是的局部極小值。
若約束空間被限制在獨立空間內,即,則上述迭代將成為所謂平均場近似(mean field approximation)。
Remove ads
平均場近似
變分分布常被假定為潛變量的某劃分的因式分解,即對潛變量的劃分,
由變分法可以證明,對每個因子的最佳分布(就KL散度最小的分布而言,如上所述)滿足[3]
其中是數據與潛變量的對數聯合概率的期望值,是相對於不屬於劃分的所有變量的而取。關於的推導見[4]的引理 4.1。
實踐中,通常用對數表示:
上式中的常數與歸一化常數(上述表達式中的分母)有關,通常通過檢查來恢復,因為表達式的其餘部分通常是已知的分布(如正態分布、伽馬分布等)。
利用期望的性質,式通常可簡為潛變量先驗分布的固定超參數及不屬於當前劃分的潛變量(即不屬於的潛變量)的期望值的函數(有時還包括方差等高階矩)。這就在某一划分的變量分布參數同其他劃分的變量的期望值之間產生了循環依賴,自然就需要類似期望最大化算法的迭代法,以某種方式(也許隨機)初始化潛變量期望(可能還有高階矩),再利用當前期望依次計算每個分布的參數、適當設置新算出的分布的期望。這種算法保證收斂。[5]
換一種說法,對每個變量劃分,簡化其中變量分布的表達式、研究分布與相關變量的函數依賴關係,通常就能確定分布的族(反過來確定了常數)。分布的參數公式可用先驗分布的超參數(已知常數)表示,也可用其他劃分中變量函數的期望表示。通常這些期望可簡為變量本身的期望值函數(即平均值);有時也會出現變量平方(與變量方差有關)或更高次冪()高階矩)的期望。其他變量的分布一般來自已知族,相關期望的公式可查到;但公式取決於分布的參數,參數又取決於其他變量的期望,所以每個變量的分布參數公式都可表為一群變量間非線性相互依賴的方程。通常不能直接求解,不過可以用簡單的迭代算法,大多數時候都能保證收斂。
Remove ads
變分推理對偶公式

下面的定理稱作變分推理對偶公式,[4]解釋了變分貝葉斯方法中變分分布的一些重要性質。
概率空間,其中。假設存在共同的主導概率測度使。令h是上的任意實值隨機變量,滿足,則下列等式成立
考慮兩此外,當且僅當(supremum)
關於概率測度Q幾乎是確定的,其中分別表示概率測度P、Q對的Radon–Nikodym導數,右式才取上界。
Remove ads
基本例子
考慮簡單的不分層貝葉斯模型,由來自正態分布(均值、方差未知)的獨立同分布觀測量組成。[6]下面我們將詳細介紹這模型,以說明變分貝葉斯方法的工作原理。
為了數學上的方便,下例中我們用精度(即方差倒數;多元正態分布時是協方差矩陣的逆。理論上精度和方差等價,因為兩者間是雙射)。
將共軛先驗分布置於未知均值、精度,即均值也遵循高斯分布,而精度遵循伽馬分布。
先驗分布超參數、是已知定值,可設為小正數,以得到較寬的先驗分布,表明我們對、的先驗分布一無所知。
已知N個數據點,而我們的目標是推斷參數的後驗分布。
Remove ads
所有變量的聯合概率可重寫為
個體因子是
其中
Remove ads
假設,即後驗分布因式分解為的獨立因子。這種假設是變分貝葉斯方法的基礎。事實上,真正的後驗分布並非如此(這種簡單情形我們知道它是正態-伽馬分布),因此所得結果將是近似值。
則
上面的推導中,指對為常數的值。注意項不是的函數,無論的值是多少,它都不變。因此,第三行中可以把它吸收到末尾的常數項,第七行也如此。
最後一行是的二次多項式。由於這是的對數,我們可以看到本身是正態分布。
通過一些繁瑣的計算(展開括號里的平方、分離出涉及、的項、對應用配方法),可得到正態分布的參數:
注意上面所有步驟用二次和公式都能化簡。
即
的推導大致相同,簡潔起見略去細節。
兩側取指數,可見服從伽馬分布。
回憶前幾節的結論:
每種情形下,某變量的分布參數取決於對另一變量的期望。可用正態分布和伽馬分布矩期望的標準公式推廣期望:
大多數時候將這些公式應用到上述方程不困難,但需要更多工作:
這樣就可以寫出參數方程如下,不需要期望:
注意和存在相互依賴關係,自然產生了類似最大期望算法的算法:
- 計算用所得值計算
- 初始化為任意值。
- 用的現值和其它參數的已知值計算。
- 用的現值和其它參數的已知值計算。
- 重複最後兩部,直到收斂(即直到兩值的更新量不超過閾值)。
然後就有了後驗參數近似分布的超參數值,可用於計算後驗的任何屬性,如均值、方差、95%最高密度區域(包含總概率95%的最小區間)等等。
可以證明這種算法保證收斂到局部極大值。
還要注意,後驗分布與相應的先驗分布有同樣的形式。只需假設分布可以分解,分布形式便隨之而來。事實證明,後驗、先驗形式相同並非巧合,而是先驗分布為指數族成員時的一般結果,大多數標準分布都如此。
進一步討論
上面例子展示了給定貝葉斯網絡中推導後驗概率密度的變分貝葉斯近似的方法:
- 用圖模式描述網絡,確定觀察變量(數據)和未觀察變量(參數、潛變量)及其條件概率分布。之後,變分貝葉斯構建後驗概率,這近似具有可分解分布的基本特性,即是多個獨立分布在不相交的未觀測變量子集上的積。
- 將未觀測變量劃分為多個子集,在其上推導出獨立因子。這種方法沒有通用的程序,子集太多會使近似結果不佳,子集過少會使整個變分貝葉斯方法變得難以實現。第一種分割方法是將參數和潛變量分開,一般足以產生可操作的結果。劃分記作。
- 對給定的劃分,用基本方程寫出最佳近似分布。
- 用圖模式填寫聯合概率分布公式。任何不涉及中變量的分量條件分布都可忽略,它們將被摺疊到常數項中。
- 按上面例子,簡化公式並應用期望算子。理想情況下這應該簡化為不屬於的變量的基本函數的期望(如第一或第二原始矩、對數期望等等)。為讓變分貝葉斯方法順利運行,這些期望值通常應可以解析地表為變量分布的參數和/或超參數的函數。這些期望項對當前劃分的變量都是常數。
- 式對當前劃分中變量的函數形式表明了分布的類型。特別地,取公式指數,便得到分布的概率密度函數(PDF)(或至少是與之成正比的函數,帶未知歸一化常數)。要使方法可操作,應能識別出函數形式所屬的已知分布;要將公式轉為匹配已知分布的PDF的形式,可能需要大量計算。若能做到,就可根據定義恢復歸一化常數,並提取公式中的適當部分得到已知分布的參數方程。
- 期望都可用非當前劃分變量的函數進行解析替換、並將PDF轉為可與已知分布相對應的形式,此時結果應是一組方程,將最優參數值表為其他劃分變量參數的函數。
- 若這程序適用於所有劃分,就會產生相互依賴的方程組,指明所有參數的最優值。
- 最大期望算法型程序可為每個參數選取初值,再迭代。每一步中,我們都會在方程中循環,依次更新每個參數。可以確證收斂。
另見
參考文獻
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads