Как реализовать мультисостояние LSTM RNN в keras
У меня 1000 отдельных пользователей, и набор данных состоит из действий этих пользователей за последний год. Всего записей более 300К. Входы для LSTM RNN имеют векторы признаков, соответствующие этим пользователям. Пользователь также включен, потому что поведение каждого пользователя может варьироваться от человека к человеку. Сеть должна изучать поведение каждого пользователя и уметь предсказывать следующее поведение на основе прошлой информации того же пользователя. Как поддерживать отдельные скрытые состояния для каждого пользователя в LSTM RNN.
Следующее сообщение в блоге похоже на мою проблему:
https://towardsdatascience.com/multi-state-lstms-for-categorical-features-66cc974df1dc
Обновить
Мой набор данных выглядит так:
Я преобразовал свой набор данных в трехмерный массив numpy и изменил его как (количество записей, временные шаги, n_features).
Вопросы следующие:
1) Нужно ли кодировать атрибут "пользователь"?
2) каков правильный размер партии для этой проблемы? Пакет = 1000 (количество отдельных пользователей)?
3) Нужно ли мне включать данные каждого пользователя в каждый пакетный ввод модели?
ИЛИ
Подскажите пожалуйста правильную реализацию этой задачи.
1 ответ
Это просто автомат. Вам не нужно ничего делать.
В LSTM
Слой обязательно будет иметь матрицу состояний размером с вашу группу пользователей. (В противном случае это было бы бесполезно)