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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习之MCMC算法

發布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习之MCMC算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、MCMC概述

  從名字我們可以看出,MCMC由兩個MC組成,即蒙特卡羅方法(Monte?Carlo Simulation,簡稱MC)和馬爾科夫鏈(Markov Chain ,也簡稱MC)。之前已經介紹過蒙特卡洛方法,接下來介紹馬爾科夫鏈,以及結合兩者的采樣算法。

?

2、馬爾科夫鏈

  馬爾科夫鏈的概念在很多地方都被提及過,它的核心思想是某一時刻狀態轉移的概率只依賴于它的前一個狀態。  

  我們用數學定義來描述,則假設我們的序列狀態是...Xt?2,?Xt?1,?Xt,?Xt+1,...,那么我們的在時刻Xt+1的狀態的條件概率僅僅依賴于時刻Xt,即:

  

  既然某一時刻狀態轉移的概率只依賴于它的前一個狀態,那么我們只要能求出系統中任意兩個狀態之間的轉換概率,這個馬爾科夫鏈的模型就定了。狀態轉移情況如下圖所示

  

  則狀態轉移矩陣可以表示為

  

  此時,我們給定一個初始狀態,然后經過該狀態轉移矩陣的轉換,最終會收斂到一個穩定的狀態,具體如馬爾科夫鏈定理所示

  

  由于馬爾科夫鏈能收斂到平穩分布, 于是有了一個想法:如果我們能構造一個轉移矩陣為P的馬氏鏈,使得該馬氏鏈的平穩分布恰好是p(x), 那么我們從任何一個初始狀態x0出發沿著馬氏鏈轉移, 得到一個轉移序列 x0, x1, x2,?xn, xn+1?, 如果馬氏鏈在第n步已經收斂了,于是我們就得到了 π(x) 的樣本xn, xn+1?(也就是從第n步收斂時開始,之后的x都服從同一個平穩分布,我們可以將這個分布設定為我們的目標采樣分布)。

  從上面可以看出馬爾科夫鏈的平穩分布收斂主要依賴于狀態轉移矩陣,所以關鍵是如何構建狀態轉移矩陣,使得最終的平穩分布是我們所要的分布。想做到這一點主要依賴于細致平穩定理

  

?

3、MCMC采樣和M-H采樣

  在MCMC采樣中先隨機一個狀態轉移矩陣Q,然而該矩陣不一定能滿足細致平穩定理,一次會做一些改進,具體過程如下

  

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

  

  然而關于MCMC采樣有收斂太慢的問題,所以在MCMC的基礎上進行改進,引出M-H采樣算法

  

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

  

  M-H算法在高維時同樣適用

  

  一般來說M-H采樣算法較MCMC算法應用更廣泛,然而在大數據時代,M-H算法面臨著兩個問題:

  1)在高維時的計算量很大,算法效率很低,同時存在拒絕轉移的問題,也會加大計算量

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

?

4、Gibbs采樣

  

  

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

  

  而在多維的情況下,比如一個n維的概率分布π(x1,?x2,?...xn),我們可以通過在n個坐標軸上輪換采樣,來得到新的樣本。對于輪換到的任意一個坐標軸xi上的轉移,馬爾科夫鏈的狀態轉移概率為P(xi|x1,?x2,?...,?xi?1,?xi+1,?...,?xn),即固定n?1個坐標軸,在某一個坐標軸上移動。而在多維的情況下Gibbs采樣算法的流程如下

  

  由于Gibbs采樣在高維特征時的優勢,目前我們通常意義上的MCMC采樣都是用的Gibbs采樣。當然Gibbs采樣是從M-H采樣的基礎上的進化而來的,同時Gibbs采樣要求數據至少有兩個維度,一維概率分布的采樣是沒法用Gibbs采樣的,這時M-H采樣仍然成立。

轉載于:https://www.cnblogs.com/jiangxinyang/p/9359276.html

總結

以上是生活随笔為你收集整理的机器学习之MCMC算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。