摘要:本文將討論兩種可用于解決貝葉斯推理問題的主要方法基于采樣的馬爾可夫鏈蒙特卡羅,簡稱方法和基于近似的變分推理,簡稱方法。而貝葉斯推理則是從貝葉斯的角度產生統計推斷的過程。貝葉斯推理問題還可能會產生一些其他的計算困難。
全文共6415字,預計學習時長20分鐘或更長
圖片來源:pexels.com/@lum3n-com-44775
貝葉斯推理(Bayesian inference)是統計學中的一個重要問題,也是許多機器學習方法中經常遇到的問題。例如,用于分類的高斯混合模型或用于主題建模的潛在狄利克雷分配(Latent Dirichlet Allocation,簡稱LDA)模型等概率圖模型都需要在擬合數據時解決這一問題。
同時,由于模型設置(假設、維度……)不同,貝葉斯推理問題有時會很難解決。在解決大型問題時,精確的方案往往需要繁重的計算,要完成這些難以處理的計算,必須采用一些近似技術,并構建快速且有可擴展性的系統。
本文將討論兩種可用于解決貝葉斯推理問題的主要方法:基于采樣的馬爾可夫鏈蒙特卡羅(Markov Chain Monte Carlo,簡稱MCMC)方法和基于近似的變分推理(Variational Inference,簡稱VI)方法。
本文第一部分將討論貝葉斯推理問題,并介紹幾個機器學習應用的經典案例,當然,這些案例中會出現貝葉斯推理問題。第二部分將全面介紹用于解決該問題的MCMC技術,并詳細介紹其中的兩種算法:Metropolis-Hasting算法和吉布斯采樣(Gibbs Sampling)算法。最后,第三部分將介紹變分推斷,并了解如何通過優化參數化數族分布得到近似解。
注意,以a(∞)為標記的小節數學專業性非常強,跳過也不會影響對本文的整體理解。還要注意,本文中的p(.)可以用來表示概率、概率密度或概率分布,具體含義取決于上下文。
貝葉斯推理問題
這一部分提出了貝葉斯推理問題,討論了一些計算困難,并給出了LDA算法的例子。LDA算法是一種具體的主題建模機器學習技術,能夠反映貝葉斯推理問題。
統計推斷旨在根據可觀察到的事物來了解不可觀察到的事物。即,統計推斷是基于一個總體或一些樣本中的某些觀察變量(通常是影響)得出結論的過程,例如關于總體或樣本中某些潛在變量(通常是原因)的準時估計、置信區間或區間估計等。
而貝葉斯推理則是從貝葉斯的角度產生統計推斷的過程。簡而言之,貝葉斯范式是一種統計/概率范式,在這種范式中,每次記錄新的觀測數據時就會更新由概率分布建模的先驗知識,觀測數據的不確定性則由另一個概率分布建模。支配貝葉斯范式的整個思想嵌入在所謂的貝葉斯定理中,該定理表達了更新知識(“后驗”)、已知知識(“先驗”)以及來自觀察的知識(“可能性”)之間的關系。
一個經典的例子是用貝葉斯推理進行參數估計。假設一個模型中數據x是根據未知參數θ的概率分布生成的,并且有關于參數θ的先驗知識,可以用概率分布p(θ)來表示。那么,當觀察到數據x時,我們可以使用貝葉斯定理更新關于該參數的先驗知識,如下所示:
貝葉斯定理應用于給定觀測數據的參數推斷的說明。
計算困難
根據貝葉斯定理,后驗分布的計算需要三個條件:先驗分布、可能性和證據。前兩個條件很容易理解,因為它們是假設模型的一部分(在許多情況下,先驗分布和可能性是顯而易見的)。然而,第三個條件,即歸一化因子,需要如下計算:
雖然在低維中,這個積分可以較容易地計算出來,但在高維中它會變得難以處理。在上述案例中,對后驗分布進行精確計算是不可行的,必須使用一些近似技術(例如平均計算)來獲得后驗分布。
貝葉斯推理問題還可能會產生一些其他的計算困難。例如,當某些變量是離散的時候會產生組合學問題。馬爾可夫鏈蒙特卡羅(Markov Chain Monte Carlo,簡稱MCMC)和變分推理(Variational Inference,簡稱VI)是最常用于解決這些問題的兩種方法。下文將描述這兩種方法,尤其關注“歸一化因子問題”,但是應該記住,這些方法也可用于與貝葉斯推理相關的其他計算困難。
為了讓接下來的章節更易于理解,可以觀察到,由于x應該是給定的,因此可以作為參數,那么,θ的概率分布則被定義為歸一化因子
在描述MCMC和VI兩個部分之前,先來看一個具體例子,了解在機器學習LDA中存在的貝葉斯推理問題。
舉例
貝葉斯推理問題通常出現在需要假設概率圖模型或根據給定觀測值得出模型潛變量的機器學習方法中。在主題建模中,潛在狄利克雷分配(LDA)定義了一個用于描述語料庫文本的模型。因此,給定大小為V的完整語料庫詞匯表和給定數量為T的主題,模型假設:
· 對于每個主題,在詞匯表上都存在一個“主題詞”的概率分布(使用Dirichlet先驗假設)
· 對于每個文檔,在主題上都存在一個“文檔主題”的概率分布(使用另一個Dirichlet先驗假設)
· 對文檔中的每個單詞進行采樣。首先,從文檔的“文檔 - 主題”分布中對主題進行采樣;其次,從附加到采樣話題的“主題 - 單詞”分布中采樣一個單詞。
該方法的名稱來源于模型中假設的Dirichlet先驗,其目的是推斷觀察到的語料庫中的潛在主題以及每個文檔的主題分解。即使不深入研究LDA方法的細節,也可以粗略地用w來表示語料庫中單詞的向量,用z來表示與這些單詞相關的主題向量,用貝葉斯方法根據觀測到的w推斷出z:
由于維度過高,這里無法推斷出歸一化因子,同時,還存在組合問題(因為一些變量是離散的),需要使用MCMC方法或VI方法來獲得近似解。對主題建模及其特定的貝葉斯推理問題感興趣的讀者可以看看下面這篇關于LDA的參考文獻。
傳送門:http://www.jmlr.org/papers/vo...
LDA方法的說明。
馬爾可夫鏈蒙特卡洛(MCMC)方法
上文提到,貝葉斯推理問題中的主要困難來自于歸一化因子。本節將描述MCMC采樣方法,為歸一化因子以及與貝葉斯推理相關的其他計算困難提供解決方案。
采樣方法
采樣方法如下,首先假設有一種方法(MCMC)可以從由一個因子定義的概率分布中抽取樣本。然后,可以從這個分布中得到樣本(僅使用未標準化的部分定義),并使用這些樣本計算各種準時統計量,如均值和方差,甚至通過核密度估計來求得近似分布,從而避免處理涉及后驗的棘手計算。
與下一節所述的VI方法相反,對所研究的概率分布(貝葉斯推理中的后驗分布)MCMC方法無需假設模型。因此,該方法具有低偏差但高方差,這意味著大多數情況下,獲得的結果比從VI方法中得到的結果花費更多時間精力,但也更準確。
總結本小節,即上述的采樣過程并不局限于后驗分布的貝葉斯推理,它還可以普遍用于所有由歸一化因子定義的概率分布。
采樣方法(MCMC)的說明。
MCMC方法的概念
在統計學中,馬爾可夫鏈蒙特卡羅(MCMC)算法旨在從給定的概率分布中生成樣本。該方法名稱中的“蒙特卡羅”部分是出于取樣目的,而“馬爾可夫鏈”部分來自獲取這些樣本的方式。
為了得到樣本,要建立一個馬爾可夫鏈,從其平穩分布中獲得樣本。然后,可以從馬爾可夫鏈中模擬隨機的狀態序列,該序列足夠長,能夠(幾乎)達到穩態,再保留生成的一些狀態作為樣本。
在隨機變量生成技術中,MCMC是一種相當高級的方法,可以從一個非常困難的概率分布中獲得樣本,這個概率分布可能僅由一個乘法常數定義。更出乎意料的是,可以用MCMC從一個未經標準化的分布中獲得樣本,這來自于定義馬爾可夫鏈的特定方式,馬爾可夫鏈對這些歸一化因子并不敏感。
MCMC方法旨在從一個困難的概率分布中生成樣本,該概率分布可以僅由一個因子定義而成。
馬爾可夫鏈的定義
整個MCMC方法是基于馬爾可夫鏈的建立,并從其平穩分布中取樣。為此,Metropolis-Hasting和吉布斯采樣算法都使用了馬氏鏈的一個特殊性質:可逆性。
狀態空間為E的馬爾可夫鏈,轉移概率由下式表示
如果存在概率分布γ,上式則是可逆的
對于這樣的馬氏鏈,可以很容易地證明有
然后,γ是一個平穩分布(對不可約馬氏鏈來說,也是唯一一個平穩分布)。
現在假設想要采樣的概率分布π僅由一個因子定義
(其中C是未知的乘法常數)??梢宰⒁獾揭韵碌仁匠闪?/p>
接著,是轉移概率為k(.,.)的馬爾可夫鏈被定義為驗證過去的等式,如預期那樣將π定義為平穩分布。因此,我們可以定義一個馬爾可夫鏈的平穩概率分布為π,該分布不能精確計算。
Gibbs采樣轉換(∞)
假設待定義的Markov鏈是D維的,則
吉布斯采樣(Gibbs Sampling)假設即使在無法得知聯合概率的情況下,也可以基于其他維度計算得出某一維度的條件分布?;诖思僭O,Gibbs采樣轉換可定義為,下一階段狀態,如在n+1次迭代的狀態,可由如下步驟得出。
首先,從D維X_n中隨機選擇一個整數d。然后,根據相應的條件概率,通過采樣賦予維度d一個新數值。這一過程中,其他維度保持如下狀態不變:
其中
是基于其他維度得出的第d個維度的條件分布。
通常,設
則轉換概率可以表示為
并且,在唯一有意義的情況下,局部平衡按預期得到了驗證
Metropolis-Hasting轉換(∞)
有時候,計算Gibbs采樣中的條件分布也是很復雜的。在這種情況下,可以采用Metropolis-Hasting算法。運用該算法,需要先定義一個側向的轉換概率h(.,.),該概率將被用于建議轉換。下一階段(n+1次迭代)Markov鏈的狀態可由如下步驟得出。首先,從h中生成“建議轉換”x,并計算一個關聯概率r用于接受x:
可以得到如下有效轉換
通常,轉換概率可以表示為
同時,局部平衡按預期得到了驗證
采樣過程
定義Markov鏈后,模擬一串隨機狀態序列(隨機初始化數值),并對其中一些狀態進行設定,如設置為服從目標分布的獨立樣本。
第一步,為了讓樣本(近似)服從目標分布,僅考慮與初始設定序列狀態相差大的狀態,使Markov鏈近似達到穩定狀態(理論上來說,漸進達到穩定狀態)。這樣一來,初始設定狀態就沒樣本那么有用了。這一達到平穩的階段被稱為老化時間(burn-in time)。需要注意的是,實際操作中很難知道該階段會持續多長時間。
第二步,為了獲得(近似)獨立樣本,不能把所有的序列連續狀態都放在老化時間之后。實際上,Markov鏈的定義中就已經表明了兩個連續狀態之間有很強的聯系。因此,需要把狀態相差很遠的樣本默認為近似獨立。在實際操作中,可以通過分析自相關函數來預測兩個近似獨立狀態間所需要的滯后(僅限于數值數據)。
所以,為了得到服從目標分布的獨立樣本,需要從位于老化時間B之后的、彼此間滯后為L的初始序列中分離出狀態。設Markov鏈連續狀態為
則樣本狀態為
MCMC采樣需要考慮老化時間和滯后。
變分推斷(VI)
另一個可用于解決復雜推斷計算問題的方法是變分推斷(Variational Inference,簡稱VI)。VI旨在找到參數化數族的最優近似分布。為此,需要遵循一個優化過程(優化數族里的參數),該過程需要僅由一個因子定義的目標分布。
逼近法
給定一個數族,VI旨在搜尋該數族中某些復雜目標概率分布的最優近似解。具體來說,VI定義一個參數化數族分布,并通過優化參數得到具有確定誤差測量的最接近目標的元素。
將歸一化因子C的概率分布π定義為:
應用數學術語,設參數化數族分布為
對于兩個分布p和q的誤差測量E(p,q),搜尋如下最優參數
如果想要在未明確標準化π的情況下解決該問題,那么不需要復雜的計算,f_
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45254.html
摘要:百度網盤提取碼最近一直關注貪心學院的機器學習訓練營,發現這門課講的很有深度,不僅適合職場也適合科研人員,加入行業拿到高薪僅僅是職業生涯的開始。 ??百度網盤??提取碼:u6C4最近一直關注貪心學院的機器學習訓練營,發現這門課講的很有深度,不僅適合職場也適合科研人員,加入AI行業拿到高薪僅僅是職業生涯的開始?,F階段AI人才結...
摘要:相比于,它將也作為隱變量納入到變分推斷中。結論綜述本文的結果表明了變分推斷確實是一個推導和解釋生成模型的統一框架,包括和。 作者丨蘇劍林單位丨廣州火焰信息科技有限公司研究方向丨NLP,神經網絡個人主頁丨kexue.fm前言我小學開始就喜歡純數學,后來也喜歡上物理,還學習過一段時間的理論物理,直到本科畢業時,我才慢慢進入機器學習領域。所以,哪怕在機器學習領域中,我的研究習慣還保留著數學和物理的...
摘要:我們還經驗性地演示了貝葉斯在語言建?;鶞屎蜕蓤D說任務上優于傳統,以及通過使用不同的訓練方案,這些方法如何改進我們的模型。第節和第節分別回顧了通過反向傳播做貝葉斯,和通過時間做反向傳播。 摘要在這項工作里,我們探討了一種用于 RNN 的簡單變分貝葉斯方案(straightforward variational Bayes scheme)。首先,我們表明了一個通過時間截斷反向傳播的簡單變化,能...
摘要:而從貝葉斯概率視角描述深度學習會產生很多優勢,即具體從統計的解釋和屬性,從對優化和超參數調整更有效的算法,以及預測性能的解釋這幾個方面進一步闡述。貝葉斯層級模型和深度學習有很多相似的優勢。 論文地址:https://arxiv.org/abs/1706.00473深度學習是一種為非線性高維數據進行降維和預測的機器學習方法。而從貝葉斯概率視角描述深度學習會產生很多優勢,即具體從統計的解釋和屬性...
閱讀 1110·2021-09-22 15:37
閱讀 1135·2021-09-13 10:27
閱讀 2473·2021-08-25 09:38
閱讀 2449·2019-08-26 11:42
閱讀 1531·2019-08-26 11:39
閱讀 1558·2019-08-26 10:58
閱讀 2325·2019-08-26 10:56
閱讀 2573·2019-08-23 18:08