Читать практическое задание по Отсутствует: "Решение задач с использованием нейронных сетей в Matlab" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Министерство образование и науки РФ

ГОУ ВПО «Ивановский государственный химико-технологический университет»

Кафедра Информатики и вычислительной техники

Лабораторная работа № 7

Тема Решение задач с использованием нейронных сетей в Matlab

Выполнили:

Романычева, Стрельников Цель работы Освоение технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Задание №1 Создать нейронную сеть, реализующую функциональную зависимость Y =

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

-этап: «Подготовка данных для обучения сети»:

В первую очередь необходимо определиться с размерностью входного массива. Выберем количество значений функции равным N = 21, т.е. в качестве входных векторов массива используем значения функции y в точках х = 0;0.05; …1.0. Для обучения сети необходимо сформировать массив входных векторов для различных наборов параметров c, a и s. Каждый набор этих параметров является вектором-эталоном для соответствующего входного вектора.

Для подготовки входного и эталонного массивов воспользуемся следующим алгоритмом. Выбираем случайным образом значения компонент вектора - эталона С, A, B и вычисляем компоненты соответствующего входного вектора. Повторяем эту процедуру М раз и получаем массив входных векторов в виде матрицы размерностью N x M и массив векторов - эталонов в виде матрицы размерностью в нашем случае 3 х М. Полученные массивы мы можем использовать для обучения сети. Прежде чем приступать к формированию обучающих массивов, необходимо определиться с некоторыми свойствами массивов. Диапазон изменения параметров С, A, B. Выберем диапазоны изменения параметров C, A, B равными (0.1, 1). Значения, близкие к 0 и сам 0 исключим в связи с тем, что функция не определена при C = 0. Второе ограничение связано с тем, что при использовании типичных передаточных функций желательно, чтобы компоненты входных и выходных векторов не выходили за пределы диапазона (-1,1). В противном случае можно использовать методы нормировки, которые позволяют обойти это ограничение. Количество входных и эталонных векторов выберем равным М = 100.

Этого достаточно для обучения, а процесс обучения не займет много времени.

Сценарий формирования массива

% формирование массивов (входной массив P и эталоны T)

P=zeros(100,21);=zeros(3,100);=0:5.e-2:1;i=1:100=0.9*rand+0.1;=0.9*rand+0.1;=0.9*rand+0.1; =0.9*rand+0.1; (1,i)=c;(2,i)=a;(3,i)=b;(4,i)=x;(i,:)=a./(b+x.^c);

end; =P';

этап - Создание сети

Создадим следующую нейроную сеть: net=newff(minmax(P),[10,15,3],{'logsig','logsig','purelin'},'trainlm'); Где 25-это кол-во нейронов в 1-ом слое, 35-во втором, 40-в 3-ем, а 3 соответствует кол-во выходных параметров, мы применяем 1 функцию - logsig(экспонинцеальная), 2 - pureline (линейная), и 1- tansig.

Первый аргумент - матрица 21 ´ 2 минимальных и максимальных значений сигнала на каждом из входов - вычисляется с помощью процедуры minmax. Результатом выполнения процедуры newff является объект - нейронная сеть net заданной конфигурации. В данном случае мы выбираем обучение по методу: связанных градиентов Пауэлла-Била.

этап - Обучение сети.

Следующий шаг - обучение созданной сети. Перед обучением необходимо задать


Интересная статья: Основы написания курсовой работы