Multi-armed bandit
O formă de testare A / B care folosește algoritmi de învățare automată pentru a aloca dinamic traficul la variațiile care au performanțe bune.
În termeni de marketing, o soluție de bandit multi-armată este o versiune „mai inteligentă” sau mai complexă a testării A / B care folosește algoritmi de învățare automată pentru a aloca dinamic traficul la variațiile care au performanțe bune, în timp ce alocă mai puțin trafic variațiilor care nu sunt performante. În teorie, bandiții cu mai multe brațe ar trebui să producă rezultate mai rapide, deoarece nu este nevoie să așteptați o singură variantă câștigătoare.
Termenul „bandit cu mai multe brațe” provine dintr-un experiment ipotetic în care o persoană trebuie să aleagă între mai multe acțiuni (adică, slot machines, „bandiții cu un singur braț”), fiecare cu o plată necunoscută. Scopul este de a determina rezultatul cel mai bun sau cel mai profitabil printr-o serie de alegeri. La începutul experimentului, când șansele și plățile sunt necunoscute, jucătorul trebuie să stabilească ce mașină să tragă, în ce ordine și de câte ori. Aceasta este „problema banditului cu mai multe brațe”.
Exemple de bandiți multi-înarmați
Un exemplu real al unei probleme de bandiți cu mai multe brațe este atunci când un site de știri trebuie să ia o decizie cu privire la articolele pe care să le afișeze vizitatorului. Fără informații despre vizitator, toate rezultatele clicurilor sunt necunoscute. Prima întrebare este: ce articole vor primi cele mai multe clicuri? Și în ce ordine ar trebui să apară? Obiectivul site-ului web este de a maximiza implicarea, dar au multe piese de conținut din care să aleagă și le lipsește date care să le ajute să urmărească o strategie specifică.
Site-ul de știri are o problemă similară în alegerea anunțurilor pe care să le afișeze vizitatorilor săi. În acest caz, vor să maximizeze veniturile din publicitate, dar este posibil să le lipsească suficiente informații despre vizitator pentru a urmări o strategie publicitară specifică. Similar cu numărul articolelor de știri, acestea au de obicei un număr mare de reclame din care să aleagă. Ce reclame vor genera venituri maxime pentru site-ul lor de știri?
Site-ul web trebuie să ia o serie de decizii, fiecare cu rezultate și „plăți” necunoscute.
Soluții de bandiți multi-armate
Există multe soluții diferite pe care oamenii de știință din domeniul computerelor le-au dezvoltat pentru a aborda problema banditului cu mai multe brațe. Mai jos este o listă cu unele dintre cele mai utilizate soluții de bandiți multi-armate:
Epsilon-lacom
Acesta este un algoritm pentru echilibrarea continuă a explorării cu exploatarea. (În experimentele „lacome”, pârghia cu cea mai mare plată cunoscută este întotdeauna trasă, cu excepția cazului în care se ia o acțiune aleatorie). Un braț ales aleatoriu este tras o fracțiune ε din timp. Celelalte 1-ε ale timpului, brațul cu cea mai mare plată cunoscută este tras.
Încredere superioară legată
Această strategie se bazează pe principiul Optimismului în fața incertitudinii și presupune că plățile medii necunoscute ale fiecărui braț vor fi cât mai mari, pe baza datelor observabile.
Eșantionare Thompson (Bayesian)
Cu această strategie randomizată de potrivire a probabilității, numărul de atracții pentru o anumită pârghie ar trebui să se potrivească cu probabilitatea sa reală de a fi pârghia optimă.
Ce este un bandit contextual?
Într-un scenariu din lumea reală, avem uneori date care pot ajuta la informarea luării deciziilor atunci când alegem între diferitele acțiuni într-o situație de bandit multi-armat. Aceste informații sunt „banditul contextual”, contextul și mediul în care are loc experimentul.
În optimizarea site-ului web, bandiții contextuali se bazează pe datele de context ale utilizatorilor, deoarece pot fi utilizate pentru a lua decizii algoritmice mai bune în timp real.
De exemplu, puteți utiliza un bandit contextual pentru a selecta un conținut sau un anunț de afișat pe site-ul dvs. web pentru a optimiza rata de clic. Contextul este orice informație istorică sau actuală pe care o aveți despre utilizator, cum ar fi paginile vizitate anterior, informații despre achiziții anterioare, informații despre dispozitiv sau geolocalizare.
Dacă sunteți un portal de știri și știți că o persoană care vine pe site-ul dvs. a citit în trecut articole de divertisment, puteți selecta articolul dvs. de divertisment de top pentru a fi afișat în partea de sus a paginii, pentru ca acesta să îl vadă. Dacă puteți vedea că utilizatorul dvs. se află în Miami, puteți afișa vremea locală sau alte informații relevante.
Bandiți multi-înarmați și testare A / B
Pentru a decide dacă utilizați bandiți cu mai multe brațe în loc de testare A / B, trebuie să cântăriți compromisul de exploatare față de explorare (uneori cunoscut sub numele de „câștigați sau învățați”).
Cu testarea A / B, aveți o perioadă limitată de explorare pură în care alocați trafic în număr egal versiunii A și versiunii B. După ce declarați câștigător, treceți într-o perioadă lungă de exploatare, unde 100% dintre utilizatori merg la varianta câștigătoare. O problemă cu această abordare este că risipiți resurse pe variația care pierde în timp ce încercați să adunați date și să aflați care este câștigătorul.
Cu testarea banditului cu mai multe brațe, testele sunt adaptive și includ perioade de explorare și exploatare în același timp. Mută traficul treptat către variații câștigătoare, în loc să te oblige să aștepți să declari un câștigător la sfârșitul unui experiment. Acest proces este mai rapid și mai eficient, deoarece se petrece mai puțin timp pentru a trimite trafic la variații evident inferioare.
Unul dintre principalele dezavantaje ale testării bandiților cu mai multe brațe este complexitatea sa de calcul. Mai simplu spus, este doar mai dificil și mai intensiv în utilizarea resurselor pentru a efectua teste de bandiți cu mai multe brațe.
Există câteva situații cunoscute în care testarea banditului cu mai multe brațe funcționează cel mai bine:
Titluri și campanii pe termen scurt
Costul oportunității pentru așteptarea rezultatelor testelor A / B face din algoritmii bandiților o alegere mai bună pentru conținut de scurtă durată, cum ar fi testarea titlurilor pentru articole noi sau promoții de vacanță.
Modificări dinamice pe termen lung
Când elementul testat se modifică suficient de semnificativ pentru a invalida rezultatele unui test A / B de-a lungul timpului, bandiții cu mai multe brațe oferă o alternativă la repetarea testării repetate prin explorarea continuă.
Direcționare
Direcționarea este un alt exemplu de utilizare pe termen lung a algoritmilor bandiților. Dacă anumite tipuri de utilizatori sunt mai frecvente decât altele, banditul multi-armat poate aplica reguli de direcționare învățate mai devreme pentru utilizatori mai obișnuiți, continuând în același timp să experimenteze pe utilizatori mai puțin obișnuiți.
Automatizare pentru scară
Dacă aveți mai multe componente de optimizat continuu, abordarea banditului cu mai multe brațe vă oferă un cadru pentru automatizarea parțială a procesului de optimizare pentru probleme cu risc scăzut, care poate fi prea costisitor pentru a fi analizate individual.