27.5 C
New York

Optimaliseer klantbetrokkenheid met versterkend leren

Datum:

Dit is een gastpost die mede is geschreven door Taylor Names, Staff Machine Learning Engineer, Dev Gupta, Machine Learning Manager en Argie Angeleas, Senior Product Manager bij Ibotta. Ibotta is een Amerikaans technologiebedrijf dat gebruikers in staat stelt met zijn desktop- en mobiele apps geld terug te verdienen op aankopen in de winkel, in mobiele apps en online met het indienen van bonnen, gekoppelde loyaliteitsaccounts van retailers, betalingen en aankoopverificatie.

Ibotta streeft ernaar om gepersonaliseerde promoties aan te bevelen om zijn gebruikers beter te behouden en te betrekken. Promoties en gebruikersvoorkeuren evolueren echter voortdurend. Deze steeds veranderende omgeving met veel nieuwe gebruikers en nieuwe promoties is een typisch koudstartprobleem: er zijn onvoldoende historische gebruikers- en promotie-interacties om conclusies uit te trekken. Reinforcement learning (RL) is een gebied van machine learning (ML) dat zich bezighoudt met hoe intelligente agenten actie moeten ondernemen in een omgeving om het idee van cumulatieve beloningen te maximaliseren. RL richt zich op het vinden van een balans tussen het verkennen van onbekend terrein en het benutten van huidige kennis. Meerarmige bandiet (MAB) is een klassiek leerprobleem met versterking dat een voorbeeld is van de afweging tussen exploratie en exploitatie: het maximaliseren van de beloning op de korte termijn (exploitatie) terwijl de beloning op de korte termijn wordt opgeofferd voor kennis die de beloningen op de lange termijn kan verhogen (exploratie). ). Een MAB-algoritme verkent en exploiteert optimale aanbevelingen voor de gebruiker.

Ibotta werkte samen met de Amazon Machine Learning Solutions Lab om MAB-algoritmen te gebruiken om de betrokkenheid van gebruikers te vergroten wanneer de gebruikers- en promotie-informatie zeer dynamisch is.

We hebben een contextueel MAB-algoritme gekozen omdat het effectief is in de volgende gebruikssituaties:

  • Gepersonaliseerde aanbevelingen doen op basis van de status van de gebruiker (context)
  • Omgaan met koudestartaspecten zoals nieuwe bonussen en nieuwe klanten
  • Aanbevelingen accepteren waarbij de voorkeuren van gebruikers in de loop van de tijd veranderen

Data

Om het inwisselen van bonussen te vergroten, wil Ibotta gepersonaliseerde bonussen naar klanten sturen. Bonussen zijn Ibotta's zelf gefinancierde geldprikkels, die dienen als de acties van het contextuele meerarmige bandietenmodel.

Het bandietenmodel maakt gebruik van twee reeksen functies:

  • Actiefuncties – Deze beschrijven de acties, zoals het type bonus en het gemiddelde bedrag van de bonus
  • Kenmerken van de klant – Deze beschrijven de historische voorkeuren en interacties van klanten, zoals verzilveringen, klikken en weergaven van de afgelopen weken

De contextuele functies zijn afgeleid van historische klantreizen, die 26 wekelijkse activiteitsstatistieken bevatten die zijn gegenereerd op basis van gebruikersinteracties met de Ibotta-app.

Contextuele meerarmige bandiet

Bandit is een raamwerk voor sequentiële besluitvorming waarin de beslisser sequentieel een actie kiest, mogelijk gebaseerd op de huidige contextuele informatie, en een beloningssignaal observeert.

We hebben de contextuele meerarmige bandietenworkflow opgezet op Amazon Sage Maker gebruik de ingebouwde Gelofte Wabbit (VW) container. SageMaker helpt datawetenschappers en ontwikkelaars om snel hoogwaardige ML-modellen voor te bereiden, te bouwen, op te leiden en te implementeren door een brede reeks van speciaal voor ML ontwikkelde mogelijkheden samen te brengen. De modeltraining en -testen zijn gebaseerd op offline experimenten. De bandiet leert gebruikersvoorkeuren op basis van hun feedback van eerdere interacties in plaats van een live-omgeving. Het algoritme kan overschakelen naar de productiemodus, waarbij SageMaker de ondersteunende infrastructuur blijft.

Om de exploratie-/exploitatiestrategie te implementeren, hebben we het iteratieve training- en implementatiesysteem gebouwd dat de volgende acties uitvoert:

  • Beveelt een actie aan met behulp van het contextuele bandietenmodel op basis van gebruikerscontext
  • Legt de impliciete feedback vast in de loop van de tijd
  • Traint het model continu met incrementele interactiegegevens

De workflow van de clienttoepassing is als volgt:

  1. De clienttoepassing kiest een context die naar het SageMaker-eindpunt wordt verzonden om een ​​actie op te halen.
  2. Het SageMaker-eindpunt retourneert een actie, de bijbehorende kans op het inwisselen van bonussen, en event_id.
  3. Omdat deze simulator is gegenereerd met behulp van historische interacties, kent het model de echte klasse voor die context. Als de agent een actie met verzilvering selecteert, is de beloning 1. Anders krijgt de agent een beloning van 0.

In het geval dat historische gegevens beschikbaar zijn en de indeling hebben van: <state, action, action probability, reward>, Ibotta kan een live-model warm starten door het beleid offline te leren. Anders kan Ibotta een willekeurig beleid voor dag 1 starten en vanaf daar een bandietenbeleid leren.

Het volgende is het codefragment om het model te trainen:

hyperparameters = { "exploration_policy": "egreedy" , # supports "egreedy", "bag", "cover" "epsilon": 0.01 , # used if egreedy is the exploration policy "num_policies": 3 , # used if bag or cover is the exploration policy "num_arms": 9,
} job_name_prefix = "ibotta-testbed-bandits-1" vw_image_uri = "462105765813.dkr.ecr.us-east-1.amazonaws.com/sagemaker-rl-vw-container:vw-8.7.0-cpu" # Train the estimator rl_estimator = RLEstimator(entry_point='train-vw_new.py', source_dir="src", image_uri=vw_image_uri, role=role, output_path=s3_output_path, base_job_name=job_name_prefix, instance_type=instance_type, instance_count=1, hyperparameters=hyperparameters) rl_estimator.fit(“s3 bucket/ibotta.csv”, wait=True)

Modelprestaties

We splitsen de ingewisselde interacties willekeurig op als trainingsgegevens (10,000 interacties) en evaluatiegegevens (5,300 holdout-interacties).

Evaluatiestatistieken zijn de gemiddelde beloning, waarbij 1 aangeeft dat de aanbevolen actie is ingewisseld en 0 aangeeft dat de aanbevolen actie niet is ingewisseld.

We kunnen de gemiddelde beloning als volgt bepalen:

Gemiddelde beloning (inwisselpercentage) = (# aanbevolen acties met verzilvering)/(totaal # aanbevolen acties)

De volgende tabel toont het gemiddelde beloningsresultaat:

Gemiddelde beloning Uniforme willekeurige aanbeveling Contextuele MAB-gebaseerde aanbeveling
Trein 11.44% 56.44%
test 10.69% 59.09%

In de volgende afbeelding wordt de incrementele prestatie-evaluatie tijdens de training weergegeven, waarbij de x-as het aantal records is dat door het model is geleerd en de y-as de incrementele gemiddelde beloning is. De blauwe lijn geeft de meerarmige bandiet aan; de oranje lijn geeft willekeurige aanbevelingen aan.

Optimaliseer klantbetrokkenheid met versterkend leren

De grafiek laat zien dat de voorspelde gemiddelde beloning toeneemt over de iteraties, en de voorspelde actiebeloning is aanzienlijk groter dan de willekeurige toewijzing van acties.

We kunnen eerder getrainde modellen gebruiken als warme start en het model batchgewijs opnieuw trainen met nieuwe gegevens. In dit geval zijn de modelprestaties al geconvergeerd door de initiële training. Er werd geen significante extra prestatieverbetering waargenomen bij omscholing van nieuwe batches, zoals weergegeven in de volgende afbeelding.

Optimaliseer klantbetrokkenheid met versterkend leren

We vergeleken ook contextuele bandiet met uniform willekeurig en posterieur willekeurig beleid (willekeurige aanbeveling met historische distributie van gebruikersvoorkeuren als warme start). De resultaten worden als volgt weergegeven en geplot:

  • Bandiet – 59.09% gemiddelde beloning (training 56.44%)
  • Uniform willekeurig – 10.69% gemiddelde beloning (training 11.44%)
  • Posterior kans willekeurig – 34.21% gemiddelde beloning (training 34.82%)

Het contextuele multi-armed bandit-algoritme presteerde aanzienlijk beter dan de andere twee beleidslijnen.

Optimaliseer klantbetrokkenheid met versterkend leren

Samengevat

Het Amazon ML Solutions Lab werkte samen met Ibotta om een ​​oplossing voor leeraanbeveling voor contextuele bandietversterking te ontwikkelen met behulp van een SageMaker RL-container.

Deze oplossing vertoonde een gestage incrementele toename van het inwisselpercentage ten opzichte van willekeurige (vijfvoudige toename) en niet-contextuele RL-aanbevelingen (tweevoudige toename) op basis van een offline test. Met deze oplossing kan Ibotta een dynamische gebruikersgerichte aanbevelingsengine opzetten om de klantbetrokkenheid te optimaliseren. In vergelijking met willekeurige aanbevelingen verbeterde de oplossing de nauwkeurigheid van de aanbeveling (gemiddelde beloning) van 11% naar 59%, volgens de offline test. Ibotta is van plan deze oplossing te integreren in meer gebruiksscenario's voor personalisatie.

"Het Amazon ML Solutions Lab werkte nauw samen met Ibotta's Machine Learning-team om een ​​dynamische engine voor bonusaanbevelingen te bouwen om het aantal verzilveringen te verhogen en de klantbetrokkenheid te optimaliseren. We hebben een aanbevelingsengine gemaakt die gebruikmaakt van versterkend leren dat leert en zich aanpast aan de steeds veranderende klantstatus en nieuwe bonussen voor koude starts automatisch. Binnen 2 maanden ontwikkelden de wetenschappers van het ML Solutions Lab een contextuele leeroplossing voor meerarmige bandietenversterking met behulp van een SageMaker RL-container. De contextuele RL-oplossing vertoonde een gestage toename van de aflossingspercentages, waarbij een vijf keer hogere bonusaflossingssnelheid werd bereikt dan willekeurige aanbeveling, en een tweevoudige toename ten opzichte van een niet-contextuele RL-oplossing. De nauwkeurigheid van de aanbeveling verbeterde van 11% bij gebruik van willekeurige aanbevelingen tot 59% bij gebruik van de ML Solutions Lab-oplossing. Gezien de effectiviteit en flexibiliteit van deze oplossing, zijn we van plan deze oplossing te integreren in meer Ibotta-gebruiksscenario's voor personalisatie om onze missie te verwezenlijken om elke aankoop voor onze gebruikers lonend te maken."

– Heather Shannon, Senior Vice President Engineering & Data bij Ibotta.


Over de auteurs

Optimaliseer klantbetrokkenheid met versterkend lerenTaylor-namen is een stafmedewerker machine learning bij Ibotta, gericht op contentpersonalisatie en realtime vraagvoorspelling. Voordat hij bij Ibotta kwam, leidde Taylor machine learning-teams in de IoT- en schone energieruimten.

Optimaliseer klantbetrokkenheid met versterkend lerenDev Gupta is engineering manager bij Ibotta Inc, waar hij leiding geeft aan het machine learning-team. Het ML-team van Ibotta is belast met het leveren van hoogwaardige ML-software, zoals aanbevelingen, voorspellers en interne ML-tools. Voordat hij bij Ibotta kwam, werkte Dev bij Predikto Inc, een startup voor machine learning, en The Home Depot. Hij studeerde af aan de Universiteit van Florida.

Optimaliseer klantbetrokkenheid met versterkend lerenArgie Angelea's is Senior Product Manager bij Ibotta, waar hij de Machine Learning- en Browser Extension-teams leidt. Voordat hij bij Ibotta kwam, werkte Argie als productdirecteur bij iReportsource. Argie behaalde zijn PhD in Computer Science and Engineering aan de Wright State University.

Optimaliseer klantbetrokkenheid met versterkend lerenFang Wang is Senior Research Scientist bij de Amazon Machine Learning Solutions Lab, waar ze de Retail Vertical leidt en samenwerkt met AWS-klanten in verschillende sectoren om hun ML-problemen op te lossen. Voordat hij bij AWS kwam, werkte Fang als Sr. Director of Data Science bij Anthem, waar hij leiding gaf aan het AI-platform voor medische claimverwerking. Ze behaalde haar master in statistiek aan de Universiteit van Chicago.

Optimaliseer klantbetrokkenheid met versterkend lerenXin Chen is een senior manager bij de Amazon Machine Learning Solutions Lab, waar hij leiding geeft aan de Central US, Greater China Region, LATAM en Automotive Vertical. Hij helpt AWS-klanten in verschillende sectoren bij het identificeren en bouwen van machine learning-oplossingen om de hoogste return-on-investment machine learning-mogelijkheden van hun organisatie aan te pakken. Xin behaalde zijn PhD in Computer Science and Engineering aan de Universiteit van Notre Dame.

Optimaliseer klantbetrokkenheid met versterkend lerenRaj Biswas is Data Scientist bij de Amazon Machine Learning Solutions Lab. Hij helpt AWS-klanten bij het ontwikkelen van ML-aangedreven oplossingen in diverse verticale branches voor hun meest urgente zakelijke uitdagingen. Voordat hij bij AWS kwam, was hij een afgestudeerde student aan de Columbia University in Data Science.

Optimaliseer klantbetrokkenheid met versterkend lerenXinghua Liang is een Applied Scientist bij de Amazon Machine Learning Solutions Lab, waar hij samenwerkt met klanten in verschillende sectoren, waaronder productie en automotive, en hen helpt hun AI- en cloudadoptie te versnellen. Xinghua behaalde zijn PhD in Engineering aan de Carnegie Mellon University.

Optimaliseer klantbetrokkenheid met versterkend lerenYi Liu is een toegepaste wetenschapper bij Amazon Customer Service. Ze is gepassioneerd over het gebruik van de kracht van ML/AI om de gebruikerservaring voor Amazon-klanten te optimaliseren en AWS-klanten te helpen schaalbare cloudoplossingen te bouwen. Haar wetenschappelijke werk bij Amazon omvat lidmaatschapsbetrokkenheid, online aanbevelingssysteem en identificatie en oplossing van defecten in klantervaringen. Naast haar werk houdt Yi van reizen en het verkennen van de natuur met haar hond.

Gerelateerde artikelen

spot_img

Recente artikelen

spot_img