Bei einer Veranstaltung hatte ich die Gelegenheit, TensorFlow zu berühren, und zu diesem Zeitpunkt wurde ich gefragt, ob ich ein Bootsrennen durch maschinelles Lernen vorhersagen könne. Deshalb habe ich es versucht, weil es interessant schien.
Ubuntu 16.04 + python 2.7.12 + TensorFlow 0.7.1
Im Bootsrennen kämpfen 6 Boote um die Rangliste. Die Person, die das Bootsticket kauft, sagt die Reihenfolge der Ankunft am Ziel basierend auf der Kampfhistorie des Spielers voraus. Dieses Mal werden wir die Vorhersage von "Nirenmono" in Frage stellen, die den 1. und 2. Platz am Ziel einschließlich der Reihenfolge der Ankunft vorhersagt.
Vergangene Rennergebnisse werden auf den folgenden Websites als Textdateien bereitgestellt. http://www1.mbrace.or.jp/od2/K/pindex.html Die Ergebnisse von 2014 bis heute (2016/11) wurden stapelweise erfasst und mit Python + SQLite3 in eine Datenbank umgewandelt.
Ich habe den Funktionsbetrag berechnet, der beim Training eingegeben werden soll. Die verwendeten Merkmalsmengen sind wie folgt.
Ich habe das Netzwerk unter Bezugnahme auf den folgenden Artikel implementiert. [Maschinelles Lernen (TensorFlow) + Lotto 6] http://qiita.com/yai/items/a128727ffdd334a4bc57
Das Training wurde von Januar 2014 bis März 2016 für 97200 Rennen durchgeführt und die Anzahl der Schritte betrug 300. Infolgedessen lag die Trefferquote in den Trainingsdaten bei etwa 20%. Immerhin scheint es schwierig, das Bootsrennen vorherzusagen.
Wir haben das Rennen 6 Monate von Mai 2016 bis Oktober 2016 getestet. In jedem Rennen wird das mit dem höchsten Output-Label (= erwartetes Ergebnis) simuliert, als hätten Sie jeweils 100 Yen gekauft. Aufgrund der Bequemlichkeit des erstellten Programms werden Rennen mit 5 oder weniger Booten, die aufgrund von Fouls oder fallengelassenen Booten erzielt wurden, vom Testfall ausgeschlossen. Darüber hinaus erwarten wir keinen Rückgang der Gewinnchancen aufgrund des Kaufs von Bootstickets. Beachten Sie daher, dass die Ergebnisse wie die unten gezeigte Trefferquote möglicherweise geringfügig höher sind als die tatsächlichen Ergebnisse.
Ich werde es in allen erwarteten Rennen während des Zeitraums versuchen.
Zeitraum | Erwartete Anzahl der Rennen | Anzahl der Treffer | Trefferquote | Einnahmen und Ausgaben(Kreis) |
---|---|---|---|---|
2016/5 | 4178 | 856 | 0.204 | -63,010 |
2016/6 | 3589 | 723 | 0.201 | -54,460 |
2016/7 | 3940 | 752 | 0.190 | -75,450 |
2016/8 | 4336 | 816 | 0.188 | -61,120 |
2016/9 | 3598 | 672 | 0.186 | -64,610 |
2016/10 | 3750 | 688 | 0.183 | -74,940 |
Gesamt | 23391 | 4507 | -393,590 |
Es ist ein enttäuschendes Ergebnis. Da die Trefferquote niedrig ist und nur Rennen mit geringen Gewinnchancen getroffen werden, ist der Saldo deutlich negativ.
Versuchen Sie nur Rennen, bei denen das Ausgabeetikett einen bestimmten Schwellenwert überschreitet (diesmal 0,45). Ich habe das Gefühl, dass ich mich auf die Rennen konzentriere, bei denen ich zuversichtlich bin.
Zeitraum | Erwartete Anzahl der Rennen | Anzahl der Treffer | Trefferquote | Einnahmen und Ausgaben(Kreis) |
---|---|---|---|---|
2016/5 | 55 | 28 | 0.509 | +190 |
2016/6 | 53 | 24 | 0.452 | +1,050 |
2016/7 | 63 | 29 | 0.460 | +790 |
2016/8 | 47 | 24 | 0.510 | +530 |
2016/9 | 30 | 13 | 0.433 | -170 |
2016/10 | 30 | 14 | 0.466 | +450 |
Gesamt | 278 | 132 | +2,840 |
Die Trefferquote beträgt mehr als 40%, und der Saldo ist in 5 von 6 Monaten subtil, aber positiv. Immerhin scheinen nur Rennen mit geringen Gewinnchancen getroffen zu werden, aber es scheint, dass dies durch eine hohe Trefferquote abgedeckt ist. Wenn man bedenkt, dass die durchschnittliche Wiederherstellungsrate von Bootsrennen 75% beträgt, scheint dies ein vernünftiges Ergebnis zu sein.
Da es sich bei Bootsrennen um ein Rennen von Person zu Person handelt, gibt es viele unregelmäßige Elemente, und es scheint schwierig zu sein, das Ergebnis der Zielreihenfolge selbst durch maschinelles Lernen vorherzusagen. Einer der Gründe ist, dass ich in erster Linie ein Amateur im maschinellen Lernen und im Bootsrennen bin. Es kann verwendet werden, um sogenannte "harte Rennen" zu extrahieren, bei denen es einen überwältigenden Unterschied in den Fähigkeiten zwischen Athleten aus einer großen Anzahl von Rennen gibt. Wie ich bereits erwähnt habe, wurde die Simulation, die ich dieses Mal durchgeführt habe, unter anderen als den tatsächlichen Bedingungen durchgeführt, und ich bin mir nicht sicher, ob sie im tatsächlichen Rennen funktionieren wird, daher bin ich mir nicht sicher.
Recommended Posts