Создание и обучение нейронных сетей в системе Matlab | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №4 (63) апрель 2014 г.

Дата публикации: 03.04.2014

Статья просмотрена: 13145 раз

Библиографическое описание:

Афанасьева М. А. Создание и обучение нейронных сетей в системе Matlab // Молодой ученый. — 2014. — №4. — С. 85-88. — URL https://moluch.ru/archive/63/10102/ (дата обращения: 23.10.2018).

В данной статье решается задача разработки шаблона, который позволяет познакомиться с процессом создания и обучения, а также прогнозирования результатов нейронных сетей в системе Matlab. Конечный результат работы призван помогать студентам технических специальностей и осваивать начальный этап работы с нейросетями. Для реализации задачи используется система MatlabR2013b.

Ключевые слова:нейронная сеть, прогнозирование.

Технологии искусственных нейронных сетей являются одним из важнейших направлений современной науки. Они находят широкое применение в различных областях науки и производства. Изучению такого направлению искусственного интеллекта в курсе подготовки студентов по информатике и вычислительной технике уделяется большое внимание.

В курсе «Технологии искусственного интеллекта в управлении» Приамурского государственного университета имени Шолом-Алейхема студенты обучаются использованию рассматриваемой технологии в разнообразных средах. Поэтому была поставлена задача разработать простой шаблон, по которому можно познакомится с достоинствами и недостатками искусственных нейронных сетей и использовать его в дальнейших научных и практических работах.

Одной из существующих систем, позволяющей в достаточно простой форме реализовать нейронные сети, является Matlab, по которой имеются множество научных разработок.

Так, В. Д. Семейкин и А.В Скупченко [1] занимаются изучением и созданием нейросетевых моделей для решения телекоммуникационных задач. В. О. Андреев, Н. В. Савиных рассмотрели подход интеллектуализации технологических процессов и процессов управления на основе мягких вычислений, ядро которых составляют нечеткая логика, искусственные нейронные сети и генетические алгоритмы [2]. В своей работе М. Ю. Буриченко, О. Б. Иванцев, О. В. Букреева представили возможности использования программного пакета Matlab для построения моделей прогнозирования с помощью искусственных нейронных сетей, привели результаты построения пяти искусственных нейронных сетей, провели анализ результатов и возможности пересмотра и корректировки весов построенной искусственной нейронной сети [4]. Д. Балабио и М. Васигни в своей статье [6] описали комплект инструментов системы Matlab для создания карт Кохонена, приведя практический пример. А. Нейямадпур писал о возможности представления формата 2D в формат 3D с помощью нейронных сетей в системе Matlab [7]. Теоретические аспекты программирования нейронных сетей изложены в различных пособиях [3, 5, 7, 8].

После изучения теоретических сведений была создана лабораторная работа, в которой показывается пример построения нейронной сети, на основе данных по количеству студентов Приамурского Государственного Университета имени Шолом-Алейхема, сдавших экзамены на отлично с 2007 по 2012 года (табл.1). А также делается прогноз данных на 2013 год и сравнение его с реальными данными.

Таблица 1

Первичные данные

Факультет/Год

2007

2008

2009

2010

2011

2012

2013

ТДиГС

21

18

27

23

27

25

29

МИТТ

28

30

32

36

34

36

38

СКДиС

40

46

52

54

46

48

51

ФИиЖ

40

36

40

40

42

38

40

ЭУиП

40

41

38

36

34

36

32

ПП-ЦПО

40

38

42

44

40

48

46

Покажем разработанный шаблон проектирования и изучения нейронных сетей в системе Matlab R2013b.

После запуска системы Matlab в командной строке требуется ввести команду nntool, которая вызовет окно ввода данных и создания нейронной сети (Neural Network/Data Manager).

Нажатие на кнопку New открывает окно создания нейросети или данных (Create Network or Data). После выбора вкладки Data в поле Name необходимо ввести новое имя входных данных «P», а в поле Value сами значения входных данных: [1 2 3 4 5 6; 7 8 9 10 11 12], в которых числа 1–6 являются кодом каждого из шести факультетов ВУЗа, а 7–12 кодируют год с 2007 по 2012 соответственно. В графе Data Type, справа от поля Value, необходимо выбрать тип данных Inputs.

Нажатием кнопки Create создаются новые данные в окне Neural Network/Data Manager в поле Input Data, но окно создания нейросети или данных по прежнему остается открытым. Следующим шагом является изменение имя данных («Т») и ввод целей, которые представляют собой массив 6x6, содержащий в себе информацию о количестве студентов-отличников на конкретном факультете в конкретном году. Данные вводятся вручную.

[21

18

27

23

27

25;

28

30

32

36

34

36;

40

46

52

54

46

48;

40

36

40

40

42

38;

40

41

38

36

34

36;

40

38

42

44

40

48]

После этого справа выбирается тип данных Targets. Нажатием кнопки Create создаются новые данные цели.

Последним шагом в создании является создание самой нейронной сети. В окне Create Network or Data необходимо перейти на вкладку Network и изменить имя будущей сети на «network». Тип сети по умолчанию Feed-forward backprop, в графах входные данные и цели в списке выбрать введенные прежде данные P и T. После нажатия Create создается новая нейронная сеть с выбранными входными параметрами.

Следующий этап — обучение и тренировка сети. Двойной щелчок левой кнопкой мыши по созданной нейронной сети network в окне менеджера Neural Network/Data Manager открывает окно работы с сетью.

На вкладке View представлена сама нейронная сеть. Переходом на вкладку Reinitialize Weights, где в графе Input Ranges выбираются входные данные P из списка Get from input. Затем последовательное нажатие кнопок Set Input Ranges и Initialize Weights позволяет нам инициализировать веса, необходимые для инициализации всей сети.

Следующий шаг — обучение сети. Переходом на вкладку Train открывается окно обучения, в котором на месте входных данных и целей выбираются P и T соответственно. Справа в графе результатов обучения (Training Results) необходимо поменять имя выходных данных (Outputs) и ошибок (Errors) на O и E соответственно. Затем, нажатием кнопки Train Network начнется обучение сети, процесс которого можно наблюдать в окне Neural Network Training. После окончания обучения окно можно закрыть.

После того, как обучение закончилось в окне менеджера Neural Network/Data Manager появились два типа данных: Output Data (O) и Error Data (E). Двойной щелчок по данным O открывает окно с выводом данных. Нажатием кнопки Export в окне менеджера, а затем повторным нажатием Export во вновь открывшемся окне можно перенести полученные данные в рабочую область Matlab, где они будут представлены в более презентабельном виде. Покажем скриншоты с рабочей области Matlab, на которых изображены таблица значений, которые были известны изначально, T (рис. 1), таблица полученных значений O (рис. 2) и таблица ошибок E (рис. 3).

Рис. 1. Таблица первичных данных, T

Рис 2. Таблица полученных данных, O

Рис. 3. Таблица ошибок, E

Таким образом, из таблиц можно рассчитать, что средняя ошибка сети составляет 1.95, что говорит о продуктивной работе системы.

После обучения сети можно переходить к прогнозированию данных. Возвращаясь к окну менеджера сетей и данных (Neural Network/Data Мanager), необходимо создать дополнительные входные данные нажатием кнопки New. Перейдя во вкладку Data, имя данных меняется, например, на P1, а значения задаются следующим образом:

[1 2 3 4 5 6; 8 9 10 11 12 13].

Значения 1–6 по-прежнему обозначают номера факультетов, а 8–13 код года с 2008 по 2013, поскольку в размерность массива изначально входит 6 столбцов, значит, для прогнозирования результатов на 2013 год необходимо составить массив из 6 столбцов, включающий в себя этот год.

Далее необходимо вернуться к окну работы с сетью Network. Во вкладке Simulate на месте входных значений выбирается массив P1, а у выходных значений Outputs меняется имя на forecast. После нажатия на кнопку Simulate Network можно вернуться в окно менеджера Neural Network/Data Manager и, нажатием на кнопку Export, скопировать выходной массив forecast в рабочую область Matlab. После получения таблицы в рабочей области, внимание обращается на последний столбец, который отвечает за прогнозирование на 2013 г.

Сравнивая данные, выданные системой, и реальные данные, можно убедиться, что нейронная сеть действительно делает прогнозы, приближенные к реальности (рис. 4).

    

а) данные сети          б) данные из источника

Рис. 4. Сравнение данных, полученных прогнозированием.

Таким образом, можно сделать вывод о том, что созданная нейронная сеть действительно делает прогнозы на будущий год. В сравнении с реальным количеством студентов-отличников за 2013 год средняя ошибка сети составляет 2,7. Но ее можно считать не столь существенной, поскольку закономерностей в реальном распределении студентов не наблюдается.

Представленная работа была применена в обучении студентов, обучающихся на направлении «Информационные системы и технологии», что помогло им ближе познакомиться с процессом создания и обучения нейронных сетей в системе Matlab, а также в разработке собственных приложений с использованием нейросетей.

Литература:

1.                  Семейкин В. Д., Скупченко А. В. Моделирование искусственных нейронных сетей в среде Matlab // Вестник Астраханского Государственного технического университета. Серия: управление, вычислительная техника и информатика. — 2009. — № 1. — С. 159–164.

2.                  Андреев В. О., Савиных Н. В. Интеллектуальные технологии, мягкие вычисления и программные средства их компьютерной реализации // Вестник компьютерных и информационных технологий. — 2006. — № 8. — С. 2–6.

3.                  Донской Д. А. Моделирование нейронных сетей в системе Matlab. — Пенза: ИИЦ ПГУ, 2006. — 155 с.

4.                  Буриченко М. Ю., Иванцев О. Б., Букреева О. В. Использование программного пакета Matlab для построения искусственных сетей нейронных сетей // Електронiка та системи управлiння. — 2011. — № 3 (29). — С. 120–123.

5.                  Андреев В. В., Порфирьева Н. Н., Прохоров А. М., Прохоров А. М. Исследования нейросетевой системы распознавания образов в среде Matlab // Вестник чувашского университета. — 2008. — № 2. — С. 113–120.

6.                  Ballabio, D. and M. Vasighi, 2012. A MATLAB toolbox for Self Organizing Maps and supervised neural network learning strategies. Chemometrics and Intelligent Laboratory Systems, 118: 24–32.

7.                  Neyamadpour, A. and S. Taib, 2009. Using artificial neural networks to invert 2D DC resistivity imaging data for high resistivity contrast regions: A MATLAB application. Computers & Geosciences, 35(11): 2268–2274.

8.                  Kuzmanovski, I. and M. Novic, 2008. Counter-propagation neural networks in Matlab. Chemometrics and Intelligent Laboratory Systems, 90(1): 84–91.

Основные термины (генерируются автоматически): данные, нажатие кнопки, сеть, окно менеджера, рабочая область, нейронная сеть, обучение сети, тип данных, система, Приамурский Государственный Университет.


Похожие статьи

Анализ и прогнозирование успеваемости студентов на основе...

Нейронные сети не программируются в привычном смысле этого слова, они обучаются. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение.

Анализ средств для реализации нейронных сетей на языке...

В данный момент большую популярность в задачах обработки данных получают нейронные сети. Нейронная сеть представляет собой высокопараллельную динамическую систему с топологией направленного графа...

Разработка математической модели нейронной сети

Формирование каждой сети предполагает объем вычислений сети обычно итерационным процессом). только с ростом мощности компьютеров возможность практического нейронных сетей, что мощный толчок к распространению программ, принципы нейросетевой данных.

Применение технологий нейронных сетей для обработки данных...

Для обучения нейронной сети используется алгоритм обратного распространения ошибки [1]. Нетрудно заметить, что концепция ООП хорошо подходит для реализации данного типа сетей.

Исследование возможностей использования нейронных сетей

Преимущества нейронных сетей: Устойчивость к шумам входных данных.

Такой подход к термину «обучение нейронной сети» соответствует и биологическим нейросетям. Наш мозг состоит из огромного количества связанных друг с другом нейросетей.

Использование разработанного алгоритма фрагментации...

коммутаторная нейронная сеть, нейронная сеть, сеть, разработанный алгоритм, нейрон, нейрон сети, система, искусственный интеллект, линия передачи данных, тип элементов.

Распознавание английского текста сверточной нейронной сетью

Математическая модель сверточной нейронной сети. Для описания математической модели рассматриваемой нейронной сети будем использовать следующие обозначения.

Описание базы данных. Для тестирования разработанной системы была использована база данных...

Использование нейронных сетей для повышения надежности...

Задача повышения достоверности данных, в том числе от первичных преобразователей (датчиков), является одной из наиболее важных в системах сбора и обработки информации. При этом наибольшую нестабильность вносят сенсоры и входные преобразователи восприятия...

Формирование нейронной сети | Статья в журнале...

Основные термины (генерируются автоматически): сеть, нейрон, обучение, модель сетей, RBM, OLE, BMP, APT, искусственный интеллект, результат

Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Анализ и прогнозирование успеваемости студентов на основе...

Нейронные сети не программируются в привычном смысле этого слова, они обучаются. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение.

Анализ средств для реализации нейронных сетей на языке...

В данный момент большую популярность в задачах обработки данных получают нейронные сети. Нейронная сеть представляет собой высокопараллельную динамическую систему с топологией направленного графа...

Разработка математической модели нейронной сети

Формирование каждой сети предполагает объем вычислений сети обычно итерационным процессом). только с ростом мощности компьютеров возможность практического нейронных сетей, что мощный толчок к распространению программ, принципы нейросетевой данных.

Применение технологий нейронных сетей для обработки данных...

Для обучения нейронной сети используется алгоритм обратного распространения ошибки [1]. Нетрудно заметить, что концепция ООП хорошо подходит для реализации данного типа сетей.

Исследование возможностей использования нейронных сетей

Преимущества нейронных сетей: Устойчивость к шумам входных данных.

Такой подход к термину «обучение нейронной сети» соответствует и биологическим нейросетям. Наш мозг состоит из огромного количества связанных друг с другом нейросетей.

Использование разработанного алгоритма фрагментации...

коммутаторная нейронная сеть, нейронная сеть, сеть, разработанный алгоритм, нейрон, нейрон сети, система, искусственный интеллект, линия передачи данных, тип элементов.

Распознавание английского текста сверточной нейронной сетью

Математическая модель сверточной нейронной сети. Для описания математической модели рассматриваемой нейронной сети будем использовать следующие обозначения.

Описание базы данных. Для тестирования разработанной системы была использована база данных...

Использование нейронных сетей для повышения надежности...

Задача повышения достоверности данных, в том числе от первичных преобразователей (датчиков), является одной из наиболее важных в системах сбора и обработки информации. При этом наибольшую нестабильность вносят сенсоры и входные преобразователи восприятия...

Формирование нейронной сети | Статья в журнале...

Основные термины (генерируются автоматически): сеть, нейрон, обучение, модель сетей, RBM, OLE, BMP, APT, искусственный интеллект, результат

Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных.

Задать вопрос