Page 1 of 1

Überwachtes Lernen in MemBrain

Posted: Wed 16. Sep 2015, 17:28
by peterle
Hallo zusammen,

ich nutze das Programm MemBrain zur Approximation von Grenzzustandsfunktionen.
Ich habe Eingangsvariablen als Eingangsneuronen und bekomme den Funktionswert g(x) als Wert des Ausgangsneuron.

Nun habe ich das Netz mit einem Trainingsdatensatz trainiert. Anschließend möchte ich das Netz anwenden. Ihm werden nun neue Daten einer Testrdatenmenge präsentiert
und es soll daraufhin das erlernte Wissen anwenden und die Funktionswerte g(x) in dem Ausgangsneuron selbstständig prognostizieren. Das heißt, ich präsentiere dem nur
die Eingangsdaten, die Ausgangsdaten nicht (Überwachtes Lernen). Ich bin mir nicht ganz sicher, wie ich den Vorgang in MemBrain umsetze.

Ich habe zuerst die Trainingsdatenmenge als Lesson in den Lesson Editor geladen (siehe Bild). Das Häkchen bei Output habe ich entfernt.
Dann erhält das Netz die Ausgangsdaten nicht, oder liege ich damit falsch?

Image

Jetzt erstelle ich eine neue Lesson und setze das Häckchen bei Output. Dort sollen die prognostizierten Ausgangswerte gespeichert werden.

Image

Daraufhin setze ich das Häckchen bei "Record one pattern every 1 Think Step to Lesson No. 2" und klicke "Think on Lesson" an.
Ist die Vorgehensweise richtig oder mache ich was grundlegendes falsch? Auf diese Weise kann ich das Ausgangsneuron nicht
normalisieren, da dem Netz keine Daten vorliegen. Wirkt sich das sehr auf die Ergebnisse aus?

Viele Grüße und danke im Voraus!

Re: Überwachtes Lernen in MemBrain

Posted: Wed 16. Sep 2015, 22:59
by TJetter
Hallo,

die Vorgehensweise ist so nicht ganz richtig, nein:

Beim Training müssen dem Netz die korrekten Werte präsentiert werden, das Häkchen 'Output Data' muss also aktiv sein.
Wenn das Netz trainiert ist und man die Reaktion des Netzes auf eine (meist andere) Lesson generieren will, dann lädt man diese Lesson in den Lesson Editor, das Häkchen 'Output Data' muss nicht deaktiviert werden. Es ist aber in diesem Fall egal, welche Werte den Outputspalten der Lesson stehen.
Dann legt man eine neue, leere Lesson an, schaltet ggf. wieder zurück auf die Testlesson und setzt das Häkchen bei 'Record one pattern every 1 Think Step to Lesson No. X', wobei X die Nummer der neuen, leeren Lesson ist.
Nach beenden des 'Think On Lesson' das Häkchen 'Record...' wieder entfernen. Schaltet man jetzt auf die gerade noch leere neue Lesson um, sieht man, dass MemBrain dort alle Pattern der Test Lesson hinzugefügt hat, wobei die Outputs nun die des Netzes sind (also die durch das Netz berechneten).

Viele Grüße