機器學習之采樣和變分(八)
摘要:
當我們已知模型的存在,想知道參數的時候我們就可以通過采樣的方式來獲得一定數量的樣本,從而學習到這個系統的參數。變分則是在采樣的基礎上的一次提升,采用相鄰結點的期望。這使得變分往往比采樣算法更高效:用一次期望計算代替了大量的采樣。直觀上,均值的信息是高密(dense)的,而采樣值的信息是稀疏(sparse)的。
預備知識:
隱馬爾科夫模型、EM算法
一、采樣
1、為何要采樣?
前提:模型已經存在,但參數未知;
n方法:通過采樣的方式,獲得一定數量的樣本,從而學習該系統的參數。
現需要對概率密度函數f(x)的參數進行估計,若已知的某概率密度函數g(x)容易采樣獲得其樣本,可以如何估計f(x)的參數?(若離散分布,則f(x)為概率分布律。)
一個簡單粗暴的采樣算法:再拒絕采樣法(Rejection sampling)
利用已有的概率密度函數g(x)隨機采樣生成樣本,拒絕不在f(x)內的樣本
2、重述采樣——馬爾科夫鏈
采樣:給定概率分布p(x),如何在計算機中生成它的若幹樣本?
方法:馬爾科夫鏈模型
考慮某隨機過程π,它的狀態有n個,用1~n表示。記在當前時刻t時位於i狀態,它在t+1時刻位於j狀態的概率為P(i,j)=P(j|i):即狀態轉移的概率只依賴於前一個狀態。
馬爾科夫隨機過程的平穩分布:初始概率不同,但經過若幹次叠代,π最終穩定收斂在某個分布上。
上述平穩分布的馬爾科夫隨機過程對采樣帶來很大的啟發:對於某概率分布π,生成一個能夠收斂到概率分布π的馬爾科夫狀態轉移矩陣P,則經過有限次叠代,一定可以得到概率分布π。
該方法可使用MonteCarlo模擬來完成,稱之為MCMC(Markov Chain Monte Carlo)。
3、細致平穩條件
從穩定分布滿足πP=π可以抽象出如下定義:如果非周期馬爾科夫過程的轉移矩陣P和分布π(x)滿足則π(x)是馬爾科夫過程的平穩分布。
上式又被稱作細致平穩條件(detailed balance condition)。
細致平穩的理解:根據定義,對於任意兩個狀態i,j,從i轉移到j的概率和從j轉移到i的概率相等。可直觀的理解成每一個狀態都是平穩的。
4、Matropolis-Hastings算法
假定t時刻,采取如下策略采樣
在給定的條件分布中采樣一個值
計算M-H率
則t+1時刻的值為
最終得到的序列收斂於f(x)分布。
5、MCMC Matropolis-Hastings算法
根據需要滿足的細致平穩條件
若令,則有:
從而:
將接受率置為恒小於1,從而
初始化馬爾科夫過程初始狀態
對於 第t時刻馬爾科夫過程初始狀態,采樣
從均勻分布中采樣:
則接受狀態j,即,否則,不接受狀態j,
6、二維Gibbs采樣算法
由:
很容易得到二維Gibbs采樣算法:
隨機初始化:
對循環采樣:
二、變分
1、Gibbs采樣和變分
Gibbs采樣:使用鄰居結點(相同文檔的詞)的主題采樣值
變分:采用相鄰結點的期望。n
這使得變分往往比采樣算法更高效:用一次期望計算代替了大量的采樣。直觀上,均值的信息是高密(dense)的,而采樣值的信息是稀疏(sparse)的。
2、變分概述
變分既能夠推斷隱變量,也能推斷未知參數,是非常有力的參數學習工具。其難點在於公式演算略復雜,和采樣相對:一個容易計算但速度慢,一個
不容易計算但運行效率高。
平均場方法的變分推導,對離散和連續的隱變量都適用。在平均場方法的框架下,變分推導一次更新一個分布,其本質為坐標上升。可以使用模式
搜索(pattern search)、基於參數的擴展 (parameter expansion)等方案加速。
有時假定所有變量都獨立不符合實際,可使用結構化平均場(structured mean field),將變量分成若幹組,每組之間獨立。
變分除了能夠和貝葉斯理論相配合得到VB(變分貝葉斯),還能進一步與EM算法結合,得到VBEM,用於帶隱變量和未知參數的推斷。
機器學習之采樣和變分(八)