日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MCMC 和 Gibbs采样

發(fā)布時(shí)間:2023/12/2 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCMC 和 Gibbs采样 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

0. MCMC

從名字我們可以看出,MCMC由兩個(gè)MC組成,即蒙特卡羅方法(Monte Carlo Simulation,簡(jiǎn)稱MC)和馬爾科夫鏈(Markov Chain ,也簡(jiǎn)稱MC)。
Monte Carlo (蒙特卡羅)的核心是尋找一個(gè)隨機(jī)的序列。

0.1 MCMC是什么

那MCMC到底是什么呢?《告別數(shù)學(xué)公式,圖文解讀什么是馬爾可夫鏈蒙特卡羅方法》里面這樣解釋:MCMC方法是用來(lái)在概率空間,通過(guò)隨機(jī)采樣估算興趣參數(shù)的后驗(yàn)分布

說(shuō)的很玄,蒙特卡羅本來(lái)就可以采樣,馬爾科夫鏈可以采樣,為啥要將他們合在一起?下面給出兩個(gè)動(dòng)機(jī),后面將從蒙特卡羅開始一直推到gibbs采樣,來(lái)深入了解為什么需要MCMC。

再次感謝劉建平MCMC,他是網(wǎng)上寫的最詳細(xì)的——將整個(gè)脈絡(luò)梳理出來(lái)了,看完收獲很多。本文幾乎涵蓋了它所有內(nèi)容,因此只能算一篇讀書筆記。

1.2 為什么需要MCMC

1. 背景

給定一個(gè)的概率分布 P(x), 我們希望產(chǎn)生服從該分布的樣本。

前面介紹過(guò)一些隨機(jī)采樣算法(如拒絕采樣、重要性采樣)可以產(chǎn)生服從特定分布的樣本,但是這些采樣算法存在一些缺陷(如難以選取合適的建議分布,只適合一元隨機(jī)變量等)。

下面將介紹一種更有效的隨機(jī)變量采樣方法:MCMC 和 Gibbs采樣,這兩種采樣方法不僅效率更高,而且適用于多元隨機(jī)變量的采樣。

2. MCMC 采樣

2.1 隨機(jī)矩陣

在MCMC采樣中先隨機(jī)一個(gè)狀態(tài)轉(zhuǎn)移矩陣Q,然而該矩陣不一定能滿足細(xì)致平穩(wěn)定理,一次會(huì)做一些改進(jìn),具體過(guò)程如下

2.2 算法具體流程

MCMC采樣算法的具體流程如下

2.3 MCMC: Metropolis-Hastings algorithm

然而關(guān)于MCMC采樣有收斂太慢的問(wèn)題,所以在MCMC的基礎(chǔ)上進(jìn)行改進(jìn),引出M-H采樣算法

M-H 算法的具體流程如下

M-H算法在高維時(shí)同樣適用

2.3.1 基本概念

從一個(gè)概率分布(目標(biāo)分布P(x)P(x)P(x))中得到隨機(jī)樣本序列
這個(gè)序列可以用于:a) 近似估計(jì)分布P(x)P(x)P(x); b) 計(jì)算積分(期望)
用于高維分布取樣
缺陷: MCMC固有缺點(diǎn), 樣本自相關(guān)性

2.3.2 優(yōu)勢(shì)

可以從任意的概率分布P(x)P(x)P(x)中取樣,只要滿足條件:函數(shù)f(x)成比例于P(x)P(x)P(x)的密度。
更寬松的要求:f(x)f(x)f(x)僅需要與P(x)P(x)P(x)的密度成比例。

2.3.3 要點(diǎn)

  • 生成樣本值序列;樣本值產(chǎn)生得越多,這些值的分布就越近似于P(x)P(x)P(x)
  • 迭代產(chǎn)生樣本值:下一個(gè)樣本的分布僅僅取決于當(dāng)前樣本值(馬爾科夫鏈特性)
  • 接受/拒絕概率:接受計(jì)算出的值為下一個(gè)樣本值/拒絕并重復(fù)使用當(dāng)前樣本值;基于P(x)P(x)P(x),接受概率通過(guò)比較f(xt)f(x_t)f(xt?)(當(dāng)前值)和f(x′)f(x')f(x)(備選值)得出

2.3.4 Metropolis Algorithm (對(duì)稱分布)

Input: f(x)f(x)f(x),與目標(biāo)分布P(x)P(x)P(x)成比例的函數(shù)

2.3.4.1 初始化:

2.3.4.2 迭代ttt

2.3.5 缺陷

  • 樣本自相關(guān):相鄰的樣本會(huì)相互相關(guān),雖然可以通過(guò)每nnn步取樣的方式來(lái)減少相關(guān)性,但這樣的后果就是很難讓樣本近似于目標(biāo)分布P(x)P(x)P(x)
  • 自相關(guān)性可通過(guò)增加步調(diào)長(zhǎng)度(jumping width,與jumping function g(x∣y)g(x|y)g(xy)的方差有關(guān))來(lái)控制,但同時(shí)也增加了拒絕備選樣本的幾率α\alphaα
  • 過(guò)大或過(guò)小的jumping size會(huì)導(dǎo)致slow-mixing Markov Chain, 即高度自相關(guān)的一組樣本,以至于我們需要得到非常大的樣本量nnn才能得到目標(biāo)分布P(x)P(x)P(x)
    • 初始值的選擇:盡管Markov Chain最后都會(huì)收斂到目標(biāo)分布,然而初始值的選擇直接影響到運(yùn)算時(shí)間,尤其是把初始值選在在了“低密度”區(qū)域。因此,選擇初值時(shí),最好加入一個(gè)“burn-in period”(預(yù)燒期,預(yù)選期)。

    2.3.6 優(yōu)勢(shì)

    • 抗“高維魔咒”(curse of dimensionality):維度增加,對(duì)于rejection sampling方法來(lái)說(shuō),拒絕的概率就是呈指數(shù)增長(zhǎng)。而MCMC則成為了解決這種問(wèn)題的唯一方法
    • 多元分布中,為了避免多元初始值以及 g(x∣y)g(x|y)g(xy)選擇不當(dāng)而導(dǎo)致的問(wèn)題,Gibbs sampling是另外一個(gè)更適合解決多元分布問(wèn)題的MCMC 方法。Gibbs sampling從多元分布的各個(gè)維度中分別選擇初始值,然后這些變量分別同時(shí)取樣。

    2.3.7 衍生算法


    2.3.8 小結(jié)

    一般來(lái)說(shuō)M-H采樣算法較MCMC算法應(yīng)用更廣泛,然而在大數(shù)據(jù)時(shí)代,M-H算法面臨著兩個(gè)問(wèn)題:

    1)在高維時(shí)的計(jì)算量很大,算法效率很低,同時(shí)存在拒絕轉(zhuǎn)移的問(wèn)題,也會(huì)加大計(jì)算量

    2)由于特征維度大,很多時(shí)候我們甚至很難求出目標(biāo)的各特征維度聯(lián)合分布,但是可以方便求出各個(gè)特征之間的條件概率分布(因此就思考是否能只知道條件概率分布的情況下進(jìn)行采樣)。

    3. Gibbs 采樣


    3.1 二維的流程

    因此可以得出在二維的情況下Gibbs采樣算法的流程如下

    3.2 多維

    而在多維的情況下,比如一個(gè)n維的概率分布π(x1, x2, …xn),我們可以通過(guò)在n個(gè)坐標(biāo)軸上輪換采樣,來(lái)得到新的樣本。

    對(duì)于輪換到的任意一個(gè)坐標(biāo)軸xi上的轉(zhuǎn)移,馬爾科夫鏈的狀態(tài)轉(zhuǎn)移概率為 P(xi|x1, x2, …, xi?1, xi+1, …, xn),即固定n?1個(gè)坐標(biāo)軸,在某一個(gè)坐標(biāo)軸上移動(dòng)。

    而在多維的情況下Gibbs采樣算法的流程如下

    3.3 小結(jié)

    由于Gibbs采樣在高維特征時(shí)的優(yōu)勢(shì),目前我們通常意義上的MCMC采樣都是用的Gibbs采樣。

    當(dāng)然Gibbs采樣是從M-H采樣的基礎(chǔ)上的進(jìn)化而來(lái)的,同時(shí)Gibbs采樣要求數(shù)據(jù)至少有兩個(gè)維度,一維概率分布的采樣是沒法用Gibbs采樣的,這時(shí)M-H采樣仍然成立。

    4. 其他算法

    除了最常見的MH那幾個(gè)算法,后來(lái)還有很多新的比較驚艷的算法出現(xiàn),比如說(shuō)slice sampling,elliptical slice sampling,generalized elliptical slice sampling,上面說(shuō)的BPS, forward event chain MC,還有和神經(jīng)網(wǎng)絡(luò)結(jié)合的NNGHMC,A-Nice-MC,以及利用了batch optimization思想的stochastic gradient HMC以及stochastic gradient Langevin dynamic等。

    5. 參考資料

    以下為列表,鏈接見原文

    統(tǒng)計(jì)之都-MCMC

    HANS-MCMC 算法及其應(yīng)用

    知乎-MCMC 專欄

    機(jī)器學(xué)習(xí)之MCMC算法

    知乎-MCMC 算法

    知乎-MCMC 算法中接受概率是什么意思

    MCMC 和 Metropolis–Hastings 算法

    馬爾可夫鏈蒙特卡洛(MCMC)算法

    CSDN-MCMC

    MCMC相關(guān)算法介紹及代碼實(shí)現(xiàn)

    算法資料
    http://civs.stat.ucla.edu/MCMC/MCMC_tutorial.htm

    http://www.soe.ucsc.edu/classes/cmps290c/Winter06/paps/mcmc.pdf

    http://public.lanl.gov/kmh/talks/maxent00b.pdf

    http://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo

    google keywords: MCMC tutorial

    MCMC preprint service:

    http://www.statslab.cam.ac.uk/~mcmc/

    David MacKay’s book (electronic version availiable):

    http://www.inference.phy.cam.ac.uk/mackay/itila/

    Radford M. Neal’s review: Probabilistic Inference using Markov Chain Monte Carlo Methods

    http://www.cs.toronto.edu/~radford/review.abstract.html

    原文鏈接:
    https://zhuanlan.zhihu.com/p/37121528
    https://houbb.github.io/2020/01/28/math-05-mcmc
    https://zhuanlan.zhihu.com/p/21112618

    總結(jié)

    以上是生活随笔為你收集整理的MCMC 和 Gibbs采样的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。