一个小的示例包
mix-gamma-vi的Python项目详细描述
混合伽马分布的变分推断
这个软件包实现了伽马分布混合的变分推理。有关更多信息,请参见比较马尔可夫链蒙特卡罗和变分方法对混合Gamma分布的贝叶斯推断。在
伽马分布有两个参数:形状速率参数化和形状平均参数化。形状平均参数化是推荐的,因为它通常产生优越的后验近似和预测分布。在
入门
先决条件
python>=3.6
tensorflow>=2.0
tensorflow_probability>=0.8
安装
我建议使用pip安装,因为它也会安装先决条件。跑
^{pr2}$示例
这是形状平均参数化下两个伽马分布混合的后验推断的一个例子。假设我们有一个一维的张量x
。在
# import mix_gamma_vi functionfrommix_gamma_viimportmix_gamma_vi# Fit a modelfit=mix_gamma_vi(x,K=2)# Get the fitted distributiondistribution=fit.distribution()# Print the means of the parameters under the fitted distributiondistribution.mean()
{'pi': <tf.Tensor: id=4201, shape=(1, 2), dtype=float32, numpy=array([[0.50948393, 0.49051604]], dtype=float32)>,
'beta': <tf.Tensor: id=4208, shape=(1, 2), dtype=float32, numpy=array([[1.0013412, 1.9965338]], dtype=float32)>,
'alpha': <tf.Tensor: id=4212, shape=(1, 2), dtype=float32, numpy=array([[20.712543, 82.77388 ]], dtype=float32)>}
我们可以通过调用distribution.sample()
从这个分布中进行采样。在
有关更深入的示例,请参见^{
性能提示
为了避免每次更改参数时都要追溯张量图,请将它们作为TensorFlow常量传递。e、 g.代替上面的,做
fit=mix_gamma_vi(x,K=tf.constant(2))
作者
这项工作是由艾萨克布林提交的,部分满足西澳大利亚大学理学荣誉学士学位的要求。监制:刘约翰和爱德华·克里普斯。在
许可证
这个项目是在麻省理工学院许可下授权的-有关详细信息,请参阅LICENSE.md文件
- 项目
标签: