У меня есть массив последовательностей одинаковой длины, каждая последовательность содержит 300 чисел (M = 300). Каждый элемент в последовательности - это номер от 1 до 9:
13571398...2455 # 300 numbers
33344467...1143 # 300 numbers
...
...
...
66118859...2121 # 300 numbers
Моя задача - построить модель, которая предсказывает элемент (число) в позициях последовательности от 180 до 190 на основе первых 179 элементов и последние 110 элементов в последовательности. Другими словами, данные элементы в позициях от 0 до 179 и от 191 до 299 предсказывают элементы в последовательности в позициях от 180 до 190.
Я думаю о следующих шагах для решения этой задачи с моделью Keras BiLSTM :
- Разделить все последовательности на наборы для обучения / проверки / тестирования
- Обучить BiLSTM на наборе поездов для предсказания следующего числа в любом месте последовательности
- В тестировании и проверке наборы случайным образом заменяют K элементов в позициях от 180 до 190 на 0 (число, которого нет в исходных последовательностях).
- Используйте предварительно обученный BiLSTM для прогнозирования истинных значений элементов «0» в проверочных и тестовых наборах
Пожалуйста, помогите со следующими вопросами:
- Как мне в этом случае представлять данные и классы для BiLSTM? Похоже, мои данные и классы - одно и то же. Оба числа 1 ... 9 - это данные и соответствующие классы для BiLSTM.
- Какие структуры данных и кодировки в этом случае я должен создать для обучения и прогнозирования с помощью Keras BiLSTM?
- Как оценить качество этой модели на поезде и тестовых наборах?
Любые другие идеи использования других моделей, в частности Transformers (PyTorch, Tesnsorflow), приветствуются, спасибо!