Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frage bzgl. Backward Propagation Aufgabe


von Backward (Gast)


Lesenswert?

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
von A. S. (rava)


Lesenswert?

Du hast einen Vorzeichenfehler

von Backward (Gast)


Lesenswert?

Ich hab es auch schon mit umgedrehten Vorzeichen (+ x1 anstatt -x1) 
gerechnet, allerdings wird dadurch der Fehler ebenfalls größer.

von Backward (Gast)


Lesenswert?

Sorry, meinte
w1_neu = w1_alt + dE/dw1

w2_neu = w2_alt + dE/dw2

von Sigi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.