Я хочу протестировать CB для задачи электронной коммерции: рекомендации по личным предложениям (например, «последний шанс купить», «похожие позиции», «потребители рекомендуют», «бестселлеры» и т. Д.). Моя задача - заказать их (более актуальный вопрос выше в списке рекомендаций).
Итак, есть 5 возможных предложений. У меня есть некоторые исторические данные, собранные без использования какой-либо модели: контекст (функции пользователя и веб-сеанса), идентификатор действия (одно из моих 5 предложений), вознаграждение (1, если пользователь щелкнул это предложение, 0 - не щелкнул). Итак, у меня есть N пользователей и 5 предложений с известной наградой, всего 5 * N строк в моих исторических данных.
Ex:
1:1:1 | user_id:1 f1:... f2:...
2:-1:1 | user_id:1 f1:... f2:...
3:-1:1 | user_id:1 f1:... f2:...
Это означает, что пользователь 1 видел 3 предложения (1,2,3), стоимость 1 предложения равна 1 (не нажимал), пользователь нажимает на предложения 2 и 3 (стоимость отрицательная -> вознаграждение положительное) . Вероятности равны 1, так как все предложения были показаны и мы знаем награды.
Глобальная задача - увеличить CTR. Я хотел бы использовать эти данные для обучения CB, а затем улучшить модель с помощью политик исследования / эксплуатации. Я установил вероятности равными 1 в этих данных (правильно?). Но теперь я бы хотел установить порядок предложений по наградам.
Следует ли мне использовать для этого теплый старт в VW CB? Будет ли это правильно работать с данными, собранными без использования CB? Может, посоветуете более подходящие методы в CB для этих данных и задачи?
Большое спасибо.