Sto usando Vowpal Wabbit per risolvere un problema di bandito contestuale . Sto mostrando annunci agli utenti e ho un bel po 'di informazioni sul contesto in cui viene mostrato l'annuncio (ad es. Chi è l'utente, su quale sito si trova, ecc.). Questo sembra essere un problema di bandito contestuale piuttosto classico, come descritto da John Langford .
Nella mia situazione, ci sono 2 risposte principali che un utente può avere a un annuncio: fare clic (possibilmente più volte) o non fare clic. Ho circa 1.000 annunci tra cui scegliere. Vowpal Wabbit richiede una variabile target sotto forma di action:cost:probability
per ogni contesto. Nel mio caso, action
e probability
sono facili da capire: action
è l'annuncio che ho scelto di visualizzare, ed probability
è la probabilità di scegliere quell'annuncio data la mia attuale politica per la visualizzazione degli annunci.
Tuttavia, ho difficoltà a trovare un buon modo per mappare i miei profitti (clic) ai costi. I clic sono ovviamente buoni e anche più clic sullo stesso annuncio sono migliori dei singoli clic sullo stesso annuncio. Tuttavia, non fare clic su un annuncio è neutrale: in realtà non mi costa altro che l'opportunità mancata per un clic (sto lavorando in uno strano contesto pubblicitario).
Alcune idee che ho avuto sono:
- costo = -1 * segno (clic) + 0 * (non selezionato)
- costo = -1 * clic + 0 * (non selezionato)
- costo = -1 * segno (clic) + 0,01 * (non selezionato)
- costo = -1 * clic + 0,01 * (non selezionato)
Nel caso di un vettore di azione (0, 1, 5, 0)
i costi di queste 4 funzioni sarebbero:
(0, -1, -1, 0)
(0, -1, -5, 0)
(0.01, -1, -1, 0.01)
(0.01, -1, -5, 0.01)
Esistono ovviamente molti altri modi per rappresentarlo clicks=good
e, no clicks=bad.
in generale, come dovrei modellare i costi per problemi di bandito contestuale in wowbit vowpal? Va bene rappresentare i benefici come costi negativi o devo ridimensionare tutto in modo tale che tutti i costi siano positivi? Va bene che le azioni relativamente neutre abbiano un costo zero o dovrei dare loro un piccolo costo positivo per spingere il modello verso le azioni positive?