Смешанный вход one_hot и float
Я пытаюсь обучить модели слоев LSTM данным временных рядов категориального (one_hot) действия (колл / фолд / рейз) и времени. Так пример временного ряда из 3 раундов, где игрок 2x коллировал, а затем сбросил карты.
#Call #0.5s # Call #0.3s #Fold, 1.5s
[[[1,0,0], 0.5], [[1,0,0], 0.3], [[0,1,0], 1.5]]
Категориальный массив вызова / сворачивания / повышения не может быть обработан первым слоем (LSTM), и я не могу использовать простой уровень внедрения из-за некатегориального времени.
Первый уровень - model.add(LSTM(500, return_sequence =True, input_shape=(3, 2)))
Я пытался изменить input_shape, но у меня ничего не получалось. Любые идеи, как представлять one_hot и плавать в один раз вход?
1 ответ
Вы можете просто объединить, не нужно встраивать, так как ваша кодировка one-hot не слишком большая размерность, а one-hot - это вложение само по себе.
Поэтому я бы попробовал последовательности векторов:
[[1,0,0,0.5], [1,0,0,0.3], [0,1,0,1.5]]
и LSTM или любой слой, который вы будете использовать, выяснят, что первые 3 значения означают действие, а последнее - что-то другое (время), не беспокойтесь об этом.
model.add(LSTM(500, return_sequences=True, input_shape=(3, 2)))
должно сработать.