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

Персептроны в рабочем пространстве matlab

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

Синтаксис:

net = newp(PR,s,tf,lf)

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

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

s – число нейронов;

tf – функция активации – hardlim или hardlims, по умолчанию hardlim;

lf – обучающая функция – learnp или learnpn, по умолчанию learnp.

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

net – объект класса network object.

Пример.

net = newp([0 1; 0 1], 1);

Создается персептрон с одним нейроном, входной вектор которого имеет 2 элемента, значения которых не выходят за пределы диапазона (0, 1).

Для просмотра и установки весов и смещений используются, соответственно, функции net.IW{i} и net.b{i}, где i – номер нейрона, для которого устанавливаются веса или смещение.

Адаптация персептрона осуществляется с помощью функции adapt.

Синтаксис:

net = adapt(net, P,T)

где net – адаптируемая нейронная сеть,

P – последовательность векторов входа,

T – последовательность целей.

Число проходов адаптации устанавливается следующим образом:

net.adaptParam.passes = n;

где n – число проходов адаптации.

Моделирование персептрона осуществляется с помощью функции sim.

Синтаксис:

Y = sim(net,P)

где net – моделируемая нейронная сеть,

P – последовательность векторов входа,

Y – последовательность результатов.

Задание.

1. Создать в рабочем пространстве MATLAB персептрон и просмотреть его структуру с помощью функции gensim(net).

2. Обучить персептрон выполнению одной из логических операций и промоделировать его.

Последовательность векторов входа подготовит в виде:

P = [0 0 0 1; 1 0 11];

Последовательность целей подготовить в виде, например (для операции И):

T = [0 0 0 1];

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

Сети прямой передачи в рабочем пространстве matlab

Для создания многослойных нейронных сетей прямой передачи сигнала используется функция newff.

Синтаксис:

net = newff(PR,[S1 S1…SNI],{TF1 TF2…TFN},btf,blf,pf)

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

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

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

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

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

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

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

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

net – объект класса network object.

Пример.

net = newff([0 10],[5 1], {'tansig' 'purelin'});

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

Обучение сети осуществляется с помощью функции train.

Синтаксис:

net = train(net, P,T)

где net – обучаемая нейронная сеть,

P – последовательность векторов входа,

T – последовательность целей.

Число эпох обучения устанавливается следующим образом:

net.trainParam.epochs = n;

где n – число эпох обучения.

В процессе обучения автоматически составляется график ошибки сети в зависимости от номера эпохи.

Задание.

1. Создать в рабочем пространстве MATLAB двухслойную нейронную сеть с прямой передачей сигнала; число нейронов на втором слое –1; на первом – варьируется; функции активации – tansig, purelin.

2. Задать последовательности входов и целей. Например:

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

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

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

Y = sim(net,P);

Построить графики сигналов выхода и цели:

plot(P, T, P, Y, 'o')

4. Обучить сеть в течение, например, 50 циклов.

  1. Промоделировать обученную сеть и построить графики.

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