用于表示分类数据列表的张量流分布

时间:2018-04-26 08:08:12

标签: python tensorflow machine-learning

我想构建一个变分自动编码器,其中一个样本是N * M矩阵,其中每行有M个类别。基本上一个样本是分类数据列表,其中只能选择一个类别 - 一个热矢量列表。

目前,我有一个工作自动编码器用于这种类型的数据 - 我在最后一个维度上使用softmax来创建这个约束并且它可以工作(重建交叉熵很低)。

现在,我想使用tf.distributions来创建变量自动编码器。我想知道什么样的分配是合适的。

1 个答案:

答案 0 :(得分:2)

tf.contrib.distributions.Categorical能否满足您的需求?样本应该是(0到n - 1),其中n代表类别。

示例:

#logits具有形状[N,M],其中M是类的数量

dist = tf.contrib.distributions.Categorical(logits = logits)

#Sample 20次。应该给出形状[20,N]。

samples = dist.sample(20)

#defide是类别的数量。

one_hots = tf.one_hot(样本,深度= M)