
Hi,
wenn ich in meinem Code 4 versteckte Neuronen einstelle, lernt er leider auch nicht. Die ausgabe liegt bei allen Eingaben immer ca. bei 0.5 -> also absoluter "Worst-Case".
Ich sehe mir mal den Python-Code auf der von dir verlinkten Webseite an.
Viele Grüße
Robert
Am Sun, 25 Nov 2012 14:51:23 +0100 schrieb Johannes dajo.mail@web.de:
Hi, ich habe vorhin mal etwas mit den einzelnen Beispielen gespielt.
selbst im Fall, wo nur zwei Beispiele gelernt werden sollten ([0,1] -> 1 und [1,1] -> 0]
schwankte meine 'Trefferquote' in der Ausgabe bei verschiedenen Durchläufen zwischen 0.6 und und 0.9.
Mir scheint es sich hierbei auch eher um ein prinzipielles Problem zu handeln, weil du nur zwei Neuronen im HiddenLayer nutzt. Mit 4 Neuronen lassen sich ordentliche Ergebnisse erzielen: http://mnemstudio.org/neural-networks-backpropagation-xor.htm
Dass kann man sich auch so klar machen, indem man die Lernschritte von Hand berechnet, und beobachte welcher Fehler in der Ausgabe zu welchen Änderungen der Gewichte führt.
greatz Johannes
On 25.11.2012 14:24, Robert Heumüller wrote:
Gute Idee,
ich habe die Reihenfolge der Beispiele mal randomisiert:
examples = [([0,0], [0]),([0,1], [1]),([1,0], [1]),([1,1], [0])] for i in range(15000): learn_example(random.choice(examples)) print calculate([0,0]) print calculate([0,1]) print calculate([1,0]) print calculate([1,1])
Leider trotzdem kein Erfolg :( Danke trotzdem schonmal,
Grüße
Robert
Am Sun, 25 Nov 2012 13:39:01 +0100 schrieb Johannes dajo.mail@web.de:
Hi, was passiert, wenn du die Reihenfolge der Lernschritte zufällig variierst? Das Ergebnis kann einfach auf 'schlechtes lernen' zurückzuführen sein.
greatz Johannes
On 24.11.2012 22:42, Robert Heumüller wrote:
Guten Abend,
ich habe vor drei Tagen dieses kleine Script geschrieben, das ein mehrschichtiges Perzeptron aus Sigmoidneuronen mittels Backpropagation die XOR Funktion lernen lassen soll. Seitdem versuche ich den Fehler zu finden, warum der Lernvorgang einfach nicht funktioniert (Immer wenn ich drauf gucke, komme ich zum Schluss, dass die Implementierung stimmen sollte). Ich würde mich freuen, wenn jemand mal einen Blick darauf werfen, und mir sagen könnte, worin der Fehler liegt. Hier der Code:
http://privatepaste.com/8ad1b3752e
Ich hoffe, es findet sich jemand, der mir weiterhelfen kann.
Vielen Dank
Robert
python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de