// Lernen kann beginnen
für alle Schichten // Netz einmal durchrechnen
{
für alle Neuronen der Schicht
{
berechne neuen NettoInput
berechne mit NettoInput den NettoOutput
}
}
setze Gesamtfehler= Gesamtfehler+ QuadratischenFehler
// Beginn bei Ausgabeschicht
// deren Gewichtsänderung auf Basis der Zielwerte
für alle Neuronen der Ausgabeschicht
{
berechne Fehlersignal aus akt. Output und Zielwerten
für alle Neuronen der vorgelagerten Schicht
{
berechne Gewichtsänderung mit Fehlersignal
setze neue Gewichte
}
}
// jetzt alle weiteren (vorgelagerten) Schichten
// deren Gewichtsänderung auf Basis nachfolgender Schicht
für alle Schichten zurück
{
für alle Neuronen der Schicht
{
für alle Neuronen nachfolgenden Schicht
{
berechne Fehlersignale
}
für alle Neuronen der Vorderschicht
{
berechne neue Gewichte durch Fehlersignale
setze neue Gewichte
}
}
} // für alle Schichten
} // für alle Muster
erhöhe Anzahl Lernzyklen um 1
}
bis Anzahl Lernzyklen> Maximalanzahl oder Gesamtfehler< Max. zulässiger
Fehler
1