Руководство программиста - Исследование метода обратного распространения ошибки для обучения нейронной сети
Разработанная программа демонстрирует изученные в процессе обучения навыки владения языком C#.
Назначение и условия применения программы
Программа предназначена для распознавания двух классов чисел.
Для запуска этой программы необходимо иметь на компьютере установленную версию Windows XP/Vista/7. Данная программа разрабатывалась в среде MSVisualC# 2010(Microsoft. NET Framework 4.0).
Характеристика программы
Для написания программы нам понадобились следующие команды:
Получение числовых значений из текстовых полей:
Neyr1 = Convert. ToInt32(textBox1.Text);
Вывод окошка:
MessageBox. Show("Введите количество нейронов первого слоя");
Чтение содержимого файла:
Text = File. ReadAllLines("1-1.txt");
Сброс текстбокса:
TextBox1.Clear();
В данной программе был создан класс - class Neyro, с помощью которого создается нейросеть, и затем ведется работа с ней.
Класс содержит следующие переменные:
Public double[] prom, vvod;
Public double[,] w1, w2;
Public double[] rez;
Public int count1=0, count2=0;
Public int neyr1, neyr2;
Public int[] ogid;
Public bool[] ogid1, ogid2;
Public double k, skor;
Public double[] err_m = new double[100]; (cм. Приложение А)
Значениям переменных neyr1, neyr2 присваивается значение количества нейронов в первом и втором слоях нейросети соответственно.
Массив vvod заполняется из файла с входными данными. Далее вычисляются значения массивов prom и rez. Массив prom - это результаты выходов нейронов первого слоя. А массив rez - результаты выходов нейросети.
Алгоритм вычислений в классе соответствует формулам (5), (6), (7);
Так же в классе используются методы:
Public int[] Vihod(int kol, int kl) - метод, формирующий целевой вектор.
Public void Korekt() - метод, коректирующий синапсы.
Public void Rez() - метод вычисления результата нейросети.
Public void CreateNS() - метод, создающий нейросеть.
Public void Obuchenie(string file, StreamWriter sw1) - метод, обучающий нейросеть определенному классу чисел.
Текст программы класса представлен в Приложении А.
Правильность работы класса и программы в целом подтверждена вычислительным экспериментом. (см. рисунок 4,5).
Обращение к программе
Для запуска программы необходимо открыть в папке "курсовой ИТПЗ 2010" файл "курсовой титп2.sln" с помощью MS Visual Studio С# 2010 и нажать кнопку "Начать отладку". В результате должно появиться окно программы.
Входные и выходные данные
Анализируя графики ошибки обучения нейросети (рис. 2), а так же экспериментально были подобраны следующие параметры:
Количество шагов обучения - 100;
Коэффициент скорости обучения - 0,7;
Коэффициент сигмоида - 1,3;
Эффективность работы нейросети с этими параметрами так же была проверена при работе с другими классами чисел. Поэтому для данной нейросети лучше использовать именно эти значения.
В пункты: "Количество нейронов", нужно вводить целые значения. Значения коэффицентов k (коэффицент сигмоидной функции) и skor (скорость обучения) могут быть дробными.
В пункте "Обучающая выборка" нужно выбрать файлы для обучения нейросети соответствующим классам.
В пунктах "Файл" выбираются файлы для экзаменационной и тестовой выборки.
Похожие статьи
-
Для дальнейшей работы необходимо построить следующие алгоритмы: алгоритм работы программы в целом, и алгоритм обучения нейросети. Обобщенная схема...
-
После выполнения программы появляются три графика. Результаты представлены на рисунках 4,5,6. График ошибки при значении коэффициента скорости обучения...
-
Самым важным свойством нейронных сетей является их способность обучаться на основе данных окружающей среды и в результате обучения повышать свою...
-
В данной курсовой работе необходимо разработать алгоритм и программу на языке С# вычислительного процесса (двухслойная нейросеть). В наши дни возрастает...
-
Несмотря на большое разнообразие вариантов нейронных сетей, все они имеют общие черты. Так, все они, так же, как и мозг человека, состоят из большого...
-
В работе возникает необходимость выбора предметной области, в которой будет тестироваться каскадный классификатор. Главными вопросами на данном этапе...
-
Для чего нужны Базы Данных - База данных склада обоев
В настоящее время в современном мире электронных технологий практически невозможно представить компанию, в которой не требуется обработка некоторого...
-
Разработаем алгоритм одного из основных методов, используемого в данной программе. Private void pictureBox1_MouseDown(objects sender, MouseEventArgs e)...
-
Актуальность Сегодня всемирная популярность социальных информационных сетей продолжает набирать обороты, все большее пользователей не может отказать себе...
-
При разработке данной программы были допущены следующие синтаксические ошибки: - неправильное использование операторов присваивания; - неверное...
-
Онлайн исследования в социологии: новые методы анализа данных - Распространение новостной информации
На сегодняшний день анализ социальных сетей и медиа, Интернет-сообществ, пользователей в целом используется в основном в маркетинге. Компания может...
-
Методы Рунге-- Кутты-- важное семейство численных алгоритмов решения обыкновенных дифференциальных уравнений и их систем. Данные итеративные методы...
-
Задание 1 Разработать программу, которая на отрезке [-1,1] по формуле функции f(x) строит интерполяционную таблицу размерности n +1 с неравномерным шагом...
-
Данная методика рассчитана на приложения с трехуровневой архитектурой: клиент - сервер приложений - сервер базы данных. Так как программа нацелена на...
-
Предложенный подход к решению задач исследования Используя в качестве основы присутствующее в наличии программное обеспечение, которое применимо к...
-
Методы разработки вычислительной сети: 1. Экспериментальный метод - персонал предприятия закупает "новинки" рынка компьютерной техники. Такой метод -...
-
Таким образом, от общей проблемы математического анализа изображений мы перешли к проблеме проверки на плагиат графической информации. Для этого нами...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
В курсовой работе в соответствии с заданием на проектирование решается задача разработки программы вычисления определенных интегралов численными...
-
Исходя из контекста решаемой задачи, для сравнительного анализа рассмотренных математических моделей обнаружения аномалий можно выбрать следующие...
-
Описанный метод, по сути, анализирует поведение веб-приложения на предмет совершения недопустимых относительно профиля нормального поведения операций....
-
Классы StatMetric содержат всю логику библиотеки и предоставляют интерфейс для обновления и получения значений агрегатов. Рисунок 4. Диаграмма классов...
-
Обучение каскадного классификатора - Исследование алгоритмов
В OpenCV есть два приложения для тренировки каскадов URL: http://docs. opencv. org/modules/objdetect/doc/cascade_classification. html?...
-
Рис. 3 Результаты сохраненные в файле: 2 1 1 |2 3 2 3 |6 6 5 4 |5 Gauss X1=-7,4 X2=1,2 X3=2,2 J-Gauss X1=-7,4 X2=1,2 X3=2,2 Инструкция по работе с...
-
Программный алгоритм визуальный гаусс В программу включены следующие процедуры: "gauss1", "gaussj", "New1Click", "Button1Click", "Button2Click",...
-
Методы и средства защиты от поражения электрическим током В трехфазных сетях применяется защитное заземление с глухо заземленной нейтралью, оно является...
-
Для установки разработанного приложения на рабочую станцию необходимо: - установить необходимое программное обеспечениепакет MS Office (MS Excel, MS...
-
В данном параграфе приведены результаты исследования причин, затрудняющих школьной социальной сети стать пространством организации внеурочной...
-
Данная компания является ведущем производителем оборудования и выпуска квалифицированных специалистов в мире. Это одна из самых оцененных компаний в...
-
Графическое отображение нелокальной нейронной сети в системе "Эйдос" Математический метод СК-анализа в свете идей интервальной бутстрепной робастной...
-
Рассмотрим особенности программирования под Android. Класс Activity - самый важный класс, из которого строится приложение Android. Этот класс...
-
Введем начальные условия, необходимые для реализации метода Рунге-Кутта 4-го порядка: S(0)=100, E(0)=1, I(0)=0,R(0)=0, t=[0,30]. Параметры Sigma = 0.5 ;...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
Обучение с учителем и формальная запись задачи классификации Теория машинного обучения решает задачи предсказания будущего поведения сложных систем в том...
-
Для решения трехмерной задачи упругости с помощью метода конечных элементов были заданы следующие основные параметры: [1]. Количество секций. [2]....
-
Введение, Правила и порядок выполнения курсовой работы - Программирование в среде Turbo Pascal
Настоящие методические указания предназначены для выполнения курсовой работы "Расчеты на ЭВМ характеристик выходных сигналов электрических цепей" по...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Тестирование, Заключение - Обьекто-ориентированное программирование
Ввод данных осуществляется пользователем. У пользователя запрашивается будем ли сравнивать треугольники и при положительном ответе вводятся параметры...
-
Рассмотрим сформулированные основные требования для решения поставленной задачи. Функциональные требования: - Выбор пользователем частных критериев...
-
Шестой метод - построение суффиксных деревьев. Среди большого количества методов анализа текста метод аннотированного суффиксного дерева выделяется тем,...
Руководство программиста - Исследование метода обратного распространения ошибки для обучения нейронной сети