Расширьте Gym Environment для рекомендаций с помощью kerasRL и некоторых вопросов.
Я хочу сделать простую систему рекомендаций, основанную на усиленном обучении, используя kerasRL
а также OpenAI Gym
, Я хочу сказать, что я уже создал Agent
чтобы узнать Cartpole
среда, и теперь я хочу создать свою собственную среду, чтобы тренироваться против нее.
мой DataFrame
имеет типичные столбцы [user, item, relevance, timestamp]
но я не знаю, как обращаться с последовательностями действий, чтобы показать Agent
и награда, чтобы дать ему.
Мой подход заключается в предоставлении идентификатора пользователя в качестве входных данных для его встраивания и выходных данных в виде максимального значения количества элементов для ранжирования и умножения числа на ndcg
из числа единиц (как это означает, что пользователь купил товар) минус ndcg
количества ceros (так как это означает, что пользователь просмотрел товар, а не купил его).
Проблема в том, что таким образом Agent
научился бы рекомендовать предметы, которые пользователь уже купил (не полезно), и не рекомендовать предметы, которые уже видел (полезно). Я надеюсь создать систему, которая могла бы порекомендовать некоторые товары, которые пользователь не собирается покупать (чем меньше, тем лучше) в надежде максимизировать, чтобы пользователь покупал отдельный товар позже (поэтому timestamp
очень важно).
Еще одна проблема - способ отображения данных. Понятно, что я должен показать его в порядке отметки времени, но уместно ли это раньше заказывать данные пользователем? Где я могу рассчитать вознаграждение?
Есть ли у кого-нибудь идея или критик по этому подходу? Могу ли я сделать это с kerasRL
и Gym Environment
? Есть ли у кого-нибудь статья или видео, полезные для этой проблемы?
Надеюсь, я правильно выразился и заранее благодарю.