TensorFlow 计算Monte Carlo或Shannon熵的确定性
2018-08-30 15:55 更新
tf.contrib.bayesflow.entropy.entropy_shannon
entropy_shannon ( p , z = None , n = None , seed = None , form = None , name = 'entropy_shannon' )
定义在:tensorflow/contrib/bayesflow/python/ops/entropy_impl.py
参见指南:贝叶斯熵(contrib)>操作
蒙特卡罗或香农熵的确定性计算.
根据 kwarg form,该操作返回分布的分析熵 p 或采样熵:
- n ^ { - 1 } sum_ {i = 1 }^n p.log_prob( z_i ), where z_i 〜 p , \approx- E_p [Log[ p(Z)]] =Entropy[p]
用户提供的任何一个样本 z 张量, 或一定数量的样本来绘制 n.
ARGS:
- p: tf.contrib.distributions.Distribution
- z:Tensor 样品来自 p,由 p.sample(n) 某些产生 n.
- n:整数 Tensor.如果未提供 z, 则生成的样本数.
- seed:Python 整数用来寻找随机数生成器.
- form:要么 ELBOForms. analytic_entropy (使用公式熵的 q) 或 ELBOForms. sample (熵的抽样估计),或 ELBOForms. default (尝试分析熵, 在样本上返回).默认值为 ELBOForms.default.
- name:给该操作的一个名字.
返回:
与 p 相同的 dtype 的张量,并且形状等于 p. batch_shape.
举:
- ValueError:如果 form 没有由这个函数处理.
- ValueError:如果 form 是 ELBOForms. analytic_entropy 和 n 被提供.