j - 1) ;=new double [l1.getVIxodi ()];=l1.getMassivRas4et () ;. izmenenieVesov (normaObu4eniya, resultStudy, tempArray);
}
}
//перевірка на достовірність=0; (int i=0; i lt; epoxa; i ++)
{= temp + e [i];
}=temp/2; (temp lt; Em) STOP=true; ++; (counter == 10) {JOptionPane.showMessageDialog (null, Минуло + (count2 * 10) + епох навчання ); 2 ++; counter=1;}
}
}
/**
Об'єкт класу StudyArrays являє собою один
навчальний зразок з епохи.
*/class StudyArrays
{
/**
Конструктор класу StudyArrays
@ param int input -кількість вхідних нейронів
@ param double [] array1 -значення вхідних сигналів
@ param int output -кількість вихідних нейронів
@ param double [] array2 цільові значення вихідних сигналів
*/StudyArrays (int input, double [] array1, int output, double [] array2)
{= input;=new double [in]; (int i=0; i lt; in; i ++)
{[i]=array1 [i];
}=output;=new double [out]; (int i=0; i lt; out; i ++)
{[i]=array2 [i];
}
}
/**
Відображає інформацію навчального зразка
@ return кількість вхідних нейронів
*/int getIN ()
{in;
}
/**
Відображає інформацію навчального зразка
@ return кількість вихідних нейронів
*/int getOUT ()
{out;
}
/**
Відображає інформацію навчального зразка
@ return значення надходять на вхідні нейрони
*/double [] getArrayIn ()
{arrayInput;
}
/**
Відображає інформацію навчального зразка
@ return значення які повинна видати нейронна мережа
*/double [] getArrayOut ()
{arrayOutput;
} double [] arrayInput; int in; double [] arrayOutput; int out;
} int getIn ()
{in;
} int getsubS ()
{subS;
} int getout ()
{out;
} int [] getsub ()
{sub;
} int count2=1; int counter=1; VvodCifr vvodCifr=null; int funkciya; VivodRez VIvod=null; int strok=0; int stolbcov=0; VvodKartinki vvod=null; double [] e; boolean STOP=false; static double Em; static double normaObu4eniya; double [] resultStudy; Layer l; Layer l1; ArrayList massivStudy; ArrayList massivLayers; static int layers; double temp; double [] tempArray; double [] tempArray2; double [] studyArrayIN; int stIn; double [] studyArrayOUT; int stOut; double [] result; String input; int in; int subS; int [] sub;
private int out;
}
Лістинг програмного модуля, що описує прошарок нейронної мережі
/**
Об'єкт класу Layer є моделлю одного шару нейронної мережі.
Шар характеризується типом: вхідний, прихований або вихідний, а так само кількістю нейронів у шарі. Кожен нейрон шару пов'язаний з усіма нейронами предидущего і подальшого шарів.
*/classNet.classLayer;
import classNeiron. *; java.util. *; java.io. *; javax.swing. *; class Layer implements Serializable
{
/**
Конструктор класу Layer
@ param String tip - рядок описує шар (in-вхідний, sub-прихований, out-вихідний)
@ param int capacityNeironov зберігає кількість нейронів в цьому шарі
@ param int vxodi зберігає кількість входів в кожен нейрон шару, і відповідає
кількістю нейронів предидущего шару
*/Layer (String tip, int capacityNeironov, int vxodi, int fun)
{estvo=capacityNeironov;=fun;=new ArrayList (koli4estvo) ;. toLowerCase (); (tip == in )
{= koli4estvo;=1; (int i=0; i lt; koli4estvo; i ++)