Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 300095.doc
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
345.6 Кб
Скачать

2.4. Функции создания нейронных сетей

• network – функция создания нейронной сети пользователя. Запись:

net = network

net = network(numInputs, numLayers, biasConnect, inputConnect, 1ayerConnect, outputConnect, targetConnect)

Описание. Функция возвращает созданную нейронную сеть с именем net и со следующими характеристиками (в скобках даны значения по умолчанию):

numInputs – количество входов (0);

numLayers – количество слоев (0);

biasConnect – булевский вектор с числом элементов, равным количеству слоев (нули);

inputConnect – булевская матрица с числом строк, равным количеству слоев, и числом столбцов, равным количеству входов (нули);

layerConnect – булевская матрица с числом строк и столбцов, равным количеству слоев (нули);

outputConnect – булевский вектор-строка с числом элементов, равным количеству слоев (нули);

targetConnect – вектор-строка такая же, как предыдущая (нули).

• net = newc(PR,S,KLR,CLR) – функция создания слоя Кохонена. Функция использует следующие аргументы:

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

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

KLR – коэффициент обучения Кохонена (по умолчанию 0,01);

CLR – коэффициент «справедливости» (по умолчанию 0,001).

Функция возвращает слой Кохонена с заданным именем.

• net = newcf(PR,[S1 S2…SN1],{TF1 TF2...TFN1},BTF, BLF,PF) – функция создания разновидности многослойной НС с обратным распространением ошибки – так называемой каскадной НС. Такая сеть содержит N1 скрытых слоев, использует входные функции типа dotprod и netsum, инициализация сети осуществляется функцией initnw. Аргументы функции:

PR – матрица размера R2 минимальных и максимальных значений R входных элементов;

Si – размер i-го скрытого слоя, для N1 слоев;

TFi – функция активации нейронов i-го слоя, по умолчанию 'tansig';

BTF – функция обучения сети, по умолчанию 'trainlm';

BLF – функция настройки весов и смещений, по умолчанию 'learngdm';

PF – функция ошибки, по умолчанию 'mse'.

• net = newhop(T) – функция создания сети Хопфилда. Использует только один аргумент:

Т – матрица размера RQ, состоящая из Q целевых векторов (значения элементов должны быть +1 или –1).

• net = newp(PR,S,TF,LF) – функция создания персептрона. Аргументы:

PR – матрица размера R2 минимальных и максимальных значений для R входных элементов,

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

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

LF – функция обучения, по умолчанию 'lеаrnр'.

2.5. Функции использования нейронных сетей

• [Y,Pf,Af] = sim(net,P,Pi,Ai) – функция, моделирующая работу нейронной сети. Аргументы:

net – имя сети, Р – ее входы;

Pi – массив начальных условий входных задержек (по умолчанию они нулевые);

Ai – массив начальных условий задержек слоя нейронов (по умолчанию они нулевые).

Функция возвращает значения выходов Y и массивы конечных условий задержек Pf, Af. Аргументы Pi, Ai, Pf, Af используются только в случаях, когда сеть имеет задержки по входам или по слоям нейронов. Структура данных аргументов:

Р – массив размером NiTS, каждый элемент которого P{i, ts) является матрицей размером RiQ;

Pi – массив размером NiID, каждый элемент которого Pi{i,k) (i-й вход в момент ts=k–ID) является матрицей размером RiQ (no умолчанию – ноль);

Ai – массив размером NlLD, каждый элемент которого Ai{i,k) (выход i-го слоя в момент ts=k–LD) является матрицей размером SiQ (по умолчанию – ноль);

Y – массив размером NoTS, каждый элемент которого Y{i,ts) является матрицей размером UiQ;

Pf – массив размером NiID, каждый элемент которого Pf{i,k} (i-й вход в момент ts=TS+k–ID) является матрицей размером RiQ;

Af – массив размером NlLD, каждый элемент которого Af{i,k} (выход i-гo слоя в момент ts=TS+k–LD) является матрицей размером SiQ.

При этом:

Ni = net.numInputs – количество входов сети;

Nl = net.numLayers – количество ее слоев;

No = net.numOutputs – количество выходов сети;

ID = net.numInputDelays – входные задержки;

LD = net.numLayerDelays – задержки слоя;

TS – число временных интервалов;

Q – размер набора подаваемых векторов;

Ri = net.inputs {i}.size – размер i-го вектора входа;

Si = net.layers {i}.size – размер i-го слоя;

Ui = net.outputs {i}.size – размер i-го вектора выхода.

• net = init(net) – функция инициализирует нейронную сеть с именем net, устанавливая веса и смещения сети в соответствии с установками net.initFcn и net.initParam.

• [net,tr] = train(net,P,T,Pi,Ai) – функция осуществляет обучение НС в соответствии с установками net.trainFcn и net.trainParam. Здесь tr – информация о выполнении процесса обучения (количество циклов и соответствующая ошибка обучения).

• disp(net) – функция возвращает развернутую информацию о структуре и свойствах НС.