(int ij=0; ij lt; resultStudy.length; ij ++)
{[ij]=tempArray [ij];
}
}
}=new double [s.getOUT ()];=s.getArrayOut (); (int j=layers - 1; j gt; 0; j -)
{= (Layer) massivLayers.get (j); (j == (layers - 1))
{. ras4etOshibki (result, resultStudy);
}
{= (Layer) massivLayers.get (j + 1);=new double [l.getVIxodi ()];=l.getMassivRas4et () ;. ras4etOshibki (l1, resultStudy);
}
}
//обчислення квадрата помилок=new double [s.getOUT ()];=s.getArrayOut ();=(Layer) massivLayers.get (massivLayers.size () - 1);=new double [l.getVIxodi ()];=l.getMassivRas4et (); last=true;=0; (int j=0; j lt; l.getVIxodi (); j ++)
{= temp + (tempArray2 [j] - tempArray [j]) * (tempArray2 [j] - tempArray [j]);
}
e [i]=temp;
//зміна вагових коефіцієнтів
for (int j=layers - 1; j gt; 0; j -)
{= (Layer) massivLayers.get (j);=new double [l.getVIxodi ()];=l.getMassivOshibok ();=(Layer) massivLayers.get (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. Кожен об'єкт цього класу - це два масиву, масив вхідних значень і масив цільового виходу. Кількість цих об'єктів відповідає навчальним зразкам, і визначається користувачем перед початком процесу навчання нейронної мережі.
4. Розробка документації по використанню програми
. 1 Інсталяція програмного продукту
Як зазначалося в розділі 3, мова Java є повністю машинно-незалежним, і для успішного виконання запропонованої програми необхідно щоб на ПЕОМ був встановлений набір інструментальних засобів Java Runtime Environment. Якщо це програма встановлена, то досить переписати в робочу директорію файл NeiroNet.jar і запустити його виконання з командного рядка наступною командою java -jar NeiroNet.jar. Або переписати в тугіше директорію де розташуванні файл NeiroNet.jar файл run.bat, і виконати його за допомогою подвійного натискання на нього лівою кнопкою миші, або після виділення його натискання кнопки Enter (Введення).
Подальші дії з додатком будуть описуватися на прикладі створення і навчання конкретної нейронної мережі.
Постановка завдання. Необхідно створити, зберегти і навчити нейронну мережу, яка буде здатна розпізнавати зображення будь цифри. Цифра представлена ??у вигляді бінарного масиву, відображуваного на екрані як темні (відповідні значенням 1) і світлі (відповідні значенням 0) області або пікселі. Хай зображення кожної цифри складається з 35 пікселів, тобто поміщається в прямокутнику розміром 5? 7 пікселів, рисунок 4.1.
нейронний мережу штучний навчання
4.2 Створення моделі нейронної мережі
Після запуску програми на екрані з'являється вікно, як показано на малюнку 4.2. Користувач, для створення нейронної мережі повинен відобразити на робочій області вікна всі необхідні йому шари нейронної мережі. Це робиться таким чином. Натискається кнопка відповідна потрібного шару (вхідний, прихований чи вихідний). Потім клацанням лівої кнопки миші користувач вказує в якому місці повинен розташовуватися цей шар. При необхідності зміни місця розташування зображення шару, в графічному інтерфейсі реалізований механізм drug-and-drop (додаток Г). Після вказівки місця розташування шару користувачеві пропонується ввести кількість нейронних елементів у створюваному шарі, малюнок 4.3. У програмі виключена ситуація створення більш одного вхідного і більше одного вихідного шару.
Для вирішення поставленого завдання необхідно щоб кожному пікселю у відповідність був поставлений нейронний елемент вхідного прошарку. Виходить, у вхідному прошарку буде 35 нейронів. Згідно з рекомендаціями по навчанню і архітектурі багатошарових мереж, наведених у п.2.6, число нейронів прихованого шару повинно бути менше навчальних зразків. Приймемо це кількість рівне 6. Для розбиття вхідних образів на 10 в...