我有一个形状为(2,5,2)
的矩阵L
。沿着最后一个轴的值形成概率分布。我想要抽取形状为(2, 5)
的另一个矩阵S
,其中每个条目都是以下整数之一:0, 1
。 例如,沿Tensorflow中的张量采样轴
L = [[[0.1, 0.9],[0.2, 0.8],[0.3, 0.7],[0.5, 0.5],[0.6, 0.4]],
[[0.5, 0.5],[0.9, 0.1],[0.7, 0.3],[0.9, 0.1],[0.1, 0.9]]]
一个样品可以是,
S = [[1, 1, 1, 0, 1],
[1, 1, 1, 0, 1]]
的分布是在上面的例子二项式。但是,一般来说,L
的最后一个维度可以是任何正整数,因此分布可以是多项式。
样本需要在Tensorflow计算图中有效生成。我知道如何使用numpy使用函数apply_along_axis
和numpy.random.multinomial
来做到这一点。