一个小的示例包

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文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android上已连接音频输入设备的java列表   java是创建类的新对象还是使用静态方法?   Java:Shift/Rotate对象数组   Java Casting ArrayIterator<Object>   在java中返回布尔值时出错   无法确定文本文件读入程序(java)中的各种元素   Java Swing JToolBar   JAVAlang.IllegalStateException执行Ghost4J(Linux 32对64位)   jvm如何增加ubuntu系统的java堆化?   java CORS策略“AccessControlAllowOrigin”(Anguar 8和Servlet)   使用dagger 2的java视图依赖项注入   单元测试中RxJava的java模拟活动生命周期   arraylist中的Java打印字符串   java返回值显示为0.0。为什么会这样?   java是clientserver应用程序所必需的MVC吗?   ByteToMessageDecoder类中的java内存泄漏   java将大量文档写入firestore   GWT项目中的java TomcatMaven插件。两者之间的区别是什么:org。科德豪斯。魔咒和组织。阿帕奇。公猫maven插件   java swing:向JTree项添加自定义图形按钮