Fußballvorhersageprogramm encog: Inkonsistente Vorhersagen

9

Ich mache ein Programm, das den Ausgang eines Fußballspiels mit encog vorhersagt. Ich habe ein neuronales Netzwerk erstellt, es mit Daten von 90 Übereinstimmungen mit einer elastischen Fortpflanzungsmethode trainiert. Ich habe die Ergebnisse des Spiels als 1 für Heimsieg, 0 für Unentschieden und -1 für Auswärtssieg markiert.

Das Problem liegt in der Vorhersage. Manchmal erhalte ich eine Erfolgsrate von 50% und andere Zeit, die ich so niedrig wie 33% bekomme. Es ist wie mit Zufallsfunktion. Was ich festgestellt habe, ist, dass fast immer das am meisten vorhergesagte Ergebnis 1 ist (ungefähr 70%). Ich habe versucht, die Anzahl der versteckten Schichten zu ändern, die Anzahl der Trainingseinheiten, aber ohne Erfolg schwingt es immer noch. Kann mir bitte helfen oder mich in die richtige Richtung lenken, wenn ich etwas falsch mache.

Hier ist der Code für das neuronale Netzwerk. Ich bekomme Trainingsdaten und Vorhersagedaten aus der Datenbank.

%Vor%

Training

%Vor%

Vorhersage

%Vor%

1.) Ich füttere die Daten dem neuronalen Netzwerk 1000. Derzeit teste ich mit mehr / weniger, seit die Dinge besser geworden sind.

2,3.) Ich habe 16 Eingabeparameter. Sie bestehen aus: Heimmannschaft Punkte, Heimmannschaft Heimsiege, Unentschieden, Niederlagen, Heimmannschaft Gesamtsumme, verloren, Unentschieden und Form (Punktegewinn in den letzten 5 Spielen). Die gleichen Daten gelten nur für die Auswärtsmannschaft und nicht für die Heimmannschaft, die Heimsiege, Unentschieden, Niederlagen Auswärtsmannschaft gewinnt, zieht, Verluste werden verwendet. Ich werde es mit verschiedenen Trainingsdaten versuchen.

    
user1533166 16.08.2012, 00:18
quelle

1 Antwort

5

Es ist schwer zu sagen, was falsch ist angesichts der Information, es könnte mehrere Gründe geben. Aber hier sind einige mögliche Lösungen.

1) Wie oft füttern Sie die Trainingsdaten in das neuronale Netzwerk? Normalerweise müssen Sie die Trainingsdaten mehrfach verstreichen lassen, um das Netzwerk zu konvergieren. Ein Mal ist nicht genug, besonders wenn Sie nur 90 Trainingsdaten haben.

2) Wie viele Eingabeparameter sind in den Trainingsdaten (und was sind sie)? Normalerweise müssen Sie die Anzahl der Knoten für ausgeblendete Ebenen an die Anzahl der Eingabeparameter anpassen. Es gibt keine strengen Regeln dafür, aber ich fange normalerweise mit mindestens der doppelten Anzahl von versteckten Layer-Knoten als Eingabeparameter an.

3) Haben Sie versucht, verschiedene Testdaten zu wählen? Ich gehe davon aus, dass Ihre Trainings- und Testdaten unterschiedlich sind. Mit den von Ihnen ausgewählten Testdaten kann etwas nicht stimmen, da sie nicht mit den Trainingsdaten übereinstimmen. Es kann auch durchaus möglich sein, dass es unmöglich ist, eine zuverlässige Schätzung von Ihren Methoden zu erhalten. Ihre Eingabeparameter sind möglicherweise völlig unzureichend, um vorherzusagen, wer ein bestimmtes Match gewinnt. Das ist der Müll in, Müll raus, Konzept.

    
umps 16.08.2012 14:03
quelle

Tags und Links