Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_IIS2007.doc
Скачиваний:
34
Добавлен:
10.11.2018
Размер:
281.6 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ТВЕРСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «Информационные системы»

Методические указания по лабораторным работам

по дисциплине:

"Интеллектуальные информационные системы"

на тему:

"Нейронные сети в MATLAB 6.1"

Тверь, 2011 г.

Лабораторная работа 1

Каскадная сеть прямой передачи cf в рабочем пространстве matlab.

Для создания каскадной сети используется функция newcf.

Синтаксис:

net = newcf(PR,[S1 S2 … SN],{TF1 TF2 … TFN}, btf, blf pf)

Входные аргументы:

PR – массив размера Rx2 минимальных и максимальных значений для R векторов входа;

Si – количество нейронов в слое i;

TFi – функция активации в слоя I, по умолчанию tansig;

btf – обучающая функция, реализующая метод обратного распространения, по умолчанию trainlm;

blf – функция настройки, реализующая метод обратного распространения, по умолчанию learngdm;

pf – критерии качества обучения, по умолчанию mse;

Выходные аргументы:

net – объект класса network object каскадной нейронной сети с прямой передачей и обучением методом обратного распространения.

Пример.

P = [0 1 2 3 4 5 6 7 8 9 10];

T = [0 1 2 3 4 3 2 1 2 3 4];

net = newcf([0 10], [5 1], {‘tansig’ ‘purelin’});

gensim (net);

Создается каскадная нейронная сеть со следующей архитектурой: каскадная двухслойная сеть с прямой передачей сигнала; первый слой – 5 нейронов с функцией активации tansig; второй слой – 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].

Результат представлен на следующем рисунке.

Д алее обучим сеть в 50 циклов.

Синтаксис:

net.trainParam.epochs = 50;

net = train (net, P, T);

Характеристика точности обучения будет показана в виде графика; установившаяся среднеквадратичная ошибка составляет приблизительно 0,02, что на порядок выше, чем для сети FF.

Выполним моделирование каскадной двухслойной сети, используя обучающую последовательность входа:

Y = sim (net, P);

plot (P, T, P, Y, ‘O’)

Каскадная сеть прямой передачи использует функции взвешивания dotprod, накопления netsum и заданные пользователем функции активации.

Первый каскад характеризуется матрицей весов входа, другие каскады – матрицами весов выхода предшествующего каскада; все каскады имеют смещения. Выход последнего каскада является выходом сети. Веса и смещения инициализируются с помощью М – функции initnw.

Оценка качества обучения основана на функциях оценки качества, выбираемых из списка {mae| mse | msersg | sse}.

Задание.

1. Создать в рабочем пространстве MATLAB каскадную сеть с прямой передачей данных и рассмотреть ее структуру.

2. Обеспечить следующее отображение последовательности входа P в последовательности целей T.

P = [0 1 2 3 4 5 6 7 8 9 10];

T = [0 5 0 0 4 1 8 1 3 3 4];

3. Обучить сеть в 70 циклов.

Лабораторная работа 2

Линейный слой lind в рабочем пространстве matlab.

Для создания линейного слоя LIND используется функция newlind.

Синтаксис:

net = newlind(P, T)

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

Функция net = newlind(P, T) формирует нейронную сеть, используя только обучающие последовательности входа P размера RxQ и цели T размера SxQ. Выходом является объект класса network object с архитектурой линейного слоя.

Пример.

P = [0 : 3];

T = [0.0 2.0 4.1 5.9];

net = newlind(P,T);

gensim (net);

Анализ данных показывает, что требуется найти аппроксимирующую кривую, которая близка к зависимости t = 2*p. Применение линейного слоя LIND в данном случае вполне оправдано.

Значения весов и смещений равны:

net.IW{1}, net.b{1}

ans = 1.9800

ans = 0.3000

Соответствующая аппроксимирующая кривая описывается соотношением

yk = 1.9800rk + 0.3000

Выполним моделирование сформированного линейного слоя:

Y = sim(net, P)

Y = 0.0300 2.0100 3.9900 5.9700

В целом функция newlind вычисляет значения W и смещения В для линейного уровня с входом Р и целью Т, решая линейное уравнение в структуре метода наименьших квадратов:

[W b]*[P;ones] = T.

Задание.

1. Сформировать в рабочем пространстве MATLAB линейный слой LIND, использующего метод наименьших квадратов и рассмотреть его структуру.

2. Задать следующие обучающие последовательности:

P = [1 : (1/3) : 2];

T = [9.0 7.4 8.1 0.5];

3. Выполнить моделирование сформированного линейного слоя.

Y = sim(net,P);

4. Построить графики зависимостей.

Лабораторная работа 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]