TensorFlow 對(duì)數(shù)空間的重要性抽樣估計(jì)

2018-08-30 15:58 更新

tf.contrib.bayesflow.monte_carlo.expectation_importance_sampler_logspace


expectation_importance_sampler_logspace (
log_f ,
log_p ,
sampling_dist_q ,
z = None ,
n = None ,
seed = None ,
name = 'expectation_importance_sampler_logspace'
)

定義在tensorflow/contrib/bayesflow/python/ops/monte_carlo_impl.py.

參見(jiàn)指南:貝葉斯蒙特卡羅(contrib)>行動(dòng)

在對(duì)數(shù)空間中具有正函數(shù)的重要性抽樣.

隨著 p(z) := exp{log_p(z)},而且 f(z) = exp{log_f(z)},該操作返回:

Log[ n ^ { - 1 } sum_ {i = 1 } ^ n [ F( z_i ) p( z_i )/q(z_i)]] ,z_i ? q ,
\approx Log[ E_q [ F ( Z ) p (Z ) / q ( Z ) ] ]
= Log[ E_p [ f ( Z )] ]

這個(gè)積分是通過(guò)最大減法在對(duì)數(shù)空間中完成的,以更好地處理 f(z) p(z) / q(z) 可能承受的極端值.

和 expectation_importance_sampler 相反,該操作將返回對(duì)數(shù)空間中的值.

用戶(hù)提供的任何一個(gè)樣本 z 張量, 或樣本數(shù)繪制 n.

ARGS:

  • log_f:從可調(diào)用映射樣本 sampling_dist_q 到具有形狀 broadcastable 的 Tensors 到 q.batch_shape.例如,log_f “就像”  sampling_dist_q.log_prob一樣工作.
  • log_p:從可調(diào)用映射樣本 sampling_dist_q 到具有形狀 broadcastable 的 Tensors 到 q.batch_shape.例如,log_p “就像” q.log_prob 一樣工作.
  • sampling_dist_q:抽樣分布.tf.contrib.distributions.Distribution.log_p 和 q 應(yīng)在同一組中得到支持.
  • z:p 樣品的張量,由 p.sample 為一些 n 生成.
  • n:整數(shù)張量.如果未提供z生成的樣本數(shù).
  • seed:Python整數(shù)來(lái)尋找隨機(jī)數(shù)程序.
  • name:為該操作提供一個(gè)名字.

返回:

重要性抽樣估計(jì)的對(duì)數(shù).形狀張量等于 q 的批次形狀, 并且 dtype = q. dtype.


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)