Information Technology Reference
In-Depth Information
if
(
wx
)
then
y
:
=
1
;
(* berech e die sgabe *)
else
y
:
=
0
;
(* des ch elle ertele e tes *)
if
(
y
=
o
)
then begin
(* wenn die Ausgabe falsch ist *)
:=
(
o
y
)
;
(* passe den Schwellenwert *)
w
:=
w
+
(
o
y
)
x;
(* und die Gewichte an *)
e
:=
e
+
|
o
y
|
;
(* summiere die Fehler *)
end;
end;
until
(
e
0)
;
(* wiederhole die Berechnungen *)
end;
(* bis der Fehler verschwindet *)
Dieser Algorithmus wendet offenbar immer wieder die Delta-Regel an, bis die Sum-
me der Fehler über alle Trainingsbeispiele verschwindet. Man beachte, dass in die-
sem Algorithmus die Anpassung der Gewichte in vektorieller Form geschrieben ist,
was aber offenbar äquivalent zu der Anpassung der Einzelgewichte ist. Wenden wir
uns nun der Batch-Version zu:
Algorithmus 3.3 (Batch-Training eines Schwellenwertelementes)
procedure
batch_training
(
var
w
,
var
,
L
,
)
;
var
y, e,
(* Ausgabe, Fehlersumme *)
c
,
w
c
;
(* summierte Änderungen *)
begin
repeat
e
:= 0
;
c
:=
0
;
:= 0
; w
c
(* Initialisierungen *)
for all
(
x
,
o
)
L
do begin
(* durchlaufe die Beispiele *)
if
(
wx
)
then
y
:= 1
;
(* berech e die sgabe *)
y
:= 0
;
else
(* des ch elle ertele e tes *)
if
(
y
=
o
)
then begin
(* wenn die Ausgabe falsch ist *)
:=
c
(
o
y
)
;
c
(* summiere die Schwellenwert- *)
:=
w
c
+
(
o
y
)
x;
w
c
(* und die Gewichtsänderungen *)
:=
e
+
|
o
y
|
;
e
(* summiere die Fehler *)
end;
end;
:
=
+
c
;
(* passe den Schwellenwert *)
w
:
=
w
+
w
c
;
(* und das Gewicht an *)
until
(
e
0
)
;
(* wiederhole die Berechnungen *)
end;
(* bis der Fehler verschwindet *)
In diesem Algorithmus wird die Delta-Regel in modifizierter Form angewandt. Bei
einemDurchlauf der Trainingsbeispiele werden für jedes Beispiel der gleiche Schwel-
lenwert und die gleichen Gewichte verwendet. Die bei falscher Ausgabe berechneten
Änderungen werden in den Variablen
c
und
w
c
summiert. Erst nach Bearbeitung al-
ler Trainingsbeispiele werden die Gewichte und der Schwellenwert mit Hilfe dieser
Va r i ab l en angepa s s t .
Zur Veranschaulichung der Arbeitsweise der beiden obigen Algorithmen zeigt
Tabe l l e 3 . 2 den Onl i ne -Le rnvorgang für da s be re i t s we i t e r oben be t r a cht e t e e i nf a che
Schwellenwertelement, das so trainiert werden soll, dass es die Negation berechnet.
Wie in Abbildung 3.16 auf Seite 24 sind die Startwerte
=
2
und
w
=
3. Man prüft