Главная » Просмотр файлов » Моделирование нейронных сетей в Matlab (2010)

Моделирование нейронных сетей в Matlab (2010) (1245259)

Файл №1245259 Моделирование нейронных сетей в Matlab (2010) (Моделирование нейронных сетей в Matlab (2010))Моделирование нейронных сетей в Matlab (2010) (1245259)2021-01-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Федеральное агентство по образованиюГосударственное образовательное учреждениевысшего профессионального образования«Омский государственный технический университет»МОДЕЛИРОВАНИЕ НЕЙРОННЫХ СЕТЕЙ В MATLABМетодические указания к лабораторной работеСоставитель: Федотов А.В., к.т.н., доцентОмск 2010Цель работы: Знакомство со средствами и методами MATLAB и пакета Simulink для моделирования и исследования нейронных сетей. Применение нейронных сетей для аппроксимации функций.Используемые средства: Персональный компьютер с инсталлированной системой MATLAB 6.5 или старшей версии.ОБЩИЕ СВЕДЕНИЯТипичный пример сети с прямой передачей сигнала показан на рисунке.

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

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

Процесс настройки сети получил название«обучение сети». Перед началом обучения связям присваиваются небольшиеслучайные значения. Каждая итерация процедуры состоит из двух фаз. Вовремя первой фазы на сеть подается входной вектор путем установки в нужное состояние входных элементов. Затем входные сигналы распространяютсяпо сети, порождая некоторый выходной вектор. Для работы алгоритма требуется, чтобы характеристика вход-выход нейроподобных элементов была неубывающей и имела ограниченную производную. Обычно для этого используют сигмоидную нелинейность.2Известные типы сетей:* Однослойный перцептрон;* Многослойный перцептрон;* Сеть Хэмминга;* Сеть Ворда;* Сеть Хопфилда;* Сеть Кохонена;* Когнитрон;* Неокогнитрон.ВЫПОЛНЕНИЕ РАБОТЫ1. Работа с нейронной сетью в командном режимеВыполним исследование нейронной сети для аппроксимации выбранной функции, используя функции пакета Neural Networks Toolbox .

В составпакета входит более 160 различных функций, дающих возможность создавать, обучать и исследовать нейронные сети.Для выполнения работы необходимо запустить MATLAB и перейти вкомандное окно.Создадим обобщенно-регрессионную НС (сеть типа GR N N ) с именема, реализующую функциональную зависимость между входом и выходомвида у = х2 на отрезке [-1, 1], используя следующие экспериментальные данные:х = [-1 -0.8 -0.5 -0.2 0 0.1 0.3 0.6 0.9 1],у = [1 0.64 0.25 0.04 0 0.01 0.09 0.36 0.81 1].Проверку качества восстановления приведенной зависимости осуществим, используя данные контрольной выборки x1 = [-0.9 -0.7 -0.3 0.4 0.8], которым соответствуют значения y1 = [0.81 0.49 0.09 0.16 0.64].Процедура создания и использования данной НС описывается следующим образом:>> x = [-1 -0.8 -0.5 -0.2 0 0.1 0.3 0.6 0.9 1];>> % Задание входных значений>> у = [1 0.64 0.25 0.04 0 0.01 0.09 0.36 0.81 1];>> % Задание целевых значений>> a=newgrnn(х,у,0.01); % Создание НС с отклонением0.01>> Y1 = sim(а,[-0.9 -0.7 -0.3 0.4 0.8]) % Опрос НСY1 =0.8200 0.6400 0.0400 0.0900 0.8100Как видно, точность аппроксимации в данном случае получилась неочень высокой — максимальная относительная погрешность аппроксимациисоставляет 30,61 %.3Можно попытаться улучшить качество аппроксимации за счет подборавеличины отклонения, но в условиях примера приемлемый результат легкодостигается при использовании сети с радиальными базисными элементамитипа newrbe:>> a=newrbe(х,у);>>Yl = sim(a,[-0.9 -0.7 -0.3 0.4 0.8]) % Опрос НСY1 =0.8100 0.4900 0.0900 0.1600 0.6400Нетрудно видеть, что применение сети типа newrb приводит здесь непросто к интерполяции заданных обучающей выборкой значений, а действительно к точному восстановлению заданной зависимости — по крайней мере,для использованных точек контрольной последовательности.Созданную сеть можно сохранить для последующего использованиянабором в командной строке команды save ('а'); при этом будет создан файлa.mat, то есть файл с именем НС и расширением mat.

В последующих сеансах работы эту сеть можно загрузить, используя функцию load (' а'). Естественно, допустимы все другие формы записи операторов save и load.Рассмотрим теперь задачу восстановления некоторой, вообще говоря,неизвестной зависимости по имеющимся экспериментальным данным с использованием линейной НС.Пусть экспериментальная информация задана значениямих = [1.0 1.5 3.0 -1.2], у = [0.5 1.1 3.0 -1.0].Создадим векторы входа и целей:>> х = [1.0 1.5 3.0 -1.2];>> у = [0.5 1.1 3.0 -1.0];Теперь создадим линейную нейронную сеть:>> b=newlind(х,у); % Создание линейной НС с именем bПроведем опрос сети для значения входа, равного 3.0 (этому, согласноэкспе¬риментальным данным, соответствует целевое значение 3.0):>> y1 = sim(b, 3.0) % Опрос сетиy1 =2.7003Погрешность восстановления по данным обучающей выборки в данномслучае - 10%.

Отметим, что в условиях как первого, так и второго примерадать какую-либо оценку предельной величине погрешности аппроксимации4невозможно, особенно для значений входов, выходящих за пределы диапазона входов обучающей последовательности. К сожалению, это является характерной особенностью нейросетевых моделей. Для подавляющего числа задач, решаемых с помощью аппарата нейронных сетей ˗ не только для задачклассификации или прогноза ˗ каких-либо вероятностных оценок точностиполучаемых решений получить не удается.2.

Использование GUI-интерфейса пакета нейронных сетей2.1. Создание нейронной сетиСоздадим, используя графический интерфейс пользователя, нейроннуюсеть для выполнения операции у = х2 при задании векторов входах = [-1 -0.8 -0.5 -0.2 0 0.1 0.3 0.6 0.9 1]и целиу = [1 0.64 0.25 0.04 0 0.01 0.09 0.36 0.81 1].Для открытия основного окна интерфейса необходимо в командномокне MATLAB ввести команду>> nntoolВыполнение команды приведет к открытию окна создания нейроннойсети Network/Data Manager.Сформируем последовательность входов и целей в рабочей областиGUI-интерфейса, используя окно Create New Data.С этой целью сначала нажмем кнопку New Data,5далее в поле Name окна Create New Dataвведем сначала имя переменной х,затем в области значений Value вектор значений[-1 - 0.8 - 0.5 - 0.2 0 0.1 0.3 0.6 0.9 1]и, используя радиокнопку Inputs (в правой части окна), укажем тип переменных (Inputs — Входы).Ввод завершим нажатием радиокнопки Create (Создать).Аналогичную операцию проделаем для вектора у, с указанием (с помощью радиокнопки Targets), что это — вектор целевых данных.Создадим новую нейронную сеть.Для этого в окне Network/Data Manager нажмем кнопку New Network.В открывшемся окне Create New Network выберем нейронную сетьтипа feed-forward backprop с прямой передачей сигнала и с обратным распространением ошибки.При создании сети сохраним ей имя, даваемое по умолчанию(network1).Диапазон входов определим (в окне Create New Network) с помощьюопции Get from input.Количество нейронов (Number of neurons) первого слоя (Layer 1) установим равным двум.Остальные установки при создании сети оставим по умолчанию.Создание сети завершим нажатием кнопки Create.После этого в окне Network/Data Manager, в области Networks появится имя новой созданной сети — network1.

Выберем это имя с помощьюмышки, что приведет к активизации всех кнопок указанного окна.Выполним инициализацию сети, для чего с помощью кнопкиInitialize... выберем закладку Initialize. Это приведет к открытию диалоговойпанели Network: network1.67Для ввода в панели Network: network1 установленных диапазонов иинициализации весов воспользуемся кнопками Set Ranges (Установитьдиапазоны) и Initialize Weights (Инициализировать веса). Если требуетсявернуться к прежним диапазонам, то следует выбрать кнопки Revert Ranges(Вернуть диапазоны) и Revert Weights (Вернуть веса), но в условиях примера это не нужно.2.2. Обучение нейронной сетиДля обучения созданной сети, выбирается закладка Train в панелиNetwork: network1 и открывается новая диалоговая панель.Панель имеет три закладки:Training Info (Информация об обучающих последовательностях);Training Parameters (Параметры обучения);Optional Info (Дополнительная информация).Применяя эти закладки, можно установить имена последовательностейвхода и цели (на вкладке Training Info — в левой ее части необходимо указать х и у), а также значения параметров процедуры обучения (на вкладкеTraining Parameters; в условиях примера сохраним значения по умолчанию).На вкладке Optional Info следует указать переменные x и y в качествеValidation Data и Test Data.8Теперь нажатие кнопки Train Network вызывает обучение сети.

Качество обучения сети на выбранной обучающей последовательности отображается графиком. Видно, что к концу процесса обучения ошибка становитсяочень малой (вид данного рисунка при повторе вычислений может отличаться от приведенного).Результаты обучения можно просмотреть в окне Network/Data Manager, активизируя имена последовательностей выходов network1_outputs илиошибок network1_errors, и используя кнопку View.Следует отметить, что в данном случае точность аппроксимации заданной функции получилась не очень высокой — максимальная абсолютная погрешность составляет 0.055, относительная — 5.5%, в чем можно убедиться,просмотрев значения ошибок (networkl_errors) или выходов (network1_outputs) сети.Заметим, что точность аппроксимации здесь можно было бы повысить,конструируя сеть с большим числом нейронов, но при этом необходима иболее представительная обучающая выборка.2.3. Работа с созданной сетьюДля просмотра структурной схемы сети необходимо, выбрав имя сети(network1), воспользоваться кнопкой View.9При необходимости можно экспортировать созданную нейронную сетьв рабочую область системы MATLAB (нажав кнопку Export и далее, в открывшемся окне Export or Save from Network/Data Manager, — кнопки Select All (Выбрать все) и Export) и получить информацию о весах и смещениях непосредственно в рабочем окне системы, выполнив команду:> > n e t wo r k 1 .

Характеристики

Тип файла
PDF-файл
Размер
662,55 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее