Предсказание множественных функций LSTM: форма для передачи данных (Tensorflow) - PullRequest
0 голосов
/ 23 ноября 2018

После долгих исследований мне не удалось найти ответ на этот вопрос.

Мои данные представляют собой серию элементов, каждый из которых имеет ряд особенностей.Данные в этой форме: Data schema

Я хочу угадать особенности элемента n + 1.Должна ли сеть иметь определенное количество узлов?Какой должна быть форма данных, поступающих в сеть LSTM Tensorflow, и их вывод?

1 Ответ

0 голосов
/ 23 ноября 2018

Что касается входных и выходных размеров, вы сами определили их на рисунке: вы хотите предсказать вектор длины num_features (4 на вашем рисунке) из входной матрицы формы (N, num_features), где Nчисло выборок, используемых для одного прогноза.

В тензорном потоке заполнители обычно имеют форму (batch_size, number_of_steps, number_of_features).Для вас они могут выглядеть следующим образом

input_holder = tf.placeholder(shape=(batch_size, None, num_features), dtype=..., name='inputs')
target_holder = tf.placeholder(shape=(batch_size, num_features), dtype=..., name='targets')

, если вы не хотите заранее определять N - тогда вам нужен фиксированный размер партии.В противном случае вы также можете иметь

input_holder = tf.placeholder(shape=(None, N, num_features), dtype=..., name='inputs')
target_holder = tf.placeholder(shape=(None, num_features), dtype=..., name='targets')

, в котором N будет фиксированной, и переменную размера вашего пакета.(Вы не можете иметь обе переменные.)


Что касается размера вашей сети, вам нужно поэкспериментировать самостоятельно: априори невозможно определить необходимое количество узлов, слоев и т. Д.

...