Neuronales Netz - Lernen < Künstl. Intelligenz < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Hallo!
Ich habe ein Problem beim Delta-Learning Algorithmus - Damit will ich die AND funktion trainieren.
also der Input:
x1 x2 t
0 0 0
0 1 0
1 0 0
1 1 1
nun habe ich also 4 sampels
zur separierung des problems stelle ich folgende gleichung auf
w1 x1 + w2 x2 + w0 * x0 = 0 auf
w1, w2 sind werte zwischen 0 und 1, wobei beide zufällig sind
w0 ist ein wert zwischen -1 und 0
x0 ist immer 1
output funktion:
o = w1 x1 + w2 x2 + w0
wenn o > 0 dann wird o = 1
sonst o = 0
delta funktion
eta = 0.1
der wert ist zwischen 0 und 1 - ist die lernrate
delta_w1 = eta * (t - o) * x1
delta_w2 = eta * (t - o) * x2
w1 = w1 + [mm] delta_{w1}
[/mm]
w2 = w2 + [mm] delta_{w2}
[/mm]
so wie ich das ganze nun verstanden habe
for (i=0, i < 4; i ++)
{
o = w1 x1(i) + w2 x2(i) + w0;
if (o > 0)
o = 1;
else
o = 0;
eta = 0.1
delta_w1 = eta * (t(i) - o) * x1(i)
delta_w2 = eta * (t(i) - o) * x2(i)
w1 = w1 + [mm] delta_{w1}
[/mm]
w2 = w2 + [mm] delta_{w2}
[/mm]
}
ich würde also alle 4 samples durchgehen und die richtige gewichtung berechnen. leider habe ich bisher auch noch nichts darüber gefunden, wie ich das delta learning richtig implementiere...
Hoffe ihr versteht mein problem
lg
Baba
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Mi 05.05.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|