Einführung
Hallo! Unser Glowbyte Advanced Analytics- Team entwickelt ML-Lösungen für angewandte Branchen (Einzelhandel, Bankwesen, Telekommunikation usw.). Viele Aufgaben erfordern nicht standardmäßige Lösungen. Eine davon ist die Optimierung der Kommunikationsketten mit dem Kunden mithilfe von Reinforcement Learning (RL), dem wir diesen Artikel gewidmet haben.
Wir haben den Artikel in drei Blöcke unterteilt: Einführung in das Problem der Optimierung von Kommunikationsketten; Einführung in RL; und im dritten Block verschmelzen wir 1 und 2 miteinander.
Die Aufgabe, Kommunikationsketten zu optimieren
Für den Anfang ein kleines Glossar:
CRM - Customer Relationship Management System. In der Regel umfasst dies den Prozess des Sammelns und Analysierens von Kundenwissen, mit dem Vertriebs- und Servicelevel verbessert werden.
Ein Kunde ist jemand, der die Dienste einer Organisation nutzt.
Kundenattribute - Das gesammelte Wissen über den Kunden. Beispiele:
- Durchschnittlicher Scheck;
- Durchschnittliche Häufigkeit der Einkäufe pro Monat;
- Alter;
- Wohnort.
Marketingkampagne \ Kommunikation \ Angebot - Werbeangebote, die Kunden von einer Organisation erhalten. Beispiele:
- Sie haben XXX Punkte erhalten und haben Zeit, bis zu JJJ zu verbringen.
- Für Sie XXX Rabatt auf YYY Markenprodukte.
Eine Kommunikationskette ist eine Folge von Marketingkampagnen.
Das Treueprogramm besteht aus einer Reihe von Marketingaktivitäten zur Steigerung des Kundennutzens. Ein typisches Beispiel sind Rabattkarten.
Clustering von Kunden - Aufteilung von Kunden in Gruppen, in denen sich Kunden im Verbraucherverhalten ähneln.
Ein Empfehlungssystem ist ein System, das dem Kunden die besten Angebote in Bezug auf den Geschäftswert generiert.
LTV (Lifetime Value) - der erwartete Gewinn des Kunden für den gesamten Zeitraum der Zusammenarbeit mit ihm.
Es wird angenommen, dass die Hauptaufgabe eines Analysten bei der Entwicklung eines Treueprogramms darin besteht, ein erstklassiges Empfehlungssystem zu schaffen, das weiß, was, wann und in welcher Menge ein Kunde zu einem bestimmten Zeitpunkt benötigt. Dies ist sicherlich wichtig und bringt sogar einen gewissen Gewinn, aber dies ist keine wichtige Geschäftsaufgabe. Jedes Unternehmen möchte zunächst die Gewohnheit seiner Kunden entwickeln, ihre Dienste zu nutzen. Der ideale Kunde ist einer, der die Dienste ausschließlich dieser Organisation nutzt, einen stabilen Gewinn erzielt, Dienste an Freunde empfiehlt und gleichzeitig ein Minimum an Kosten für das Unternehmen verlangt. Kundenbindung wird nicht sofort verdient und die Aufgabe des Unternehmens besteht darin, den Kunden auf effizienteste Weise von der ersten Bestellung bis zum regulären Einkauf zu führen.
Stellen Sie sich zum Beispiel eine Schulgruppe vor, in der der Lehrer nicht nur eine Regel oder einen Algorithmus erklären muss, sondern es auch wichtig ist, den Schülern die Liebe zum Lernen oder zu einem Fach zu vermitteln. Ein erfahrener Lehrer weiß, dass der Lernprozess für beide Seiten nicht immer angenehm, manchmal sogar schmerzhaft ist, aber das Endergebnis ist wichtig. Der Lehrer hat seine eigene Herangehensweise an jeden Schüler, wobei viele individuelle Faktoren berücksichtigt werden.
Im Gegensatz zu einer kleinen Schulgruppe kann eine Organisation zig Millionen Kunden haben, von denen jeder von Hand erzogen werden muss. Dafür reicht es nicht aus, den Wunsch einmal zu erraten. Und es ist klar, dass dies über die menschlichen Fähigkeiten hinausgeht.
Also, was sind unsere einleitenden Anmerkungen:
- — (, LTV ). , , ;
- , , .;
- , , ;
- , , .1. , ( .2). , .
Unsere Lösung für dieses Problem basiert auf dem Konzept des Reinforcement Learning (oder Reinforcement Learning). Bevor wir mit der Darstellung unseres Ansatzes fortfahren, haben wir einen kleinen Ausflug in die Theorie vorbereitet.
Verstärkungslernen. INTRO
Was ist das und warum?
Die Aufgabe des Reinforcement Learning besteht darin, einen optimalen Algorithmus für die Interaktion mit einer bestimmten Umgebung zu entwickeln, um das gewünschte Ergebnis zu erzielen.
Ein Beispiel für die Verwendung von RL ist das Finden eines Auswegs aus einem Labyrinth. Über das Labyrinth ist zunächst nichts bekannt. Durch Untersuchen verschiedener Optionen lernt der Algorithmus, den kürzesten Weg zum Ausgang zu finden.
Was sind die Merkmale von RL aus ML-Sicht?
Reinforcement Learning ist eine separate Klasse von Algorithmen für maschinelles Lernen. In der Regel fehlen zunächst Informationen zur Umgebung, dh es gibt keine gekennzeichneten Beispiele für Schulungen.
Die Besonderheit von RL ist, dass Sie verschiedene Aktionen ausprobieren, eine Schlussfolgerung über ihren Erfolg ziehen, das gewonnene Wissen sammeln und es bei der nächsten Auswahl verwenden können. Und so oft. Ein iterativer Lernprozess, bei dem der Algorithmus die Umgebung unabhängig untersucht, ist einer der Hauptunterschiede von RL.
Wie unterscheidet sich RL von der zufälligen Aufzählung aller Optionen?
Erstens können Sie mit Hilfe des klassischen RL (ohne Verwendung tiefer Netzwerke) die Aufzählung sequentiell und effizient gestalten. Eines der Grundprinzipien von RL ist die Erforschung, die sich mit der Nutzung von Wissen abwechselt. Mit anderen Worten, nichts hindert uns daran, die Anwendung des Modells und das Testen zu kombinieren. Die Hauptsache ist, ein Gleichgewicht aufrechtzuerhalten.
Zweitens ist es nicht bei allen Aufgaben möglich, alle vorhandenen Situationen zu sortieren. In diesen Fällen ermöglichen fortschrittliche RL-Algorithmen die Verallgemeinerung des gesammelten Wissens auf neue Fälle. Aber auch in diesem Fall bleibt die Idee der gemeinsamen Prüfung und Anwendung bestehen.
Was bedeutet der optimale Algorithmus für die Interaktion mit der Umgebung?
Sofortige Gewinne garantieren nicht immer langfristigen Erfolg.
Zum Beispiel kann im Schachspiel das Erobern der gegnerischen Figur zu teureren Verlusten führen.
Bei Auswahl einer bestimmten Aktion können wir jedoch davon ausgehen, dass wir auf den nächsten Schritt warten. Im nächsten Schritt können Sie wiederum davon ausgehen, was als nächstes passieren wird. Usw. All dieses Wissen kann bei der Auswahl der nächsten Aktion berücksichtigt werden. Somit wird eine Verhaltensstrategie erstellt.
Wo wird es verwendet?
In Spielen. Darüber hinaus gibt es Erfolge beim Unterrichten von Robotern, Verhandlungsbots und Empfehlungssystemen. Einige interessante Referenzen:
- Learn Go: AlphaGo schlägt die besten Profis in Go
- Verhandlungsbot: Ein Bot verhandelt mit einem anderen Agenten und sein Ziel ist es, einen bestimmten Deal zu machen
- Ein selbstfahrendes Auto
- Hier finden Sie eine Auswahl von RL-Anwendungen in unterschiedlichsten Bereichen
Bevor wir uns mit den Details der Terminologie befassen, stellen wir Beispiele vor, die einige der konzeptionellen Merkmale von RL veranschaulichen.
Beispiel Anfänger
Beginnen wir traditionell mit dem mehrarmigen Banditen.
Stellen Sie sich einen Spielautomaten mit N Griffen vor. Es kann jeweils nur ein Griff der Maschine angehoben werden.
Ziel: Identifizieren der Aktion (d. H. Des Handles), die die maximale Auszahlung bringt.
Lösung: Wir können jeden Griff viele Male ziehen. Dann wählen wir als „optimale Aktion“ den Griff mit der höchsten durchschnittlichen Auszahlung.
Und wenn wir in Zukunft immer die beste Aktion wählen, wird eine solche Strategie als gierig bezeichnet .
Offensichtlich funktioniert eine solche Strategie nur in einer stationären Umgebung (dh dort, wo sich im Laufe der Zeit nichts ändert). In einer instationären Umgebung(Zum Beispiel ändert jemand von Zeit zu Zeit die Einstellungen der Maschine.) Im Laufe der Zeit wird bei Verwendung einer gierigen Strategie kein optimales Ergebnis erzielt.
Neben der gierigen Strategie gibt es noch andere:
- ε-gierige Strategie : in % der Fälle wählen wir die optimale Aktion, in % - zufällig;
- UCB-Strategie (Upper Confidence Bound) : Bei der Auswahl einer Aktion wird ein Gewichtskoeffizient verwendet, dessen Wert davon abhängt, wie gut das Ereignis getestet wird (dh je weniger das Ereignis untersucht wurde, desto höher ist die Wahrscheinlichkeit, diese Aktion auszuwählen).
- Softmax: Je höher die erwartete Auszahlung ist, desto höher ist die Wahrscheinlichkeit, diese Aktion zu wählen.
Das mehrarmige Banditenproblem ist ein Beispiel für das einfachste Problem, bei dem wir zunächst nichts über das Thema Beobachtung wissen, dh wir lernen, von Grund auf damit zu interagieren. Die Lösung für dieses Problem basiert auf der Methode des Versuchs und Irrtums (sehr wichtig). Mit zunehmender Erfahrung werden unsere Handlungen immer erfolgreicher.
Was wir aus dem Beispiel gelernt haben:
- Versuch und Irrtum ist auch eine Methode;
- Die zufällige Aufzählung kann durch Verwendung verschiedener Varianten von Strategien effizienter gestaltet werden.
- Trennen Sie stationäre und instationäre Umgebungen.
Zwischenbeispiel
Jetzt können wir die Aufgabe etwas komplizieren und eine Stange als Beispiel betrachten:
Ein Wagen mit einer Stange kann sich „nach links“ und „nach rechts“ bewegen.
Zweck: Sie müssen lernen, wie Sie die Stange so lange wie möglich aufrecht halten.
Unterschied zur vorherigen Aufgabe: Jetzt müssen zusätzliche Parameter berücksichtigt werden: Neigungswinkel und Stangengeschwindigkeit und treffen Sie eine Entscheidung auf der Grundlage dieser Informationen. Die Aufgabe scheint komplizierter, weil die Kombinationen
viel und Sie werden nicht in der Lage sein, jeden von ihnen viele Male zu versuchen. Beliebige Kombination
heißtZustand. Die Anzahl der Zustände kann entweder stetig oder endlich sein. Algorithmen, die mit einer endlichen Menge von Zuständen arbeiten, sind im Allgemeinen einfacher zu implementieren. Es stellt sich heraus, dass der Status eine Reihe einiger Parameter des Systems ist. In der RL-Theorie gibt es eine wichtige Annahme, dass dieser Parametersatz den Zustand des Systems vollständig beschreiben sollte. Das heißt, es sollte uns egal sein, was in den vorherigen Schritten mit dem System passiert ist, es ist nur wichtig, was wir zu einem bestimmten Zeitpunkt beobachten. Was wir aus dem Beispiel gelernt haben:
- Bei der Auswahl der optimalen Aktion muss der Status des Systems berücksichtigt werden. Die Anzahl der Zustände beeinflusst die Komplexität des Algorithmus.
- Parameter, die den Status des Systems beschreiben, sollten vollständige Informationen über das System zum aktuellen Zeitpunkt enthalten.
Erweitertes Beispiel
Schauen wir uns jetzt das Schachspiel an.
Die Anzahl der möglichen Positionen der Teile auf der Tafel wird in 52 Ziffern ausgedrückt. Und das ist nicht die einzige Schwierigkeit. Der Unterschied zu den beiden vorherigen Aufgaben besteht darin, dass es im Fall von Schach wichtig ist, nicht die Aktion zu wählen, die jetzt das maximale Ergebnis bringt, sondern die, die in Zukunft zum Sieg führen wird (nach vielen Schritten vorwärts).
Was wir aus dem Beispiel gelernt haben:
- Berücksichtigen Sie bei einer Entscheidung den langfristigen Effekt und nicht den unmittelbaren Nutzen.
Anhand von Beispielen definieren wir nun die allgemein akzeptierten Begriffe RL.
Grundlegende RL-Terminologie
Ein Agent ist ein Subjekt, das mit der Umgebung interagiert, bestimmte Aktionen ausführt, Feedback von ihr erhält und sich daran erinnert.
- Zum Beispiel ein Motor, der einen Wagen mit einer Stange antreibt; Die mehrarmigen Banditen sind Agenten.
Umgebung - der Ort, an dem der Agent existiert und von dem er Feedback erhält.
Das Feedback, das der Agent von der Umgebung erhält, weist normalerweise eine gewisse Unsicherheit auf.
- Wenn beispielsweise ein Wagen mit einer Stange eine Bewegung ausführt, ist die Rückmeldung der durchgeführten Aktion das Ergebnis des Fallens der Stange oder nicht. Wagen und Stange - mittel.
Staat - jedes Wissen, das hilft, Entscheidungen zu treffen. Zustände beziehen sich auf die Umgebung und definieren sie zu jedem Zeitpunkt eindeutig. In der Regel werden solche Zustände als Satz von Parametern, Matrizen oder Tensoren höherer Ordnung geschrieben.
- Zum Beispiel ist die aktuelle Position der Figuren auf einem Schachbrett ein Zustand.
Aktion - Aktionen, die dem Agenten zur Verfügung stehen. In der Regel ist die Anzahl der Aktionen im Raum begrenzt.
- Beispielsweise sind Bewegungen eines Balkens nach rechts oder links Aktionen.
Belohnung - Sofortiges Feedback, das ein Agent für Aktionen erhält. Das heißt, es ist das Ergebnis der ergriffenen Maßnahmen. Die Belohnung ist immer eine Zahl.
- Zum Beispiel ist es eine Belohnung, einen Automaten in einem mehrarmigen Banditenproblem zu gewinnen.
Ziel - In der Regel besteht das Ziel des Agenten darin, die Gesamtbelohnung zu maximieren. Mit anderen Worten, das ultimative Ziel ist es, die Belohnung nicht im aktuellen Schritt zu maximieren, sondern die endgültige Belohnung basierend auf den Ergebnissen der Abfolge von Schritten.
- Unser Ziel ist es beispielsweise, den Drehpunkt nicht einmal, sondern so lange wie möglich zu halten.
Strategie - Zuordnung von Zuständen zu Aktionen. Zum Beispiel die Wahrscheinlichkeit, Aktion A im Zustand S zu wählen.
Formale Problemstellung
- Bei jedem Schritt kann sich die Umgebung im Zustand befinden .
- Bei jedem Schritt wählt der Agent eine Aktion aus den verfügbaren Aktionen aus nach einer Strategie π.
- Die Umgebung teilt dem Agenten mit, wie hoch die Belohnung ist erhielt er für diese und in welchem Zustand dann entpuppte.
- Der Agent passt die Strategie π an.
Alles scheint einfach zu sein. Es gibt eine ungelöste Frage: Woher kommt die mysteriöse Strategie π, dh wie der Agent bei jedem Schritt eine Entscheidung trifft.
Da im letzten Teil des Artikels eine auf Q-Learning basierende Lösung vorgeschlagen wird, konzentrieren wir uns bewusst nur auf tabellarische Methoden.
RL Tabellarische Algorithmen
Einige der grundlegenden Methoden von RL sind tabellarische Methoden, die für Aufgaben verwendet werden, bei denen die Mengen von Zuständen und Aktionen endlich sind. Ein charakteristisches Merkmal solcher Methoden ist die Verwendung von State-Action-Tabellen. Die Zeilen sind normalerweise verzögerte Zustände, die Spalten sind Aktionen. Die Zellen enthalten die Werte der Wertefunktion.
- Wert der Aktion ist in der Lage . Grob gesagt ist dies der erwartete Nutzen, den wir erhalten, wenn wir eine Aktion wählen , in einem Zustand sein . Im ersten Schritt die Werte beispielsweise mit Nullen initialisiert. Für das Labyrinthbeispiel könnte die anfängliche State-Action-Tabelle folgendermaßen aussehen: Hier ist der Status die Position (Labyrinthzelle), an der sich der Agent befindet. Nach jeder Aktion ändert unser Agent seinen Status und erhält eine Belohnung. Bei dieser Aufgabe kann die Belohnung wie folgt sein:
- 1 wenn das Objekt einen Weg aus dem Labyrinth gefunden hat;
- 0 sonst.
Nachdem der Agent tatsächlich Feedback von der Umgebung erhalten hat, wird außerdem der Wert angezeigt korrigiert. Korrekturalgorithmen unterscheiden sich beispielsweise von der Monte-Carlo-Methode, SARSA, Q-Learning. Lesen Siehieroderhiermehr darüber. Beispielsweise sehen die Q-Learning- und SARSA-Formeln auf den ersten Blick sehr ähnlich aus: Beide Methoden verwenden im nächsten Schritt den erwarteten Wert der Aktion. Es wird sehr einfach empfangen: Nehmen wir an, der Agent befindet sich im Status
und führt die Aktion aus . Dann informiert die Umgebung den Agenten, dass er als Ergebnis seiner Aktion eine Belohnung erhält und neuer Zustand . In der Status-Aktionstabelle finden Sie die Zeile mit dem Status und bestimmen Sie, welchen Wert diese oder jene Aktion bringen wird. Der Unterschied ist der beim Q-Learning
ist immer der Maximalwert in einem neuen Zustand. Bei der SARSA-Methode wird davon ausgegangen, dass der Agent die Auswahl der Aktion im Status simuliert zum Beispiel nach der ε-gierigen oder UCB-Strategie. Bei Verwendung der gierigen Strategie sind die Methoden gleichwertig. Der Nachteil solcher Algorithmen ist die Notwendigkeit, die State-Action-Tabelle zu speichern. Einige Aufgaben können einen großen Status- und Aktionsbereich haben, was die Verwendung klassischer Tabellenmethoden unmöglich macht. In solchen Fällen werden Ansätze verwendet, um die Werte zu approximieren
Verwendung neuronaler Netze. Dynamische Programmierung kann eine Alternative zu Tabellenmethoden sein. Wir werden uns nicht mit diesen Algorithmen befassen, aber wir empfehlen, das BuchReinforcement Learning von R. S. Sutton und E. G. Barto zulesen. Hier beenden wir die Theorie und sprechen dann darüber, wie Reinforcement Learning in einer angewandten Aufgabe eingesetzt werden kann.
Finden der optimalen Kundenanreizstrategie mithilfe von Reinforcement Learning
Problemstellung in geschäftlicher Hinsicht
Einschränkungen, unter denen unser Ansatz entwickelt wurde:
- Die Lösung muss flexibel gegenüber den Einschränkungen der Kommunikationsrichtlinie mit Kunden sein.
- Die zu optimierende Funktion muss von den Geschäftszielen abhängen und kann komplexer sein als eine einfache Reaktion.
- ;
- ( , , , );
- .
RL
Also,
Agenten und Umwelt ist ein Treueprogramm System, das die Client - Kommunikation mit Marketing - Vorschlägen sendet, und der Kunde selbst.
Zustand ist der Zustand des Client, der durch die Client Attribute gekennzeichnet ist.
Aktionen sind Marketingangebote (z. B. "X% Rabatt auf Kauf Y"). Es wird davon ausgegangen, dass die Liste der Vorschläge fest und endlich ist.
Belohnung ist eine Funktion zur Änderung des Kundenverhaltens (z. B. Steigerung des Umsatzes oder Reaktion auf eine gezielte Kampagne).
Lösungsansatz
Schauen wir uns nun die möglichen Lösungen mit den tabellarischen Methoden des Reinforcement Learning an.
Der Lösungsalgorithmus mit Q-Learning oder Sarsa kann wie folgt aussehen:
1. Client-Status definieren
Der Clientstatus kann mithilfe von Clientattributen angegeben werden. Die meisten dieser Attribute sind reelle Zahlen. Daher sollten die Attribute vor Verwendung tabellarischer Methoden diskretisiert werden, um eine endliche Menge von Zuständen zu erhalten.
In unserer Lösung haben wir Cluster als Client-Status verwendet, die als Ergebnis des Clusters der Client-Basis basierend auf den ausgewählten Attributen erhalten wurden. Die Anzahl der Cluster beeinflusst, wie schnell der Algorithmus lernt. Allgemeine Empfehlungen lauten wie folgt:
- Um den Kundenfluss von Cluster zu Cluster verwalten zu können, muss die Liste der Attribute diejenigen enthalten, die unter dem Einfluss der Präsenz und Reaktion auf Marketingangebote geändert werden können.
- Innerhalb jedes Clusters müssen die Clients ein homogenes Verhalten aufweisen.
- Die Aktualisierung der Attribute sollte regelmäßig möglich sein.
- In jedem Cluster muss die Anzahl der Clients höher sein als das festgelegte Minimum (das Minimum kann beispielsweise auf Einschränkungen der Mindestanzahl von Clients zurückzuführen sein, damit die Ergebnisse aussagekräftig sind).
2. Wahl der Belohnung
Die Wahl der Belohnung ist die wichtigste Phase in der Entwicklung des Systems. Für diese Aufgabe kann die Belohnung den Erfolg der Kampagne charakterisieren. Zum Beispiel sind die möglichen Optionen:
- Umrechnung pro Angebot;
- Zunahme der Reaktion auf ein Angebot;
- Spezifische Einnahmen pro Kampagnenteilnehmer;
- Spezifischer Gewinn unter Berücksichtigung der Kosten;
- ...
Um auf das Problem der Erhöhung der Kundenbindung zurückzukommen, kann die Zielmetrik der LTV oder die Metrik der Kundennähe zum loyalen Segment sein.
In jedem Fall sollte die Wahl der Belohnung mit den Zielen des Marketings übereinstimmen.
PS Einige der vorgeschlagenen Vergütungsoptionen werden von einer Kundengruppe aggregiert berechnet (z. B. ist die Zunahme der Reaktion auf Angebote die Reaktion in der Zielgruppe abzüglich der Reaktion in der Kontrollgruppe). In diesem Fall wäre es richtiger zu sagen, dass wir eine Aktion nicht für einen Kunden auswählen, sondern für eine Gruppe von Kunden (die sich im selben Status befinden), innerhalb derer die Belohnung berechnet wird.
3. Auswahl möglicher Maßnahmen
Aktionen sind Marketingvorschläge, die an den Kunden gesendet werden können. Beachten Sie bei der Auswahl von Marketingkampagnen für das System Folgendes:
- Der Marketingvorschlag sollte sich nicht von Start zu Start ändern.
- Die Wahl der Anzahl der Sätze beeinflusst die Lernrate des Algorithmus.
- Ein Szenario sollte in Betracht gezogen werden, wenn keine der Kampagnen für den Staat geeignet ist (z. B. bringen alle Angebotsvarianten negative Einnahmen). In diesem Fall kann eine der Aktionen "Standardkampagne" sein. Dies kann entweder ein einfaches Mailing sein, das an alle Kunden gesendet werden kann, oder kein Angebot (das heißt, es ist möglicherweise rentabler, nichts an den Kunden zu senden).
4. Entwerfen eines Auswahlalgorithmus unter bestimmten Bedingungen
Beim Entwerfen eines Algorithmus sollte Folgendes berücksichtigt werden:
- (, iphone, iphone).
- , .
- .
- Q-learning SARSA . , , .
- , ( ) -.
5. Initialisierung der State-Action-Tabelle
Die State-Action-Tabelle sieht zunächst folgendermaßen aus: Ein
weiterer Systemstart ist möglich, wenn für die ausgewählten Kampagnen keine historischen Starts vorliegen. Dies ist ein wichtiger Vorteil des Konzepts.
Wenn es jedoch eine Vorgeschichte gibt, kann diese verwendet werden, dh eine nachträgliche Vorschulung der State-Action-Tabelle ist möglich:
- Initialisieren Sie die State-Action-Tabelle mit Nullen
- Nehmen Sie den historischen Start der Kampagne X. Berechnen Sie den Status der Kunden, die zum Zeitpunkt des Starts und am Ende der Kampagne an der Kampagne teilnehmen. Berechnen Sie die Belohnung, die Sie in jedem Bundesstaat erhalten haben.
- Berechnen Sie die State-Action-Tabelle gemäß der Formel für Q-Learning oder SARSA neu und berücksichtigen Sie dabei die erwarteten Werte der Kampagnenwerte beim nächsten Start.
6. Training des Algorithmus bei Pilotstarts
Das Ziel unseres Systems ist es, zu lernen, wie die besten Angebote für den gesamten Kundenstamm ausgewählt werden. In der Phase des Testens des Systems empfehlen wir jedoch, Pilotstarts an einer kleinen repräsentativen Stichprobe von Kunden durchzuführen.
Worauf Sie in dieser Phase achten müssen:
- Änderungen der Werte in der State-Action-Tabelle: Mit zunehmender Historie sollten die Werte in der State-Action-Tabelle immer stabiler werden.
- Positive Dynamik der Wirkung von Kampagnen: Von Start zu Start sollte die Effektivität jedes Marketingvorschlags steigen.
Sobald (1) und (2) ein Plateau erreichen, können wir davon ausgehen, dass das System für die gesamte Kundenbasis bereit ist.
7. System abrollen
Bevor Sie mit der Einführung des Systems beginnen, ist es ratsam, die Nachhaltigkeit der Kampagnenergebnisse im Kontext jedes Kundenstatus zu analysieren. Wie die Praxis zeigt, kann es trotz der allgemeinen Stabilität in einigen Staaten entweder zu einer unzureichenden Vorgeschichte kommen oder die Staaten selbst können zeitlich instabil sein => wir haben ein instabiles Ergebnis.
Daher haben wir die folgenden Empfehlungen für das Rollen entwickelt:
- Instabile Bedingungen vom Rollen ausschließen;
- Verwenden Sie eine ε-gierige Strategie, damit sich das System unabhängig an Änderungen im Verhalten des Kundenstamms anpassen kann.
- Setzen Sie die regelmäßige Überwachung der Systemleistung fort.
In diesem Artikel haben wir versucht, das übergeordnete Konzept unseres Ansatzes zu beschreiben. Die Ergebnisse des Systembetriebs basierend auf dem vorgeschlagenen Algorithmus finden Sie hier .
Fazit
Wir haben die Verwendung von RL beschrieben, um das Problem der Auswahl der optimalen Aktionskette zu lösen. Es sollte jedoch erwähnt werden, dass ein ähnliches Konzept auf andere Marketingaufgaben angewendet werden kann, z. B. auf Empfehlungssysteme, die Auswahl des optimalen Kommunikationskanals / der optimalen Kommunikationszeit oder die Auswahl eines persönlichen Banners auf der Website. Trotz der Tatsache, dass Reinforcement Learning gegenüber herkömmlichen ML-Methoden weniger beliebt ist, wollten wir dem Leser vermitteln, dass RL eine hervorragende Lösung sein kann, wenn eine automatische Systemumschulung aufrechterhalten oder das System von Grund auf neu trainiert werden muss.
Das GlowByte-Team bedankt sich bei der X5 Retail Group für die Möglichkeit, diesen Fall umzusetzen.