http://fbim.fh-regensburg.de/~saj39122/ ... 20102.html

Der Link funktioniert leider nicht mehr.remi_meier hat geschrieben:OK:
http://mypage.bluewin.ch/remimeier/Tutorial/Tut3.pdf
Code: Alles auswählen
OFehler(z) = (SollOutputs(z) - Outputs(z)) * Outputs(z) * (1.0 - Outputs(z))
VFehler(z1) = Fehler1 * VNeurons(z1) * (1.0 - VNeurons(z1))
Code: Alles auswählen
Procedure.f Berechne_Fehler() ;Rückwärts 1, gibt den MaximalFehler zurück
Protected MaxFehler.f ;um zu erkennen, wann der maximale Fehler innerhalb der Toleranz #Toleranz liegt
For z = 1 To #a ;Fehler für 2. Gewichtsschicht
OFehler(z) = (SollOutputs(z) - Outputs(z)) ;fülle Fehler-Array der Outputschicht
; If Abs(OFehler(z)) > Abs(MaxFehler) ;Maximaler Fehler herausfinden
; MaxFehler = OFehler(z)
; EndIf
Next
For z1 = 1 To #v ;für jedes Neuron der verb. Schicht
Fehler1.f = 0 ;mit 0 initialisieren
For z2 = 1 To #a ;Fehler 1 berechnen
Fehler1 = Fehler1 + OFehler(z2) * VNeurons(z1) * Gewichte2(z1, z2) ;Fehler aufsummieren
Next
VFehler(z1) = Fehler1 ;fülle Fehlerarray der verb. Schicht
Next
ProcedureReturn MaxFehler
EndProcedure
Code: Alles auswählen
Procedure.f Berechne_Fehler() ;Rückwärts 1, gibt den MaximalFehler zurück
Protected MaxFehler.f ;um zu erkennen, wann der maximale Fehler innerhalb der Toleranz #Toleranz liegt
For z = 1 To #a ;Fehler für 2. Gewichtsschicht
OFehler(z) = (SollOutputs(z) - Outputs(z)) ;fülle Fehler-Array der Outputschicht
; If Abs(OFehler(z)) > Abs(MaxFehler) ;Maximaler Fehler herausfinden
; MaxFehler = OFehler(z)
; EndIf
Next
For z1 = 1 To #v ;für jedes Neuron der verb. Schicht
Fehler1.f = 0 ;mit 0 initialisieren
For z2 = 1 To #a ;Fehler 1 berechnen
Fehler1 = Fehler1 + OFehler(z2) * Gewichte2(z1, z2) ;Fehler aufsummieren
Next
VFehler(z1) = Fehler1 * VNeurons(z1) * (1.0 - VNeurons(z1)) ;fülle Fehlerarray der verb. Schicht
Next
ProcedureReturn MaxFehler
EndProcedure