Функции стоимости для контекстных бандитов


14

Я использую vowpal wabbit для решения проблемы контекстуального бандита . Я показываю рекламу пользователям, и у меня есть достаточно информации о контексте, в котором показывается реклама (например, кто такой пользователь, на каком сайте он находится и т. Д.). Похоже, это довольно классическая контекстная проблема бандитов, описанная Джоном Лэнгфордом .

В моей ситуации есть два основных ответа, которые пользователь может получить на объявление: щелкать (возможно, несколько раз) или не нажимать. У меня есть около 1000 объявлений, которые я могу выбрать между. Vowpal Wabbit требует целевую переменную в форме action:cost:probabilityдля каждого контекста. В моем случае, actionи probabilityлегко понять: actionэто объявление , я выбрал дисплей, и probabilityвероятность того выбора , что объявление дали мой текущий курс для показа объявлений.

Тем не менее, у меня возникают проблемы с поиском хорошего способа сопоставить мои выплаты (клики) с затратами. Клики, безусловно, хороши, и несколько кликов на одном и том же объявлении также лучше, чем одиночные клики на одном и том же объявлении. Однако отказ от кликов по рекламе нейтрален: на самом деле это не стоит мне ничего, кроме упущенной возможности клика (я работаю в странном рекламном контексте).

Вот некоторые идеи, которые у меня были:

  1. стоимость = -1 * знак (клики) + 0 * (не кликнул)
  2. стоимость = -1 * кликов + 0 * (не кликнул)
  3. стоимость = -1 * знак (клики) + 0,01 * (без кликов)
  4. стоимость = -1 * клики + 0,01 * (без кликов)

В случае вектора действия (0, 1, 5, 0)затрат от этих 4 функций будет:

  1. (0, -1, -1, 0)
  2. (0, -1, -5, 0)
  3. (0.01, -1, -1, 0.01)
  4. (0.01, -1, -5, 0.01)

Очевидно, есть много других способов представить это, clicks=goodи no clicks=bad.в целом, как я должен моделировать затраты на контекстуальные проблемы с бандитами в vowpal wabbit? Можно ли представлять выгоды как отрицательные затраты, или я должен изменить масштаб, чтобы все затраты были положительными? Допустимо ли относительно нейтральные действия иметь нулевую стоимость, или я должен дать им небольшую положительную цену, чтобы подтолкнуть модель к позитивным действиям?


1
Меня смущает "есть два возможных действия: пользователь может нажать на объявление или пользователь не может нажать на объявление". Если вы пытаетесь решить, какое объявление показывать, разве объявления не должны быть действиями?
альт

1
@alto: я думаю, что следует читать «есть 2 возможных ответа, которые мы можем записать для пользователя». Это имеет больше смысла?
Зак

Я не уверен, что это действительно контекстная проблема с бандитами, потому что я не уверен, какова ваша цель здесь. Решение проблемы контекстуального бандита «пытается оптимизировать политику, которая выбирает действия с минимальными затратами для наблюдаемого контекста». Вы пытаетесь выяснить, сколько объявлений показывать? Пытаетесь смоделировать поведение потребителей? Что-то другое?
shadowtalker

1
@ssdecontrol Я пытаюсь выяснить, какую рекламу показывать, учитывая контекст. Это часто используемый пример проблемы для контекстуальных бандитов, но я получаю действительно плохие результаты от контекстного бандитского решателя vowpal-wabbit. Мне было интересно, если, возможно, есть другой способ, которым я должен был бы указать «стоимость» клика или не клик по объявлению.
Зак

1
@ Ник Я так и не понял, и вместо этого выбрал обычную мультиклассовую модель от VW.
Зак

Ответы:


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.