| | 0

Fun with Microsoft Azure Machine Learning #AzureML – Szenario: Roulette Permanenzen

Im Dezember habe ich auf dem sepagoForum in Köln einen eher unterhaltsamen Vortrag zu Azure Machine Learning gehalten: „Fun with Azure Machine Learning“. Neben einer kurzen Einführung in neuronale Netze und AzureML habe ich verschiedene Szenarien vorgestellt. In den Szenarien habe ich gezeigt, ob neuronale Netze bestimmte Aufgaben lösen können oder eben nicht. Eines dieser Szenarien stelle ich hier vor.

Szenario: Roulette Permanenzen

Wer schon mal in einem Casino war, hat es bereits gesehen: Es gibt Menschen, die beobachten und notieren, welche Farben beim Roulette hintereinander gefallen sind. Viele Spielbanken helfen sogar nach und zeigen den Verlauf der letzten Farben auf einem Display an. Diese Menschen beobachten und setzen dann auf Rot, wenn Schwarz 10mal hintereinander gefallen ist. Der Gedanke dabei ist: Wenn doch Schwarz so oft hintereinandergekommen ist, dann steigt doch mit jedem Spiel die Wahrscheinlichkeit für Rot.

Um es klar zu stellen: Das ist nicht richtig und mathematisch falsch. Die Wahrscheinlichkeit für die Farben ist immer gleich:

  • French Roulette:
    48,6% Rot, 48,6% Schwarz und 2,8% Grün
  • American Roulette:
    47,35% Rot, 47,35% Schwarz und 5,3% Grün

Weder die Kugel noch die Scheibe hat ein Gedächtnis.

Aber ein Versuch ist möglich: Bestätigt AzureML die Mathematik und erlaubt keine richtigen Voraussagen oder ist es doch möglich?

Neuronale Netze sind in der Lage, Vorhersagen aufgrund des Erlernten zu treffen. Ob das auch für die Farben gilt, zeigt dieses Experiment. Dieses Experiment versucht die nächste Farbe vorauszusagen und bekommt dafür die Farben der letzten 40 Runden.

Zum Beispiel: Die Vorhersage der nächsten Runde ist „Rot“. Die Farben davor waren Rot, Schwarz, Rot, Rot, …:

Das Experiment ist relativ einfach im Azure Machine Learning Studio aufzubauen:

Datenquelle und Modellierung

Damit das Experiment gute Ergebnisse liefern kann, ist eine große Anzahl von Daten notwendig – in diesem Fall die Farbserien (Permanenzen). Mir ist es wichtig, hier echte Daten von einem einzelnen Tisch eines „normalen“ Casinos zu nehmen (eben kein Internetcasino), damit die Maschine eine Chance hat, dass Verhalten des Tisches zu lernen.

Ich habe ein Casino gefunden, welches die Permanenzen für einzelne Tische auf deren Webseite anbietet. Für jeden Tag lassen sich die Daten aufrufen. Dank Fiddler habe ich herausgefunden, dass die Daten selbst im json Format an ein Javascript übertragen werden, welches die Daten darstellt. Das ist natürlich sehr praktisch und ich habe mir ein PowerShell Skript geschrieben und alle Daten eines bestimmten Tisches von Oktober 2013 bis Dezember 2015 heruntergeladen (sorry an den Anbieter: War kein Lasttest). Das Ergebnis sind 253.400 Spielrunden am Stück.

Nach der Bearbeitung der Daten mit Excel habe ich so 253.000 Datensätze: Das Ergebnis eines Spiels und die 40 Farben zuvor.

Das Trainingsset in AzureML sieht daher so aus:

Confusion Matrix

Die Confusion Matrix enttäuscht. Logisch perfekt wären die Vorhersagen, wenn in der Diagonalen immer 100% stehen würde. Dieses Experiment erzeugt jedoch Folgende:

Ergebnisse

Das Ergebnis zeigt, das Vorhersagen so nicht möglich sind, da unabhängig von der gefallenen Farbe immer „Schwarz“ vorhergesagt wird. Und wir wissen: Das ist falsch!

Fazit

Roulette funktioniert so, wie es die Mathematik voraussagt: Die Wahrscheinlichkeiten sind bei jeder Runde gleich, auch wenn sich das für einen kurzen Beobachtungszeitraum anders darzustellen scheint. Über einen längeren Zeitraum stimmt die Verteilung mit der Wahrscheinlichkeit überein.

Was also machen? Nicht den Job kündigen und Roulette nur zum Spaß spielen 🙂