Startseite ▸ KI & Maschinelles Lernen ▸ A/B-Test-Optimierer — UCB1 Multi-Armed Bandit live
🎰 A/B-Test-Optimierer — UCB1 Multi-Armed Bandit live
Beobachte live, wie ein echter UCB1-(Upper-Confidence-Bound-)Multi-Armed-Bandit-Algorithmus simulierten Traffic auf Seitenvarianten verteilt, dabei Exploration und Exploitation wirklich abwägt und schneller zur bestkonvertierenden Variante findet als ein fester 50/50-Split.
KI & Maschinelles Lernen
3D
Mittel
60 FPS
UCB1
Regret-Analyse
Über diese Simulation
Diese Simulation führt den echten UCB1-(Upper-Confidence-Bound-)Multi-Armed-Bandit-Algorithmus gegen mehrere simulierte Seitenvarianten ("Arme") aus, von denen jede eine verborgene wahre Konversionsrate hat, die der Algorithmus nie sieht. Jede Runde berechnet er für jeden Arm einen echten UCB1-Score — durchschnittlich beobachtete Belohnung + √(2·ln(N)/ni) — und zieht den mit dem höchsten Score, um dann ein echtes Bernoulli-verteiltes Konversionsergebnis zu beobachten, das aus der verborgenen Rate dieses Arms gezogen wird. Eine identische, gleichverteilte 50/50-Basislinie läuft jede Runde auf denselben zugrunde liegenden Konversionsziehungen mit, sodass die beiden Strategien fair anhand kumulativer Konversionen und kumulativen Regrets verglichen werden.
🔬 Was gezeigt wird
3D-Türme pro Variante: Goldene Türme zeigen die Zugzahlen von UCB1 und leuchten heller, je höher die geschätzte Konversionsrate steigt; gedämpfte graue Türme dahinter zeigen die Zugzahlen der naiven gleichverteilten Basislinie auf demselben simulierten Traffic. Ein dünner weißer Ring markiert die wahre (dem Algorithmus verborgene) Konversionsrate jeder Variante. Unter den Türmen verfolgt ein 2D-Live-Chart kumulative Konversionen und kumulativen Regret beider Strategien über die Zeit.
🎮 Bedienung
Lege die Anzahl der Varianten (2–6) fest und ziehe die Regler für die wahre Konversionsrate jeder Variante, um die verborgene Umgebung zu definieren. Passe die Runden pro Takt an, um die Simulation zu beschleunigen oder zu verlangsamen, ziehe an den 3D-Türmen, um die Kamera zu drehen, und nutze Zurücksetzen für einen neuen Durchlauf. Beobachte, wie der Turm von UCB1 für die beste Variante am höchsten wächst, während Traffic von schwächeren Varianten abgezogen wird.
💡 Wusstest du schon?
Der kumulative Regret von UCB1 ist nachweislich durch O(ln N) beschränkt — er wächst mit zunehmender Rundenzahl immer langsamer. Ein fester 50/50-Split hingegen hat einen für immer linear wachsenden Regret, weil er nie aufhört, Traffic an die unterlegene Variante zu senden. Diese logarithmische Regret-Garantie ist der Grund, warum UCB-artige Bandits in echten Produktions-A/B-Tests und Ad-Serving-Systemen statt statischer Splits eingesetzt werden.
Häufig gestellte Fragen
Was ist ein Multi-Armed-Bandit-Problem?
Ein Multi-Armed Bandit ist ein Entscheidungsproblem, bei dem ein Agent wiederholt zwischen mehreren Optionen ("Arme") mit unbekannten Belohnungswahrscheinlichkeiten wählt, um die kumulative Belohnung über die Zeit zu maximieren. Der Name stammt von einer Reihe von Spielautomaten ("einarmige Banditen"), bei denen ein Spieler entscheiden muss, welchen Automaten er weiterspielt, ohne die tatsächliche Auszahlungsrate jedes Automaten zu kennen. Beim A/B-Testing ist jede Seitenvariante ein Arm, und ein "Zug" bedeutet, diese Variante einem Besucher zu zeigen und zu beobachten, ob er konvertiert.
Was ist UCB1 und wie funktioniert die Formel?
UCB1 (Upper Confidence Bound) ist ein Algorithmus, der in jeder Runde den Arm wählt, der average_reward + √(2·ln(N)/ni) maximiert, wobei average_reward die bisher beobachtete Konversionsrate des Arms ist, N die Gesamtzahl der gespielten Runden und ni, wie oft dieser spezifische Arm gezogen wurde. Der erste Term belohnt Arme, die bisher gut abgeschnitten haben (Exploitation); der zweite Term ist ein Konfidenzbonus, der schrumpft, je öfter ein Arm gezogen wird, aber mit der Gesamtrundenzahl N langsam wächst, sodass wenig getestete Arme weiterhin ausprobiert werden (Exploration), bis die Daten sie ausschließen. Dies verleiht UCB1 eine mathematisch beweisbare Schranke für den kumulativen Regret, der nur logarithmisch mit der Rundenzahl wächst.
Wie unterscheidet sich UCB1 von einem festen 50/50-A/B-Test-Split?
Ein traditioneller A/B-Test mit festem Split sendet während der gesamten Testdauer einen konstanten Anteil des Traffics an jede Variante, selbst nachdem statistisch klar geworden ist, dass eine Variante schlechter ist. UCB1 passt die Traffic-Verteilung hingegen kontinuierlich an: Es erkundet zu Beginn weiterhin jeden Arm, verschiebt aber mit zunehmender Evidenz einen wachsenden Traffic-Anteil zur besser performenden Variante und reduziert so die Anzahl der Besucher, denen eine unterlegene Variante gezeigt wird. Das senkt den kumulativen Regret — die insgesamt verlorenen Konversionen dadurch, dass nicht immer der beste Arm gewählt wurde — im Vergleich zu einem naiven gleichmäßigen Split auf denselben zugrunde liegenden Konversionsziehungen.
Was bedeutet "kumulativer Regret" und warum ist er wichtig?
Der kumulative Regret ist die laufende Summe über alle bisherigen Runden der Differenz zwischen der wahren Konversionsrate des bestmöglichen Arms und der wahren Konversionsrate des in jeder Runde tatsächlich gewählten Arms. Er misst, wie viele Konversionen dadurch verloren gingen, dass nicht immer die optimale Variante gewählt wurde. Der Regret eines guten Bandit-Algorithmus wächst logarithmisch mit der Rundenzahl (nahezu flach nach genügend Daten), während der Regret einer naiven, gleichverteilten Zufallsbasislinie für immer linear weiterwächst, da sie dauerhaft einen festen Traffic-Anteil an unterlegene Varianten sendet.
Warum zieht UCB1 jeden Arm mindestens einmal, bevor die Formel verwendet wird?
Der Konfidenzbonus des UCB1-Scores, √(2·ln(N)/ni), ist für jeden Arm mit null Zügen undefiniert (Division durch null) und wäre andernfalls unendlich optimistisch gegenüber Armen ohne Daten. Die Standardimplementierung behandelt den Score eines nicht getesteten Arms daher als unendlich, was garantiert, dass jeder Arm einen anfänglichen explorativen Zug erhält, bevor der Algorithmus beginnt, den beobachteten Durchschnittswerten zu vertrauen. Dieses Prinzip des "Optimismus angesichts von Unsicherheit" ist der Grund, warum UCB1 seine beweisbare logarithmische Regret-Garantie besitzt.