Page 1 of 1

Zeitreihenprognose - seltsames Verhalten

Posted: Tue 4. Jan 2011, 14:16
by tgdruju1
Hallo zusammen

In einem Netz, das ich einem 'working paper' nachgebaut habe und jetzt mit eigenen Daten füttere, erhalte ich nach einer bestimmten Anzahl von Trainingsdurchläufen (im Bereich 4'000. - 6'000. Durchlauf) ein seltsames Verhalten. Der Ist-Output verändert sich zu einer annähernd geraden Linie. Aus dieser Form findet das Netz nicht mehr hinaus.

Ich lege das Netz und die Trainingsdaten bei, ebenso ein Screenshot.

Kann mir jemand helfen? Liegt es an der Rekursion?

Danke für Eure Hilfe.

Gruss

Jürg

Fehlermeldung.zip
(153.73 KiB) Downloaded 697 times

Re: Zeitreihenprognose - seltsames Verhalten

Posted: Wed 5. Jan 2011, 07:46
by Admin
Hallo Jürg,

das liegt wahrscheinlich tatsächlich an der Rekursion, ja. Wenn man Netze massiv übertrainiert, dann können einzelne Links eskalieren und das passiert besonders gerne in rekursiven Netzen.
Was manchmal hilft:
Die rückwärtsgerichteten Links (in MemBrain gestrichelt dargestellt) auf den Wert (Gewicht) 1 setzen und sperren (Lock-Eigenschaft).
Ebenso bei den Neuronen, zu denen diese Links führen: Activation Function auf 'IDENTICAL', Activation Threshold auf '0' setzen und sperren (Eigenschaft 'Lock' aktivieren).

Viele Grüße und viel Erfolg,

Re: Zeitreihenprognose - seltsames Verhalten

Posted: Sat 8. Jan 2011, 09:58
by tgdruju1
Hallo Thomas

Danke für Deine rasche Antwort. Ich werde die Anpassungen nächstens austesten.

Eine Zusatzfrage: Kann der durch das Netz mit dem Test- bzw. Trainingsinput erzeugte Output exportiert werden? Nur so kann ich doch den Erfolg berechnen?

Danke für Deine Antwort.

Gruss

Jürg

Re: Zeitreihenprognose - seltsames Verhalten

Posted: Sat 8. Jan 2011, 12:29
by TJetter
Hallo Jürg,
Admin wrote: Kann der durch das Netz mit dem Test- bzw. Trainingsinput erzeugte Output exportiert werden?
Ja, das geht natürlich. Das geht manuell durch ein paar Klicks, bequemer und weniger fehleranfällig funktioniert es aber mit einem kleinen Skript.
Ich habe Dir ein solches angehängt, es ist das selbe, das auch in der MemBrain Hilfe unter 'Validating Your Net' agbedruckt ist, erweitert mit der Funktion, das Netz vor der Berechnung per 'ResetNet' in einen vordefinierten Zustand zu bringen. Das ist bei zeitabhängigen Netzen notwendig, da der Output ja nicht alleine vom Input sondern auch vom inneren Zustand des Netzes abhängt.

Im Sktipt einfach oben die entsprechenden Dateinamen eintragen. Das Netz und die Validierungsdatei müssen im selben Verzeichnis abgelegt werden wie das Skript. Dann in MemBrain über 'Script' - 'ExecuteScript...' das Skript ausführen, es erzeugt dann die Ergebnisdatei, die Du mit z.B. Excel öffnen kannst (CSV Datei).

Das Skript basiert momentan auf Roh-CSV Dateien, es lässt sich aber natürlich auch auf MemBrain Sectioned CSV Dateien oder Lesson files (.mbl Dateien) anpassen. Dazu musst Du lediglich die Aufrufe 'ImportLessonRaw' durch 'ImportLesson' (für Sectioned CSV) bzw. 'LoadLesson' (für mbl-Dateien) ersetzen.

Grüße,