Какое распределение тензорного потока представлять списком категориальных данных? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу построить вариационный автоэнкодер, где одна выборка представляет собой матрицу N * M, где для каждой строки имеется M категорий. По сути, одна выборка представляет собой список категориальных данных, где может быть выбрана только одна категория - список векторов с одним горячим током.

В настоящее время у меня есть работающий автокодер для этого типа данных - я использую softmax в последнем измерении, чтобы создать это ограничение, и оно работает (кросс-энтропия реконструкции мала).

Теперь я хочу использовать tf.distributions для создания вариационного автоэнкодера. Мне было интересно, какой тип распределения будет уместным.

1 Ответ

0 голосов
/ 15 мая 2018

Удовлетворяет ли ваш запрос tf.contrib.distributions.Categorical? Выборки должны быть от (0 до n - 1), где n представляет категорию.

Пример:

# logits имеет форму [N, M], где M - количество классов

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

# Образец 20 раз. Должен придать форму [20, Н].

samples = dist.sample (20)

# глубина - количество категорий.

one_hots = tf.one_hot (сэмплы, глубина = M)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...