Я использую vowpal wabbit для решения проблемы контекстуального бандита . Я показываю рекламу пользователям, и у меня есть достаточно информации о контексте, в котором показывается реклама (например, кто такой пользователь, на каком сайте он находится и т. Д.). Похоже, это довольно классическая контекстная проблема бандитов, описанная Джоном Лэнгфордом .
В моей ситуации есть два основных ответа, которые пользователь может получить на объявление: щелкать (возможно, несколько раз) или не нажимать. У меня есть около 1000 объявлений, которые я могу выбрать между. Vowpal Wabbit требует целевую переменную в форме action:cost:probabilityдля каждого контекста. В моем случае, actionи probabilityлегко понять: actionэто объявление , я выбрал дисплей, и probabilityвероятность того выбора , что объявление дали мой текущий курс для показа объявлений.
Тем не менее, у меня возникают проблемы с поиском хорошего способа сопоставить мои выплаты (клики) с затратами. Клики, безусловно, хороши, и несколько кликов на одном и том же объявлении также лучше, чем одиночные клики на одном и том же объявлении. Однако отказ от кликов по рекламе нейтрален: на самом деле это не стоит мне ничего, кроме упущенной возможности клика (я работаю в странном рекламном контексте).
Вот некоторые идеи, которые у меня были:
- стоимость = -1 * знак (клики) + 0 * (не кликнул)
- стоимость = -1 * кликов + 0 * (не кликнул)
- стоимость = -1 * знак (клики) + 0,01 * (без кликов)
- стоимость = -1 * клики + 0,01 * (без кликов)
В случае вектора действия (0, 1, 5, 0)затрат от этих 4 функций будет:
(0, -1, -1, 0)(0, -1, -5, 0)(0.01, -1, -1, 0.01)(0.01, -1, -5, 0.01)
Очевидно, есть много других способов представить это, clicks=goodи no clicks=bad.в целом, как я должен моделировать затраты на контекстуальные проблемы с бандитами в vowpal wabbit? Можно ли представлять выгоды как отрицательные затраты, или я должен изменить масштаб, чтобы все затраты были положительными? Допустимо ли относительно нейтральные действия иметь нулевую стоимость, или я должен дать им небольшую положительную цену, чтобы подтолкнуть модель к позитивным действиям?