W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
常見的香農(nóng)熵,證據(jù)較低的 BOund(ELBO),KL分歧,更多都具有信息理論的使用和解釋.它們也經(jīng)常用于變分推理.這個庫匯集了用于估計(jì)他們 Ops,例如使用蒙特卡羅期望。
用 ELBO 擬合變分后驗(yàn)的例子.
#我們首先假設(shè)知道關(guān)于密度 p(z,x)超過
#潛在變量z和固定測量 x 的對數(shù).由于 x 是固定的,Python
#函數(shù)不會將 x 作為參數(shù).
def log_joint ( z ):
theta = tf.Variable(0.) #有助于定義log_joint的可修改變量.
...
#接下來,定義具有可訓(xùn)練參數(shù)的正態(tài)分布.
q =distributions.Normal(mu =tf.Variable(0.),sigma = tf.Variable(1.))
#現(xiàn)在,定義一個損失函數(shù)(負(fù) ELBO),當(dāng)最小化時,將調(diào)整
#mu,sigma 和 theta,增加 ELBO,我們希望這兩者都可以減少
#q(z)和 p(z|x)之間的 KL 散度,并增加 p(x).請注意,我們
#不能同時保證,但一般來說,我們期望兩者都會發(fā)生.
elbo = entropy.elbo_ratio(log_p ,q,n = 10)
loss = - elbo
#最小化損失
train_op = tf.train.GradientDescentOptimizer (0.1 ).minimize(loss)
tf.global_variables_initializer().run()
for step in range(100 ):
train_op.run ()
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: