使用TensorFlow分布来表示分类数据列表

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

目前,我已经为这种类型的数据构建了一个工作的自编码器 – 我在最后一个维度上使用了softmax来创建这个约束,并且它有效(重构交叉熵低)。

现在,我想使用tf.distributions来创建一个变分自编码器。我在想哪种分布会合适。


回答:

tf.contrib.distributions.Categorical能满足你的需求吗?样本应来自(0到n-1),其中n代表类别。

示例:

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

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

# 采样20次。应返回形状为[20, N]的输出。

samples = dist.sample(20)

# depth是类别的数量。

one_hots = tf.one_hot(samples, depth=M)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注