Hallo Community, ich habe eine Frage bzgl. folgender Aufgabe: Ein Neuronales Netz - aktuell durch ein simples Neuron repräsentiert - soll mit folgenden Inputs auf den Zielwert y=1 trainiert werden: x1=2;x2=3;w1=0.11;w2=0.21; Fehlerfunktion E: 0.5(y_ziel - y_aktuell)^2 Explizit erwähnt wird das es erstmal keine Aktivierungsfunktion gibt, d.h. das Neuron feuert immer. Das Training wird durch Minimierung des Fehlers (mittels Gradientenabstiegsverfahren) in Bezug auf die Gewichtungen erreicht. Nach wiederholten Rechnungen komme ich allerdings immer zu folgendem Schluss (Ergebnis der partiellen Ableitung): y_aktuell = x1*w1+x2*w2 dE/dw1 = (y - y_aktuell) * x1 dE/dw2 = (y - y_aktuell) * x2 w1_neu = w1_alt - dE/dw1 w2_neu = w2_alt - dE/dw2 Allerdings wird der Fehler dadurch immer größer anstatt kleiner. Wo liegt mein Fehler? Danke vorab für hilfreiche Antworten.
:
Verschoben durch Moderator
Ich hab es auch schon mit umgedrehten Vorzeichen (+ x1 anstatt -x1) gerechnet, allerdings wird dadurch der Fehler ebenfalls größer.
Sorry, meinte w1_neu = w1_alt + dE/dw1 w2_neu = w2_alt + dE/dw2
Die Gleichungen w1_neu = w1_alt - dE/dw1 w2_neu = w2_alt - dE/dw2 stimmen iE schon, d.h. das Voreichen vor den Gradientenkomponenten stimmt. Es fehlt aber noch eine weitere Gewichtung: w1_neu = w1_alt - sigma*dE/dw1 w2_neu = w2_alt - sigma*dE/dw2 mit sigma>=0. In deinem Fall lässt sich sigma explizit berechnen (iA ist das aber schwer bis nicht praktikabel).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.