Сравнительный анализ нейросетевых реализаций алгоритмов распознавания образов
Категория реферата: Рефераты по кибернетике
Теги реферата: бесплатные контрольные, рефераты по предметам
Добавил(а) на сайт: Федоренко.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата
//numberpatterns:=2;//10;
EditNumPat.Text:=inttostr(numberpatterns);
BtnNext.Font.Color:=clRed; indexBtnNextClick:=0;
LabelInput.Visible:=False;
// *********************************************
Randomize;// случайные веса (-0.5,0.5) for i := 1 to OutputLayerUnits do begin for j := 1 to InputLayerUnits do begin rand:=Random-0.5; w[i,j]:=rand; end; end;
end;
procedure TFrmPerceptron.BtnNextClick(Sender: TObject); var i,j,m:byte; sum:real; neterror,err:real; error:array[1..OutputLayerUnits] of real; stop:boolean; krandom:integer; begin indexBtnNextClick:=indexBtnNextClick+1; for m:=1 to InputLayerUnits do begin if (Percept_FieldPerc.Brushes[m]=Percept_FieldPerc.RectBrush) then begin v[indexBtnNextClick,m]:=1; end else if
(Percept_FieldPerc.Brushes[m]=Percept_FieldPerc.BackGroundBrush) then begin v[indexBtnNextClick,m]:=-1; end; end;
// ******************ODD or EVEN********************* if RadioButtonOdd.Checked then begin target[indexBtnNextClick,1]:=1; target[indexBtnNextClick,2]:=-1; end else if RadioButtonEven.Checked then begin target[indexBtnNextClick,1]:=-1; target[indexBtnNextClick,2]:=1; end;
// *************************************************** if (indexBtnNextClick+1)=numberpatterns then begin
BtnNext.Caption:='last'; end else begin if (indexBtnNextClick)=numberpatterns then begin
BtnNext.Font.Color:=clWindowText;
BtnNext.Caption:='finished';
LabelInput.Font.Color:=clRed;
LabelInput.Visible:=True; end else begin
BtnNext.Caption:='next'; end; end;
//*********************MAIN******************************* if (indexBtnNextClick)=numberpatterns then begin repeat stop:=false; for m := 1 to numberpatterns do begin for i := 1 to OutputLayerUnits do begin sum:=0; for j := 1 to InputLayerUnits do begin sum:=sum+w[i,j]*v[m,j];
end; activation[i]:=sum; if sum>=0 then begin
OutputLayerOutput[i]:=1; end else begin
OutputLayerOutput[i]:=-1; end; end; neterror:=0; for i := 1 to OutputLayerUnits do begin err:=target[m,i]-activation[i]; error[i]:=err; neterror:=neterror+0.5*sqr(err); end; if neterror=0 then begin
OutputLayerOutput[i]:=1; end else begin
OutputLayerOutput[i]:=-1; end; end; neterror:=0; for i := 1 to OutputLayerUnits do begin err:=target[m,i]-activation[i]; error[i]:=err; neterror:=neterror+0.5*sqr(err); end; for i := 1 to OutputLayerUnits do begin for j := 1 to InputLayerUnits do begin w[i,j]:=w[i,j]+eta*error[i]*v[m,j]; end; end; end;
end;//if
until stop;//end; end; // if end;
Рекомендуем скачать другие рефераты по теме: тесты с ответами, реферат этикет.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата