Edward是一个用于概率建模、推理和评估的Python库。它是一个用于快速实验和研究概率模型的测试平台,其涵盖的模型范围从在小数据集上的经典层次模型到在大数据集上的复杂深度概率模型。Edward融合了以下三个领域:贝叶斯统计学和机器学习、深度学习、概率编程。
它支持以下方式的建模:定向图模型
神经网络(通过Keras和TensorFlowSlim等库)
条件特定的无向模型
贝叶斯非参数和概率程序
它支持以下方式的推理:变分推理(Variationalinference)
黑箱变分推理
随机变分推理
包容KL散度(InclusiveKLdivergence):\text{KL}(p\|q)KL(p∥q)
最大后验估计
蒙特卡洛(MonteCarlo)
哈密尔顿蒙特卡罗(HamiltonianMonteCarlo)
随机梯度Langevin动态
Metropolis-Hastings
推理的组成
期望最大化(Expectation-Maximization)
伪边界和ABC方法(Pseudo-marginalandABCmethods)
消息传递算法(Messagepassingalgorithms)
它支持以下的模型评估和推理:基于点的评估(Point-basedevaluations)
后验预测检查(Posteriorpredictivechecks)
Edward构建于TensorFlow之上。它支持诸如计算图、分布式训练、CPU/GPU集成、自动微分等功能,也可以用TensorBoard可视化。
评论