ify"> {neiron1=new Neiron (1, output, in raquo ;, funkciya) ;. add (neiron1);
}. trimToSize ();
}
{(tip == out )
{= vxodi;=koli4estvo; (int i=0; i lt; koli4estvo; i ++)
{neiron1=new Neiron (input, 1, out raquo ;, funkciya) ;. add (neiron1);
}. trimToSize ();
}
{(tip == sub )
{= vxodi;=1; (int i=0; i lt; koli4estvo; i ++)
{neiron1=new Neiron (input, output, sub raquo ;, funkciya) ;. add (neiron1);
}. trimToSize ();
}
}
}
}
/**
Повертає кількість нейронів в шарі
@ return кількість нейронів
*/int getVIxodi ()
{koli4estvo;
}
/**
Встановлює нове значення кількості виходів у кожному нейроні шару
@ param int VIxodi - кількість виходів з нейрон, рівне
кількістю нейронів наступного шару
*/void setVIxodi (int VIxodi)
{= VIxodi; (int i=0; i lt; koli4estvo; i ++)
{n=(Neiron) massivNeironov.get (i);
n.setVIxodi (output);
}
}
/**
Повертає значення об'єкта у вигляді тексту
@ return текст, кожен рядок якого характеризує черговий нейрон */
public String getInfo ()
{infoString= raquo ;; (int i=0; i lt; koli4estvo; i ++)
{n=infoString.length ();=infoString.substring (0, n) + laquo;Нейронraquo;+(i+1)+laquo;nraquo;+(Neiron)massivNeironov.get(i)+laquo;nraquo;;
} infoString;
}
/**
Виробляє обчислення всіх нейронів шару
@ param int thisSloi - номер поточного шару в моделі мережі. Необхідний, щоб
відрізнити методи розрахунку результату в нейроні
@ param double [] lastSloiResult значення на виходах нейронів предидущего шару
@ return масив результатів
*/double [] makeRas4et (int thisSloi, double [] lastSloiResult)
{et=new double [koli4estvo]; (int i=0; i lt; koli4estvo; i ++)
{n=(Neiron) massivNeironov.get (i); (thisSloi == 0)
{= lastSloiResult [i];=n.getINResult (temp);
}
{= n.getResult (lastSloiResult);
} et [i]=temp;
} massivRas4et;
}
/**
Повертає раніше обчислені значення вихідних сигналів нейронів прошарку
@ return масив результатів
*/double [] getMassivRas4et ()
{massivRas4et;
}
/**
Розраховує похибка одного зв'язку
@ param int J - номер нейрона в шарі
@ param int I - номер вагового коефіцієнта для нейрона
@ return похибка
*/double getDeltaW (int I, int J)
{n=(Neiron) massivNeironov.get (J); tmp=n.getVesKoef (I);=tmp * massivOshibok [J]; tmp;
}
/**
Обчислює помилки нейронів вихідного шару
@ param double [] obrazecResult - цільовий вихідний зразок
@ param double [] realniiResult - реальний висновок мережі
*/void ras4etOshibki (double [] obrazecResult, double [] realniiResult)
{= new double [koli4estvo]; (int i=0; i lt; koli4estvo; i ++)
{n=(Neiron) massivNeironov.get (i);
(funkciya == 0) delta=(obrazecResult [i] -realniiResult [i]) * realniiResult [i] * (1-realniiResult [i]); (funkciya == 1) delta= 0.5 * (obrazecResult [i] -realniiResult [i]) * (1-realniiResult [i] * realniiResult [i]); [i]=delta;
}
}
/**
Обчислює помилки нейронів прихованого шару
@ param Layer preL - попередній шар, при зворотному проході
@ param double [] realniiResult - реальний в...