7.2. Metoda funkcji potencjalnych w realizacji perceptronowej 89
procedurę learning;
{tu powinny być zadeklarowane wszystkie stałe, zmienne i tablice}
function recognition (obj: object): class;
var
i, m: integer; begin
for i := 1 to numclass do begin
fun[i] := 0;
for m := 0 to limit do
fun[i] := fun[i] + weight[i][m] ♦ fi(m, obj);
end
recognition := pointmax(fun); end; {koniec funkcji recognition}
begin{początek procedury learning}
weight := 0; {wyzerowanie całej tablicy}
count := 0;
repeat
error := FALSE;
for k := 1 to num do
begin
rec := recognition(sampl[k]); ident := sampl[k][dim + 1]; error := rec <> ident; if error then
for n := 0 to limit do begin
weight [ident] [n] := weight[ident][n] + seq(k) * fi(n, sampl[k] weight [rec] [n] := weight[rec][n] - seq(k) * fi(n, sampl[k][nj); end;
end
count := count + 1; until not error or count > limit; if error then fail else success;
end