Fragen und Antworten
- Um eine Struktur in die Fragen und Antworten hineinzubekommen, schlagen wir vor, jedes Problem mit einer Überschrift zu versehen und auch als solche zu formatieren: == Frage ==
- Beginnen Sie einen neuen Eintrag unmittelbar hinter der Trennungslinie.
- Beginnen Sie Ihren Eintrag mit "~ ~ ~ ~"(Tilde ohne Leerzeichen) hintereinander . Damit startet Ihr Eintrag mit Namen und Zeitstempel.
Alternativ können Sie auch eine E-Mail schreiben an: uwe.laemmel@hs-wismar.de
Herleitung Fehlersignal Seite 220,221
Ich hab eine Frage zur Herleitung des Fehlersignals eines inneren Neurons(s.220/221 Backpropagation-Netze):
do/dnet=o*(1-o) (6.7)
dE/do=Summe(Fehlersignale*Gewichte) (6.10)
Fehlersignal= - dE/dnet (6.11)
wenn ich jetzt 6.7. und 6.10 in 6.11 einsetze:
Fehlersignal= - o*(1-o)*Summe(Fehlersignale*Gewichte)
..das Minus wird im folgendem Text und Beispiel aber unterschlagen.Warum darf man das?
Vielen lieben Dank im voraus:)
Uw 06:33, 15. Apr. 2009 (UTC):
Das Fehlersignal selbst ist als Negation der Ableitung des Fehlers E nach der Netzeingabe net (Formel 6.11).
In der Formel (6.10) wird das Fehlersignal eingesetzt und damit hebt sich das Minuszeichen vor der Summe mit den Minuszeichen der Fehlersignale in der Summe auf.
Implementierung eines Perzetrons
Ich habe auch eine Frage - betreffend die Implementierung eines (einfachen) Perzeptrons. (Ich hoffe ich stelle diese Frage nun an der richtigen Stelle?)
Vorweg zur Info : Vorliegen habe ich die Version des Buches von 2001. Dort stolpere ich (auf Seite 288) in der Funktion teachPerceptron(int N)(...) in der Klasse TeachPerceptron.
Dort wird aufgerufen p.setInputPattern(inputPattern[m]);
Nun wundere ich mich (genauso wie mein Compiler ;) ) , da inputPattern ja ein zweidimensionales Array ist (doube[][] inputPattern). Leider bin ich in java nicht ganz so fit, und implementiere deswegen gerade in C# (Framework 3.5). Ist dies ein sprachspezifisches Problem, sprich, kann java mit p.setInputPattern(inputPattern[m]) automatisch ein 1D-Array generieren, oder handelt es sich hierbei um einen Tippfehler ? (Dies scheint mir aber nicht so, da setInputPatter in der Perceptron-Klasse ja auch nur ein 1D-Array entgegennimmt.) Irgendwie scheine ich da im Moment auf dem Schlauch zu stehen...
Wie kann man das erklären ? Ich würde mich über eine Antwort freuen :-).
Damit, viele Grüße aus Darmstadt !
- Das wundert mich aber, dass Ihr Compiler sich da wundert. Es ist kein Fehler im Buch: inputPattern ist ein 2D-Array, d.h. ein Array von Arrays. Demzufolge ist inputPattern[i] das 1D-Array an der Stelle i. Die Methode SimplePerceptron.setInputPattern hat einen Parameter vom Typ double[]. Genau das liefert daher der Aufruf p.setInputPattern(inputPattern[m]).
- Gruß aus Rostock, A. Raasch