Markov-Chain-Montecarlo
哈密 頓蒙特卡洛與順序蒙特卡洛
我試圖了解這兩種 MCMC 方案的相對優缺點以及不同的應用領域。
- 您什麼時候使用 which 以及為什麼?
- 什麼時候一個可能會失敗,而另一個不會(例如,HMC 在哪裡適用但 SMC 不適用,反之亦然)
- 是否可以天真地授予一種方法與另一種方法相比的效用度量(即,通常是一種更好的方法)?
Hamiltonian Monte Carlo 在具有“奇怪”形狀的連續目標分佈中表現良好。它要求目標分佈是可微的,因為它基本上使用目標分佈的斜率來知道去哪裡。完美的例子是香蕉形函數。
這是 Banana 函數中的標準 Metropolis Hastings:接受率為 66%,覆蓋率很差。
當目標分佈是多模態時,SMC(粒子過濾背後的方法)幾乎是無與倫比的,尤其是當有多個單獨的質量區域時。不是將一個馬爾可夫鏈困在一個模式中,而是有幾個並行運行的馬爾可夫鏈。請注意,您使用它來估計一系列分佈,通常是增加清晰度。您可以使用模擬退火(在目標上放置一個逐漸增加的指數)來生成不斷增加的清晰度。或者通常,在貝葉斯上下文中,分佈序列是後驗序列: $$ P(\theta|y_1) ;,; P(\theta|y_1,y_2);,;… ;,; P(\theta|y_1,y_2,…,y_N) $$
SMC 的並行特性使其特別適合分佈式/並行計算。
概括:
- HMC:適用於拉長的怪異目標。不適用於非連續函數。
- SMC:適用於多模式和非連續情況。對於高維怪異形狀,可能會收斂較慢或使用更多計算能力。
資料來源:大部分圖像來自我結合兩種方法(Hamiltonian Sequential Monte Carlo)撰寫的論文。這種組合幾乎可以模擬我們可以扔給它的任何分佈,即使在非常高的維度上也是如此。