[PYTHON] Mit Deep Learning können Sie die Erholungsrate von 100% im Pferderennen überschreiten

4370674310_b118d0f62a_c.jpg pohotos by Ronnie Macdonald

Es ist schon eine Weile her, dass mir gesagt wurde, dass ** KI Menschen die Arbeit raubt, aber jetzt heißt es auch, dass ich in eine Phase der Ernüchterung eingetreten bin **. Dank dessen wurde ich jeden Tag von einem überfüllten Zug beeinflusst, ohne meiner Arbeit beraubt zu werden. Der Betrug des Raubes ist auch gut.

Während es scheint, dass die Entwicklung einer solchen KI etwas länger dauern wird, ist es einfach geworden, eine Umgebung zu erhalten, in der Sie lernen können. Wenn Sie es berühren, fühlt es sich an, als würden alle desillusioniert sein. Nachdem dies gesagt war, beschloss ich, tiefes Lernen anzusprechen, um die Kraft der KI zu kennen. ** **.

Ich habe verschiedene Dinge ausprobiert, aber hier werde ich Ihnen hauptsächlich sagen, dass ** "Selbst wenn Sie aus einem unwissenden Zustand lernen, können Sie so viel mit tiefem Lernen genießen" **. Das Programm ist kein Modell, daher werde ich es gegen eine Gebühr nur für diejenigen veröffentlichen, die es sehen möchten.

Sehen Sie, wie tief mit Kaggle gelernt wird

Zuerst habe ich ein wenig über die Mathematik gelernt, die die Grundlage für tiefes Lernen bildet. Nein ... es ist ziemlich herzzerreißend. Die Formel neben der Formel. Sie können den Code schreiben, ohne ihn zu kennen, aber ** Wenn Sie die mathematische Bedeutung kennen, ist er leichter zu verstehen. Ich denke, es lohnt sich, nur die Gliederung zu lernen **.

Nachdem ich leicht gelernt hatte, beschloss ich, das berühmte Thema des maschinellen Lernens ** "Titanic Survivor Prediction" ** auszuprobieren, um die Kraft des tiefen Lernens zu bestätigen. Ein Mann, der anhand von Attributen wie Alter und Geschlecht jedes Passagiers vorhersagt, wer überlebt hat.

Die Umgebung ist Google Colaboratory, und TensorFlow, das am einfachsten zu implementieren scheint, wird verwendet. Es war einfach, sich nur auf das Google-Tutorial zu beziehen. Wenn Sie das Vorhersageergebnis hochladen, wird die Punktzahl zurückgegeben.

titanic.jpg

** Richtige Antwortrate 76,5% **. Fast 80% der Modelle sind für Anfänger geeignet. Durch Anpassen der Parameter und Daten wird es noch höher.

Ursprünglich dachte ich über verschiedene Dinge nach, wie "Wird Frauen und Kindern nicht vorrangig geholfen?" Und analysierte es durch Versuch und Irrtum, aber ** das Ganze wurde von Deep Learning ** gemacht. Sicherlich tiefes Lernen, es ist ziemlich erstaunlich.

Großartig, aber nicht interessant

Während ich mehr anfassen wollte, fühlte ich ein großes Problem mit dieser Vorhersage.

Uninteressant…. Deep Learning ist nicht, aber ** das Thema ist nicht interessant. Die Vorhersage von Leben und Tod von Passagieren auf Überseeschiffen, die vor mehr als 100 Jahren gesunken sind, ist überhaupt nicht interessant! ** **.

** "James ... ich dachte du wärst tot ... hast du gelebt!" ** oder ** "Reina ... warum bist du gestorben ?!" ** Ich kann nicht anders als traurig zu sein. Ist es nicht? Niemand weiß. Alle sind tot. Erstens sagt mir Kaggle nicht die richtige Antwort.

Ich hätte gerne ein aufregenderes Thema ... Also, für dieses Thema im Zusammenhang mit Geld, das ich schon immer ausprobieren wollte.

Versuchen Sie, die Wiederherstellungsrate von 100% bei Pferderennen mithilfe von Deep Learning zu überschreiten

Pferderennen scheinen eine Abzugsrate von etwa 20% zu haben, sodass die durchschnittliche Rendite bei 80% beginnt. Es sollte relativ schwierig sein, die Wiederfindungsrate von 100% zu überschreiten. Aber es müssen viele Daten aus der Vergangenheit vorhanden sein, und Deep Learning wird dies für Sie tun? Ich werde es mit der Erwartung versuchen.

Das Ziel ist ** "Ein doppelt gewinnendes Wettticket mit einer Wiederherstellungsrate von über 100%" **.

Aufgrund der Eigenschaften des Pferderennens mag es effizienter sein, ein Wettticket mit einer höheren Dividende als einen doppelten Gewinn anzustreben, aber es scheint nicht interessant zu sein, es sei denn, es ist ein leicht zu gewinnendes Wettticket, also habe ich es auf doppelte Gewinne eingegrenzt.

Zieldaten

Zum Lernen: 2010-2017 Zur Überprüfung: 2018-2019 (bis Anfang November)

Wir wollen mit Verifizierungsdaten 100% überschreiten. Zuerst habe ich im Internet gekratzt und solche Daten vorbereitet.

Einstufung Artikel
Informationen zu Pferden Pferdenummer
Rahmennummer
Alter
Sex
Gewicht (aktuell)
Gewicht (Unterschied zum vorherigen Lauf)
Belastungsgewicht
Informationen zum Rennen am selben Tag Rennplatz
Anzahl der laufenden Pferde
Kursentfernung
Kurstyp
Kurstyp (da/Shiba/Hindernis)
Wetter
Baba Staat
Vergangene Renninformationen des Pferdes (× 5 Läufe) Chancen
Beliebt
Rangfolge
Zeit (Sekunden)
Unterschied
Verstrichene Tage vom vorherigen Lauf
Kursentfernung
Kurstyp
Kurstyp (da/Shiba/Hindernis)
Wetter
Baba Staat

Vorhersage von Pferden innerhalb des 3. Platzes

Unter Verwendung dieser Daten als Eingabe sagt Deep Learning ** voraus, "ob es innerhalb des 3. Platzes liegt oder nicht" **. ** Der vorhergesagte Wert ist ein Wert von 0 bis 100 (um dies als "Index für den dritten Platz" zu bezeichnen) **. Je größer dieser Wert ist, desto einfacher ist es, den 3. Platz zu erreichen.

Dies ist übrigens der einzige Code für den Teil zur Erstellung prädiktiver Modelle, der den Kern des tiefen Lernens bildet.

python


import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Dense(300, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu, input_dim=len(train_df.columns)),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(300, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)
])

model.compile(
    loss='binary_crossentropy',
    optimizer=tf.keras.optimizers.Adam(),
    metrics=['accuracy'])

fit = model.fit(train_df,
    train_labels,
    validation_data=(valid_df, valid_labels),
    epochs=30,
    batch_size=32)

Versuche in allen Rennen zu kaufen

Versuchen Sie mit dem von Ihnen erstellten Modell, ein Wettticket ** mit dem höchsten ** 3-Zielindex für jedes Rennen zu kaufen. Dies ist das Ergebnis der Simulation in allen Rennen nach 2018.

Artikel Ergebnis
Anzahl der Zielrennen (*) 3639
Anzahl der Zieldatensätze 41871
Kaufnummer 3639
Trefferzahl 1976
Trefferquote 54.3%
Erholungsrate 82.7%

Es ist ein anständiger Treffer, aber ** die Wiederherstellungsrate steigt nicht an. ** Erstens bin ich neugierig auf die Beziehung zwischen dem 3. Platz-Index, der Trefferquote (die Rate, die tatsächlich innerhalb des 3. Platzes lag) und der Wiederherstellungsrate.

Beziehung zwischen dem 3. Platz Index und der Trefferquote / Wiederherstellungsrate

Die Beziehung zwischen dem 3. Platz Index und der Trefferquote war wie folgt. スクリーンショット 2019-11-01 14.10.12.png

** Je höher der Index für den 3. Platz ist, desto höher ist die Trefferquote **. Es scheint also als Modell zu fungieren, um den 3. Platz oder weniger zu erreichen. Dann ** Wenn Sie nur Pferde mit einem hohen Index kaufen, wird die Wiederherstellungsrate 100% überschreiten? ** **.

Fügen wir die durchschnittliche Wiederherstellungsrate zum vorherigen Diagramm hinzu. スクリーンショット 2019-11-01 14.05.30.png

Die Wiederherstellungsrate liegt unabhängig von der Trefferquote zwischen 80% und 90%. Mit anderen Worten, je höher der ** 3-Endindex (das Pferd, das wahrscheinlich gewinnt), desto geringer ist die Rendite. ** **.

Dann habe ich das Gefühl, dass die Beziehung zwischen diesem Index und der Trefferquote der ** Beziehung zwischen den Gewinnchancen und der Trefferquote ** ähnlich ist (je niedriger die Gewinnchancen, desto geringer die Rendite). Wenn Sie sich also vorerst die Beziehung zwischen dem 3. Platz-Index und den durchschnittlichen Gewinnchancen ansehen ... スクリーンショット 2019-11-01 18.58.38.png

In umgekehrter Proportionsgrafik. Immerhin haben Pferde mit einem hohen ** 3-Zielindex geringe Chancen. ** Selbst wenn Sie vorhersagen, ohne auf die Gewinnchancen zu achten, wird dies so enden. Es ist interessant, aber dies scheint die Schwierigkeit des Pferderennens zu sein.

100% Wiederherstellungsrate überschreiten

Ich fand, dass der 3. Platz Index und die Quoten fast umgekehrt proportional sind. Aber das sind durchschnittliche Gewinnchancen. Wenn Sie sich jeden ansehen, sollte es ** "Pferde mit hohen Chancen für einen hohen Index für den dritten Platz" ** geben. Um die Wiederherstellungsrate zu erhöhen, scheint es gut, solche ** Odds Distortion ** auszunutzen.

Wenn Sie beispielsweise alle Wettkarten mit einem Index für den 3. Platz von 70 oder mehr und einer Quote von 100 oder mehr kaufen, ist das Ergebnis katastrophal.

Artikel Ergebnis
Kaufnummer 73
Trefferzahl 1
Trefferquote 1.37%
Erholungsrate 16.9%

Pferde mit sehr hohen Gewinnchancen scheinen eine niedrige Trefferquote zu haben, selbst wenn der Index hoch ist. Es kann gute Gründe für die hohen Gewinnchancen geben. Wenn andererseits die Gewinnchancen zu niedrig sind, ist die Dividende natürlich gering und die Wiederherstellungsrate steigt nicht an. Wenn ja, ** liegt das Ziel in der Mitte. ** **. sanpu.png

(Seitdem haben andere Leute auf das Vorhersageziel hingewiesen, daher haben wir es überarbeitet, um das Ziel der Erweiterung des Ziels zu erreichen.)

Im Jahr 2018 habe ich die Simulation auf einen Teil des Bereichs (etwa 55 bis 60) eingegrenzt, in dem der Index für den 3. Platz 60 oder mehr beträgt und die Chancen nicht zu hoch sind ** und die Wiederherstellungsrate 213% ** beträgt Es fühlt sich ziemlich gut an.

Artikel Ergebnis
Kaufnummer 44
Trefferzahl 10
Trefferquote 22.7%
Erholungsrate 213.6%

Dies ist jedoch ein guter Punkt für 2018, daher ist es natürlich mit guten Ergebnissen. Als ich es 2019 mit derselben Vorhersagemethode simulierte, zeigte es jedoch auch eine ** Wiederfindungsrate von 194% **. Dies ist die Summe für 2 Jahre (ca. 22 Monate).

Artikel Ergebnis
Kaufnummer 99
Trefferzahl 19
Trefferquote 19.2%
Erholungsrate 202.63%

Damit habe ich meine angestrebte ** Wiederherstellungsrate von 100% erfolgreich überschritten. ** Übrigens ** Wenn Sie nach 2018 nach dieser Prognose jedes Mal 100 Yen kaufen, sieht das Bilanzdiagramm ** so aus. Es steigt stetig ohne großen Tropfen. tmp.jpg

Die Möglichkeit, dass die letzten zwei Jahre gut waren, ist nicht Null, aber wenn es so weit geht, scheint es bis zu einem gewissen Grad glaubwürdig zu sein. Die Anzahl der Einkäufe ist nicht groß (ungefähr 4 Mal im Monat), aber ** keine Wahl eines Feindes, der nicht gewinnen kann **, kann eine Voraussetzung für den Gewinn sein.

(Bonus) Prognostizieren Sie Pferde mit hohen Dividenden

Es ist in Ordnung, damit fertig zu werden, aber da es eine große Sache ist, werde ich die Vorhersage "erwarteter Dividendenwert" als ein Muster versuchen, das sich von der Vorhersage des dritten Platzes unterscheidet.

Ich werde die in der Eingabe enthaltenen Daten als Chancen für tiefes Lernen angeben und das vorhergesagte Ergebnis auf die gleiche Weise wie zuvor grafisch darstellen. ** Pferde, die wahrscheinlich auch mit hohen Gewinnchancen gewinnen ** scheinen höhere Erwartungen zu haben. (Die horizontale Achse des Diagramms liegt noch vor Ihnen, wird jedoch weggelassen.) kitaichi_odds.png

Dies ist die Beziehung zwischen dem erwarteten Wert und der Wiederherstellungsrate / Trefferquote. kitaichi_return.png

Wenn die Wiederherstellungsrate steigt, ** scheint es, dass die Wiederherstellungsrate steigt, wenn Sie für immer weiterhin Wettscheine mit hohen Erwartungen kaufen **, aber dies ist auch ** die Zahl ist gering und in etwa 1 bis 2 Jahren instabil ** wie es scheint.

Wenn Sie alle Pferde mit einer guten Leistung ** erwarteten Wert von 390-450 ** in der Grafik kaufen, wird diese vorerst 100% überschreiten, aber es scheint eine lokale Zunahme zu sein, so dass es keine kontinuierliche Stabilität zu geben scheint.

Artikel Ergebnis
Kaufnummer 275
Trefferzahl 37
Trefferquote 13.5%
Erholungsrate 131.1%

Der Saldo ist auch volatiler als beim 3. Platz. Ich strebe höhere Gewinnchancen an, daher ist die Rendite, wenn ich sie treffe, groß. shushi2.jpg

Das ist alles was wir getan haben.

Klicken Sie hier für das Programm

Das Programm (Python) zum Erstellen und Überprüfen des Vorhersagemodells des 3. Platzes wird gegen eine Gebühr experimentell auf der folgenden Seite veröffentlicht. Es ist nicht schön genug, um als Lehrbuch verwendet zu werden. Schauen Sie es sich also bitte nur an, wenn Sie neugierig sind und Zeit haben.

Wenn Sie tiefes Lernen haben, können Sie die 100% ige Wiederherstellungsrate bei Pferderennen (Programm) überschreiten

[Klicken Sie hier für spätere Gespräche] (https://note.mu/yossymura/n/na3d0a471193c)

Nachwort

In letzter Zeit haben sich mobile Zahlungen aufgrund der großen Anzahl von Kämpfen um QR-Zahlungskampagnen endlich verbreitet. Nachdem ich gesehen hatte, wie Retouren und Gutscheine gehetzt werden, um etwas anderes als Zahlungen bekannt zu machen, hatte ich erneut das Gefühl, dass es immer noch "Geld" ist, das die Menschen bewegt **, und dann ist der nächste Schritt geldbezogen. Ich habe darüber nachgedacht, einen Artikel zu schreiben, deshalb schreibe ich ihn gerne so.

Die Eingabe für diese Vorhersage enthält nicht "Pferdename" oder "Reitername". Mit anderen Worten, wenn Sie den Stammbaum der Pferde, die Kampfgeschichte des Reiters, die Kompatibilität usw. berücksichtigen, können Sie noch genauere Vorhersagen treffen. Darüber hinaus denke ich, dass es nicht nur durch ** Ergänzung fehlender Daten ** und ** Batch-Normalisierung ** verbessert wird, sondern auch durch einfache ** Parameteranpassung ** als Deep Learning und ** Wetttickets außer doppelten Gewinnen *. * Kann auch erwartet werden. Kurz gesagt, es gibt noch Raum für Wachstum.

Auf der anderen Seite war es praktisch, aber das einzige, worüber ich mir Sorgen machte, war, dass die Vorhersage von Pferderennen mit KI den "Spaß am Vorhersagen mit meinem eigenen Verstand" verderben würde **. Ich habe das Gefühl, dass KI Ihnen nicht die Freude am Gewinnen bereiten kann, wenn Sie das Pferd mit Ihrer eigenen Intuition, Anhaftung an das Pferd und anderen Gefühlen, die von Ihnen ausgehen, auswählen.

Wenn jeder KI für alle zukünftigen Vorhersagen verwendet, können sich die Menschen dann noch auf der Rennbahn versammeln, sich selbst vergessen und weiterhin begeistert sein? Wie lange werden Sie in der Lage sein, diese große Anzahl von Wettkarten am Himmel fliegen zu sehen? Ich möchte es gut nutzen, damit nicht nur meine Arbeit, sondern auch mein Herz nicht von der nahenden Welle der KI fasziniert wird.

Recommended Posts

Mit Deep Learning können Sie die Erholungsrate von 100% im Pferderennen überschreiten
[Verifikation] Nur weil es tiefes Lernen gibt, bedeutet dies nicht, dass die Wiederherstellungsrate bei Pferderennen leicht 100% überschreiten kann.
Vorhersage für Pferderennen: Wenn Sie der Meinung sind, dass die Wiederherstellungsrate beim maschinellen Lernen (Light GBM) 100% überschritten hat, haben Sie dies getan
Eine Geschichte über das Erreichen einer Wiederherstellungsrate von Pferderennen von über 100% durch maschinelles Lernen
Eine konkrete Methode zur Vorhersage von Pferderennen und zur Simulation der Wiederherstellungsrate durch maschinelles Lernen
Ich habe mit LightGBM einen Code geschrieben, der die Wiederherstellungsrate von 100% bei der Vorhersage von Pferderennen überschreitet (Teil 2).
Versuchen Sie es mit TensorFlow
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Generiere Pokemon mit Deep Learning
[Windows Edition] Keras-Kurs, eine Bibliothek, in der Sie Deep Learning sofort ausprobieren können - Teil 1
Umgang mit Tensorflow mit GPU beim Deep Learning, das plötzlich nicht mehr funktioniert
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Identifikation der Katzenrasse mit Deep Learning
Machen Sie ASCII-Kunst mit tiefem Lernen
Versuchen Sie es mit TensorFlow Part 2
Versuchen Sie, Pferderennen mit Chainer vorherzusagen
Überprüfen Sie die Kniebeugenform mit tiefem Lernen
Kategorisieren Sie Nachrichtenartikel mit Deep Learning
Snack-Umsatzprognose mit Deep Learning
Bringen Sie Menschen mit Deep Learning zum Lächeln
Python | Was Sie mit Python machen können
Fügen Sie Ihre eigenen Bilddaten in Deep Learning ein und spielen Sie damit
Umgang mit Python-Fehler "Attributfehler: module'scipy.misc 'hat kein Attribut'imresize'" beim Deep Learning
Eine großartige Einführung in Couseras TensorFlow, um Ihnen den Einstieg in Deep Learning zu erleichtern
[Windows Edition] Keras-Kurs, eine Bibliothek, in der Sie Deep Learning sofort ausprobieren können - Teil 2