首页 > 解决方案 > Tensorflow Probability 中每个实验的具有不同数量可能结果的分类分布

问题描述

在 Tensorflow Probability 中,如何使用分类分布编写模型,其中每个实验可以有不同数量的结果?

例如,假设我们有来自 3 个实验(a、b 和 c)的数据,其中前两个实验有两个可能的结果,第三个实验有 3 个可能的结果。我们有以下数组用于定义每个结果的概率的 logits

logits = [a_1, a_2, b_1, b_1, c_1, c_2, c_3]

所以我们在第一个实验中出现 1 的exp(a_1)/[exp(a_1) + exp(a_2)]概率是 ,而在实验 3 中出现结果 2 的概率是exp(c_2)/[exp(c_1) + exp(c_2) + exp(c_3)],依此类推(你明白了)。

标签: tensorflowtensorflow-probability

解决方案


也许您可以使用 -inf logits 填充较小的结果集。

IE

tfd.Categorical(logits=[[a_1, a_2, -inf],
                        [b_1, b_2, -inf],
                        [c_1, c_2, c_3]])

推荐阅读