Lernregel zuordnen

Sie sind sich nicht sicher, in welches Forum Ihre Frage oder Ihr Anliegen passt?
Möchten Sie ein neues Forum vorschlagen? Möchten Sie Kritik am Forum selbst üben?

Dann posten Sie bitte hier.
ALTANre
Posts: 4
Joined: Sat 22. Oct 2016, 14:16

Lernregel zuordnen

Postby ALTANre » Sun 20. Nov 2016, 20:30

Guten Abend,

ich beschäftige mich seit Kurzem mit Neuronalen Netzen und MemBrain und bin auch ziemlich neu hier in diesem Forum.

In der Literatur werden die verschiedensten Lernalgorithmen vorgestellt, mit Herleitung, Vor- und Nachteile etc. wie z.B. Levenberg-Marquardt oder Broyden-Fletcher-Goldfarb-Shanno (BFGS) :o . Meine Fragen wären nun:

- Gibt es irgendwo eine Art Auflistung der verschiedenen Lernregel mit Erklärung, Vor- und Nachteil, ggf. sogar Gleichungen, sodass man diese auch zuordnen kann? In MemBrain (Teach - Teacher Manager) werden einige aufgelistet, aber mit ganzen anderen Bezeichnungen bis auf RPROP und BP

- Gibt es fertige "Lernpakete", die ich in MemBrain importieren kann oder muss ich die Lernregel selber programmieren?

Viele Grüße :)

User avatar
TJetter
Posts: 236
Joined: Sat 13. Oct 2012, 11:04

Re: Lernregel zuordnen

Postby TJetter » Tue 22. Nov 2016, 21:23

Hallo,

ALTANre wrote:- Gibt es irgendwo eine Art Auflistung der verschiedenen Lernregel mit Erklärung, Vor- und Nachteil, ggf. sogar Gleichungen, sodass man diese auch zuordnen kann? In MemBrain (Teach - Teacher Manager) werden einige aufgelistet, aber mit ganzen anderen Bezeichnungen bis auf RPROP und BP

Ich empfehle zum Einlesen in die verschiedenen Algorithmen gerne immer das Skript von D. Kriesel:
http://www.dkriesel.com/science/neural_networks
Die Zuordnung zu den Algorithmen in MemBrain sollte eigentlich anhand der Namen und der Parameter gelingen, wenn nicht, dann bitte im Einzelfall nochmal melden. Eine Kurzerklärung der Algorithmen befindet sich auch in der MemBrain Hilfe (über F1 erreichbar, z.B. wenn gerade der Teacher Manager Dialog offen ist).

ALTANre wrote:- Gibt es fertige "Lernpakete", die ich in MemBrain importieren kann oder muss ich die Lernregel selber programmieren?

MemBrain bietet umfangreiches Skripting, um jede beliebige übergeordnete Logik zu implementieren (Laden von Dateien, bearbeiten von Daten, Lernregeln auswählen, trainieren, verwenden, validieren usw.). Erweiterung mit eigenen Lernalgorithmen wird momentan jedoch nicht unterstützt (ich hoffe, ich habe die Frage richtig verstanden?)

Viele Grüße
Thomas Jetter

ALTANre
Posts: 4
Joined: Sat 22. Oct 2016, 14:16

Re: Lernregel zuordnen

Postby ALTANre » Tue 22. Nov 2016, 22:49

Guten Abend,

vielen Dank für die schnelle Rückmeldung :)

Sie haben die Frage richtig verstanden, es geht also nicht mit eigenen Lernprogrammen.

Ich hätte noch eine Frage zum Verständnis:
Wieso braucht man mindestens zwei Pattern zum Trainieren des Netzes? Ist es deshalb so, weil mehrere Fehlersummen gebraucht werden um den Fehler zu minimieren?

Viele Grüße

User avatar
TJetter
Posts: 236
Joined: Sat 13. Oct 2012, 11:04

Re: Lernregel zuordnen

Postby TJetter » Thu 24. Nov 2016, 06:04

ALTANre wrote:Wieso braucht man mindestens zwei Pattern zum Trainieren des Netzes?

Das ist nicht der Fall,trainieren kann man auch mit einem einzigen Pattern. Ob das Sinn macht sei einmal dahingestellt.
Wo haben Sie denn beobachtet oder gelesen, dass man mind. zwei Pattern bräuchte?

Viele Grüße
Thomas Jetter

ALTANre
Posts: 4
Joined: Sat 22. Oct 2016, 14:16

Re: Lernregel zuordnen

Postby ALTANre » Thu 24. Nov 2016, 17:00

Ich meine hier in diesem Forum gelesen zu haben und habe es auch in MemBrain selber versucht, aber es kommt eine Fehlermeldung, wenn ich auf Extras-Normalization Wizard klicke, wenn ich normalisieren will.


fehlermeldung.JPG
Fehlermeldung
(19.12 KiB) Not downloaded yet

User avatar
TJetter
Posts: 236
Joined: Sat 13. Oct 2012, 11:04

Re: Lernregel zuordnen

Postby TJetter » Fri 25. Nov 2016, 18:31

Grundsätzlich zu trennen sind das Training auf der einen Seite (ein Pattern reicht hier) und der Normalization Wizard. Letzterer möchte ja aus den Daten der aktiven Lesson für jedes Ein- und jedes Ausgabeneuron passende Normalisierungseinstellungen ermitteln. Dazu muss der Wizard aus der aktiven Lesson für jedes Neuron das Maximum und das Minimum ermitteln. Also benötigt der Wizard de fakto mindestens zwei Pattern, z.B. eines mit allen Maximalwerten und eines mit allen Minimalwerten. Oder eben eine realistische, große Lesson mit vielen Pattern, so dass über alles gesehen sinnvolle Minima und Maxima für jedes Neuron enthalten sind.

Viele Grüße
Thomas Jetter

ALTANre
Posts: 4
Joined: Sat 22. Oct 2016, 14:16

Re: Lernregel zuordnen

Postby ALTANre » Sun 11. Dec 2016, 20:27

Hallo zusammen :)

ich wollte neben RPROP noch andere Lernalgorithmen für meine Masterarbeit verwenden, wie z.B. Cascade Correlation (CC). Das Prinzip von CC ist doch, dass beim Lernprozess nacheinander Hidden-Neuronen hinzugefügt werden, um den Fehler zu minimieren.

Hierzu hätte ich einige Fragen:

- Beim Anwenden dieser Lernmethode,stoppt die Fehlerminimierung sehr schnell und dabei kommt die Meldung "The target net error has been reached". Die implementierten Hidden-Neuronen werden nicht gezeigt oder werden diese im Hintergrund von Membrain berechnet?

- So einen ähnlichen Fall gab es auch bei einem anderen MemBrain-User (viewtopic.php?t=89). Handelt es sich hierbei um einen Bug in einer älteren Version? Ich habe Membrain V07.01.00.00.

- So wie ich Membrain verstanden habe, muss man mehrmals den "Start Teacher", also auf das Symbol mit der Glühbirne und dem Ausrufezeichen auch mehrmals klicken, oder?

- Noch zuletzt, kann die das Diagramm mit der Fehlerkurve als Bilddatei exportiert werden?

Viele Grüße
Altan
Attachments
CC learning.JPG
Fehlerkurve, CC
(115.38 KiB) Not downloaded yet

User avatar
TJetter
Posts: 236
Joined: Sat 13. Oct 2012, 11:04

Re: Lernregel zuordnen

Postby TJetter » Sun 18. Dec 2016, 12:46

Hallo und sorry für die etwas späte Antwort!

ALTANre wrote:- Beim Anwenden dieser Lernmethode,stoppt die Fehlerminimierung sehr schnell und dabei kommt die Meldung "The target net error has been reached". Die implementierten Hidden-Neuronen werden nicht gezeigt oder werden diese im Hintergrund von Membrain berechnet?

Bitte prüfen, was als 'Target Net Error' für den CC eingetragen ist. Per default sind das 0.05. Den Wert am besten auf 0 setzen.
Beim CC möchte man die minimal notwendige Architektur finden, um das Problem zu lösen. Deshalb ist es sinnvoll, den Target Net Error hier so zu setzen, dass der CC bei einem kleinen Net Error auch wirklich abbricht. Je nach Komplexität des zu erlernenden Problems kann der Net Error aber sehr schnell sehr kleine Werte erreichen (auch abhängig von der gewählten Net Error Function). Das wird wahrscheinlich hier der Fall sein, ich nehme an, es geht um ein recht einfaches neuronales Netz bzw. Problem?
Die Hidden-Neuronen werden sichtbar, wenn sie eingefügt werden, nichts geschieht 'im Hintergrund' oder ähnlich.

ALTANre wrote:- So einen ähnlichen Fall gab es auch bei einem anderen MemBrain-User (viewtopic.php?t=89). Handelt es sich hierbei um einen Bug in einer älteren Version? Ich habe Membrain V07.01.00.00.

Dieser Bug sollte seit langem behoben sein. Wenn es immer noch nicht funktioniert dann bitte mal das Netz und die Training-Lesson hier posten oder als PN schicken.

ALTANre wrote:- So wie ich Membrain verstanden habe, muss man mehrmals den "Start Teacher", also auf das Symbol mit der Glühbirne und dem Ausrufezeichen auch mehrmals klicken, oder?

Wenn Start Teacher einmal gedrückt wird, dann arbeitet der Teacher so lange, bis eines der Abbruchkriterien erfüllt ist. Das ist zum Einen immer der 'Target Net Error' (siehe oben). Beim CC Teacher gibt es allerdings noch ein weiteres Kriterium, nämlich die 'Maximum Number of Candidates to Add' (Button 'Advanced' in den Teacher Settings des CC).

ALTANre wrote:- Noch zuletzt, kann die das Diagramm mit der Fehlerkurve als Bilddatei exportiert werden?

Nein, das ist leider nicht möglich. Das ist aber ein guter Input, Danke! Ich werde es als Verbesserungsvorschlag aufnehmen, den Kurvenverlauf
exportierbar zu machen. Wahrscheinlich aber am besten als CSV, so dass man die Daten in ein Tabellenkalulationsprogramm importieren kann.

Viele Grüße
Thomas Jetter


Return to “Sonstiges”