在github看到這個文章寫的不錯息拜,就轉(zhuǎn)載了掘猿,大家一起學(xué)習:
https://github.com/keithyin/mynotes/tree/master/MachineLearning/algorithms
——————————————————————————————————————————
該作者也推薦了下面一個系列的文章,也寫的不錯:
- Variational inference
- KL(q∥p) minimization-1
- KL(p∥q) minimization-2
- VAE variation inference變分推理 清爽介紹
——————————————————————————————————————————
大家對貝葉斯公式應(yīng)該都很熟悉
我們稱為posterior distribution
。posterior distribution
的計算通常是非常困難的,為什么呢袒炉?
假設(shè)是一個高維的隨機變量,如果要求,我們不可避免的要計算,由于是高維隨機變量樊零,這個積分是相當難算的我磁。
variational inference
就是用來計算posterior distribution
的。
core idea
variational inference
的核心思想包含兩步:
- 假設(shè)分布 (這個分布是我們搞得定的驻襟,搞不定的就沒意義了)
- 通過改變分布的參數(shù) , 使 靠近
總結(jié)稱一句話就是夺艰,為真實的后驗分布引入了一個參數(shù)話的模型。 即:用一個簡單的分布 擬合復(fù)雜的分布 塑悼。
這種策略將計算 的問題轉(zhuǎn)化成優(yōu)化問題了
收斂后劲适,就可以用 來代替 了
公式推導(dǎo)
等式的兩邊同時對分布求期望楷掉,得
我們的目標是使 靠近 厢蒜,就是
由于 中包含 ,這項非常難求烹植。將看做變量時斑鸦, 為常量,所以草雕, 等價于 巷屿。
稱為Evidence Lower Bound(ELBO
)。
現(xiàn)在墩虹,variational inference
的目標變成
為什么稱之為ELBO
呢嘱巾?
一般被稱之為evidence
,又因為 , 所以 , 這就是為什么被稱為ELBO
诫钓。
ELBO
繼續(xù)看一下ELBO
The first term represents an energy. The energy encourages to focus probability mass where the model puts high probability . The entropy encourages to spread probability mass to avoid concentrating to one location.
包含K個獨立部分(K 維旬昭, 當然,第i維也可能是高維向量)菌湃,我們假設(shè):
這個被稱為mean field approximation
问拘。(關(guān)于mean field approximation
https://metacademy.org/graphs/concepts/mean_field)
ELBO
則變成
第一項為 energy
, 第二項為H(q)
energy
符號的含義:
先處理第一項:
其中 , 保證 是一個分布惧所。 與分布的參數(shù) 有關(guān)骤坐,與變量無關(guān)!下愈!
H(q)
再處理第二項:
再看ELBO
經(jīng)過上面的處理纽绍,ELBO變?yōu)?br>
再看上式 中的項:
所以ELBO又可以寫成:
我們要,如何更新 呢势似?
從
可以看出顶岸,當 時腔彰, 。 這時辖佣,ELBO取最大值霹抛。
所以參數(shù)更新策略就變成了
關(guān)于
是要更新的節(jié)點, 是觀測的數(shù)據(jù),由于 Markov Blanket
(下面介紹)卷谈,更新公式變成:
由于式子中和 無關(guān)的項都被積分積掉了杯拐,所以寫成了 Markov Blanket
這種形式
Markov Blanket
In machine learning, the Markov blanket for a node in a Bayesian network is the set of nodes composed of parents, its children, and its children's other parents. In a Markov random field, the Markov blanket of a node is its set of neighboring nodes.
Every set of nodes in the network is conditionally independent of when conditioned on the set , that is, when conditioned on the Markov blanket of the node . The probability has the Markov property; formally, for distinct nodes and :
The Markov blanket of a node contains all the variables that shield the node from the rest of the network. This means that the Markov blanket of a node is the only knowledge needed to predict the behavior of that node.
參考資料
https://en.wikipedia.org/wiki/Markov_blanket
http://edwardlib.org/tutorials/inference
http://edwardlib.org/tutorials/variational-inference