Używam wabbitów ślubnych, aby rozwiązać problem bandytów kontekstowych . Wyświetlam reklamy użytkownikom i mam sporo informacji na temat kontekstu, w którym reklama jest wyświetlana (np. Kim jest użytkownik, w jakiej witrynie się znajduje itp.). To wydaje się być dość klasycznym problemem kontekstowego bandyty, jak opisał John Langford .
W mojej sytuacji istnieją dwie główne odpowiedzi, które użytkownik może mieć na reklamę: kliknięcie (być może wiele razy) lub nie kliknięcie. Mam około 1000 reklam do wyboru. Vowpal Wabbit wymaga zmiennej docelowej w postaci action:cost:probability
dla każdego kontekstu. W moim przypadku action
i probability
łatwo je rozgryźć: action
czy reklama, którą zdecydowałem się wyświetlić, i probability
prawdopodobieństwo jej wybrania, biorąc pod uwagę moje obecne zasady dotyczące wyświetlania reklam.
Mam jednak problem z wymyśleniem dobrego sposobu zmapowania moich wypłat (kliknięć) do kosztów. Kliknięcia są oczywiście dobre, a wielokrotne kliknięcia tej samej reklamy są również lepsze niż pojedyncze kliknięcia tej samej reklamy. Jednak nie klikanie reklamy jest neutralne: w rzeczywistości nie kosztuje mnie nic oprócz straconej okazji do kliknięcia (pracuję w dziwnym kontekście reklamowym).
Oto niektóre moje pomysły:
- koszt = -1 * znak (kliknięcia) + 0 * (nie kliknięto)
- koszt = -1 * kliknięcia + 0 * (nie kliknięto)
- koszt = -1 * znak (kliknięcia) + 0,01 * (nie kliknięto)
- koszt = -1 * kliknięcia + 0,01 * (nie kliknięto)
W przypadku wektora działania (0, 1, 5, 0)
kosztów z tych 4 funkcji byłoby:
(0, -1, -1, 0)
(0, -1, -5, 0)
(0.01, -1, -1, 0.01)
(0.01, -1, -5, 0.01)
Istnieje oczywiście wiele innych sposobów na przedstawienie tego clicks=good
i no clicks=bad.
ogólnie, jak powinienem modelować koszty kontekstowych problemów bandytów w Wabbit ślubny? Czy dobrze jest przedstawiać korzyści jako koszty ujemne, czy powinienem przeskalować wszystko tak, aby wszystkie koszty były dodatnie? Czy jest w porządku, aby względnie neutralne działania miały zerowy koszt, czy też powinienem dać im niewielki koszt dodatni, aby popchnąć model w kierunku działań pozytywnych?