Path: blob/master/site/zh-cn/probability/examples/Factorial_Mixture.ipynb
25118 views
Kernel: Python 3
Copyright 2018 The TensorFlow Probability Authors.
Licensed under the Apache License, Version 2.0 (the "License");
In [ ]:
在此笔记本中,我们将展示如何使用 TensorFlow Probability (TFP) 从高斯分布的阶乘混合中进行采样,该阶乘混合定义为: where: ParseError: KaTeX parse error: Undefined control sequence: \1 at position 137: …gma_{ik}\right)\̲1̲&=\sum_{k=1…
每个变量 都被建模为一个高斯混合,所有 变量的联合分布都是这些密度的乘积。
给定一个数据集 ,我们将每个数据点 建模为一个高斯阶乘混合:
阶乘混合是一种使用少量参数和大量模式创建分布的简单方式。
In [ ]:
使用 TFP 构建高斯阶乘混合
In [ ]:
请注意我们对 tfd.Independent
的使用。此“元分布”在 log_prob
计算中对最右边的 reinterpreted_batch_ndims
批次维度应用了 reduce_sum
。在我们的示例中,这会在我们计算 log_prob
时加总变量维度,仅保留批次维度。请注意,这不会影响采样。
绘制密度
计算点网格上的密度,并用红星显示模式的位置。阶乘混合中的每个模式对应于底层高斯单变量混合的一对模式。我们可以在下面的图表中看到 9 个模式,但我们只需要 6 个参数(3 个用于在 中指定模式的位置,3 个用于在 中指定模式的位置)。相比之下,二维空间 中的高斯混合分布需要 2 * 9 = 18 个参数来指定 9 个模式。
In [7]:
Out[7]:
绘制样本和边缘密度估计
In [8]:
Out[8]: