Vad är multi-armed bandit-problemet?
Inom marknadsföring är en multi-armed bandit-lösning en "smartare" eller mer komplex version av A/B-testning som använder maskininlärningsalgoritmer för att dynamiskt fördela trafik till varianter som presterar bra, samtidigt som mindre trafik allokeras till varianter som underpresterar.
Termen "multi-armed bandit" kommer från ett hypotetiskt experiment där en person måste välja mellan flera åtgärder (dvs. spelautomater, de så kallade "enarmade banditerna"). Målet är att fastställa det bästa eller mest lönsamma utfallet genom en serie val. I början av experimentet, när odds och utbetalningar är okända, måste spelaren avgöra vilken maskin som ska spelas, i vilken ordning och hur många gånger. Detta är "multi-armed bandit-problemet".
Exempel på multi-armed bandit
Ett verkligt exempel på ett multi-armed bandit-problem är när en nyhetswebbplats måste fatta beslut om vilka artiklar som ska visas för en besökare. Utan information om besökaren är alla klickutfall okända. Den första frågan är: vilka artiklar får flest klick? Och i vilken ordning ska de visas? Webbplatsens mål är att maximera engagemanget, men de har många innehållsalternativ att välja mellan och saknar data som skulle hjälpa dem att följa en specifik strategi.
Nyhetswebbplatsen har ett liknande problem när det gäller att välja vilka annonser som ska visas för besökarna. I det här fallet vill de maximera annonsintäkterna, men de kanske saknar tillräcklig information om besökaren för att följa en specifik annonsstrategi. I likhet med problemet med nyhetsartiklar har de vanligtvis ett stort antal annonser att välja mellan. Vilka annonser ger maximal intäkt för deras nyhetssajt?
Webbplatsen behöver fatta en serie beslut, vart och ett med okänt utfall och okänd "utbetalning".
Multi-armed bandit-lösningar
Det finns många olika lösningar som datavetare har utvecklat för att hantera multi-armed bandit-problemet. Nedan finns en lista över några av de vanligaste multi-armed bandit-lösningarna:
-
Epsilon-greedy
Detta är en algoritm för att kontinuerligt balansera utforskning med utnyttjande. (I "greedy"-experiment dras alltid spaken med högst känd utbetalning, förutom när en slumpmässig åtgärd vidtas). En slumpmässigt vald arm dras en andel ε av tiden. Resterande 1-ε av tiden dras armen med högst känd utbetalning.
-
Upper confidence bound
Denna strategi baseras på principen Optimism in the Face of Uncertainty och antar att de okända genomsnittliga utbetalningarna för varje arm kommer att vara så höga som möjligt, baserat på observerbar data.
-
Thompson Sampling (Bayesiansk)
Med denna randomiserade sannolikhetsmatchningsstrategi ska antalet dragningar för en given spak motsvara dess faktiska sannolikhet att vara den optimala spaken.
Hur kontextuella banditer skiljer sig från vanliga multi-armed banditer
En kontextuell bandit är en avancerad personaliseringsalgoritm som förbättrar multi-armed bandit-metoden genom att inkludera användarspecifik data. Medan traditionella multi-armed banditer hjälper till att identifiera vinnande varianter, avgör kontextuella banditer vilken variant som fungerar bäst för varje unik besökare.
"Kontexten" avser besökarspecifik information som enhetstyp, plats, tidigare beteende eller köphistorik. Denna data gör det möjligt för maskininlärningsmodellen att fatta smartare beslut om vilket innehåll som ska visas för att maximera konverteringar.
Så fungerar kontextuella banditer:
- Inlärningsperiod: Modellen börjar med 100 % utforskning och tilldelar slumpmässigt varianter till besökare för att samla in mångsidig data för förutsägelser.
- Balansering av utforskning och utnyttjande: När tillräckligt med besökarbeteendedata har samlats in börjar modellen utnyttja (servera personaliserade varianter). Den justerar dynamiskt utforsknings-/utnyttjandegraden allt eftersom fler händelser tas emot.
- Kontinuerlig anpassning: Modellen behåller viss utforskning (maximalt 95 % utnyttjande) för att säkerställa kontinuerligt lärande och undvika missade möjligheter
Istället för att manuellt skapa komplexa riktningsregler för olika användarsegment lär sig kontextuella banditer automatiskt dessa samband och serverar den mest relevanta upplevelsen till varje besökare i realtid. Detta tillvägagångssätt eliminerar gissningar och levererar verklig 1:1-personalisering i stor skala – avgörande i dagens konkurrensutsatta miljö där uppmärksamheten är begränsad och förväntningarna på personalisering är höga.
Den viktigaste skillnaden mellan kontextuella banditer och traditionella multi-armed banditer är kontext. Medan vanliga multi-armed banditer söker en enda vinnande variant för alla användare, identifierar kontextuella banditer den bästa varianten för varje användare baserat på deras specifika attribut.
- A/B-testning: Fasta trafikfördelningar med en universallösning vid vinnarvalet
- Multi-armed banditer: Dynamisk trafikfördelning som söker en övergripande "bästa" variant
- Kontextuella banditer: Personaliserade upplevelser baserade på användarkontext (enhet, plats, beteende)
Multi-armed banditer vs. A/B-testning
När du ska avgöra om du ska använda multi-armed banditer istället för A/B-testning måste du väga avvägningen mellan utnyttjande och utforskning (ibland kallat "tjäna eller lära").
Nyckeln till att förstå skillnaden mellan traditionell A/B-testning och multi-armed banditer är konceptet utnyttjande kontra utforskning:
- Utforskning: Visa olika varianter för besökare för att lära sig vilken som presterar bäst
- Utnyttjande: Visa den bäst presterande varianten för att maximera konverteringar
Med A/B-testning har du en begränsad period av ren utforskning där du fördelar trafik i lika delar till Version A och Version B. När du utser en vinnare övergår du till en lång period av utnyttjande, där 100 % av användarna dirigeras till den vinnande varianten. Ett problem med detta tillvägagångssätt är att du slösar resurser på den förlorande varianten medan du försöker samla in data och lära dig vilken som är vinnaren.
Med multi-armed bandit-testning är testerna adaptiva och inkluderar perioder av utforskning och utnyttjande samtidigt. De flyttar trafik gradvis mot vinnande varianter, istället för att tvinga dig att vänta med att utse en vinnare i slutet av ett experiment. Denna process är snabbare och mer effektiv eftersom mindre tid läggs på att skicka trafik till uppenbart sämre varianter.
En av de främsta nackdelarna med multi-armed bandit-testning är dess beräkningsmässiga komplexitet. Enkelt uttryckt är det svårare och mer resurskrävande att köra multi-armed bandit-tester.