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

. Приложение

Опрераторы программы

Функция NEWFF Сеть прямой передачи FF

Синтаксис:

net = newff(PR,[S1 S2...SNI],{TF1 TF2...TFNI},btf,blf,pf)

Описание:

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

Функция net = newff(PR, [SI S2 ... SN1], (TF1 TF2 ... TFN1}, btf, blf, pf) формирует многослойную нейронную сеть.

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

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

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

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

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

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

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

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

net - объект класса network object многослойной нейронной сети.

Свойства сети:

Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.

Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др.

Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечи­вает максимальное быстродействие, но требует значительных ресурсов памяти. Если ре­сурсы памяти недостаточны, воспользуйтесь следующими рекомендациями:

• установите значение свойства net.trainParam.mеm_reduc равным 2 или более, что сни­зит требования к памяти, но замедлит обучение;

• воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm;

• перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbi'g.

Функциями настройки могут быть функции, реализующие метод обратного распро­странения: learngd, learngdm.

Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg.

Пример:

Создать нейронную сеть, чтобы обеспечить следующее отображение последователь­ности входа Р в последовательность целей Т:

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

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

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

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

gensim(net)

Выполним моделирование сети и построим графики сигналов выхода и цели.

Y = sim(net,P);

plot(P, Т, P, Y, 'о')

Обучим сеть в течение 50 циклов:

net.trainParam.epochs = 50;

net = train(net,P,T);

NEWFFTD Динамическая нейронная сеть FFTD

Сеть прямой передачи с запаздыванием

Синтаксис:

net = newfftd(PR, ID, [S1 S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf)

Описание:

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

Функция net = newfftd(PR, ID, [SI S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf) формирует динамическую многослойную нейронную сеть.

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

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

ID - вектор параметров линии задержки на входе сети;

Si - количество нейронов в слое г;

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

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

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

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

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

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

Свойства сети:

Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin.

Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainip, traingd и др.

TRAIN Обучение нейронной сети

Синтаксис:

[net, TR] = train(net,P,T,Pi,Ai)

[net, TR] = train(net,P,T,Pi,Ai,VV,TV)

Описание:

Функция [net, TR] = train(net, P, T, Pi, Ai) является методом для объектов класса network object, который реализует режим обучения нейронной сети. Эта функция характе­ризуется следующими входными и выходными аргументами.

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

net - имя нейронной сети;

Р - массив входов;

Т - вектор целей, по умолчанию нулевой вектор;

Pi - начальные условия на линиях задержки входов, по умолчанию нулевой вектор;

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

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

net - структура объекта network object после обучения; TR - характеристики процедуры обучения:

TR.timesteps - длина последней выборки;

TR.perf - значения функции качества на последнем цикле обучения.

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

Входные аргументы Р и Т могут иметь 2 формата: cell array и double array. Формат cell aray наиболее прост для понимания и соответствует последовательному представлению данных.

GENSIM Формирование S-модели нейронной сети

Синтаксис:

gensim(net, ST)

Описание:

Функция gensim(net, ST) формирует S-модель нейронной сети с именем net для ее за­пуска в среде системы моделирования; аргумент ST задаст такт дискретности, который необхо­дим для моделирования динамических сетей. Если сеть не имеет ЛЗ, т. е. является стати­ческой системой, то значение ST следует задать равным -1, что соответствует неопределенному такту дискретности.

Функции активации:

Purelin – реализует линейную функцию активации во всем диапазоне изменения входного аргумента.

Logsig – реализует сигмоидальную функцию активации

Tansig - реализует гиперболическую тангенциальную функцию активации

Блоки для моделирования системы управления

Transport delay

Блок фиксированной задержки – обеспечивает временную задержку входного сигнала на заданное время.

Параметры блока:

Time delay – время задержки;

Initial input – начальный уровень входа;

Transfer Fcn

Блок передаточной характеристики – создает передаточную функцию H(s)=y(s)/u(s) в виде отношения полиномов заданной степени.

Numerator – вектор коэффициентов полиномов числителя;

Denominator - вектор коэффициентов полиномов знаменателя.

Пример: (s2+2s+3)/(s3+s2+3s+4)

Numerator = [1 2 3];

Denominator = [1 1 3 4].

Ramp

Источник линейно нарастающего воздействия вида F(t)=k*t.

Параметры источника:

Slope — угловой коэффициент временной зависимости k;

Start time — время, начиная с которого воздействие нарастает;

Initial value — начальный уровень воздействия.

Step

Источник воздействия в виде одиночного перепада.

Параметры источника:

Step time — время появления перепада (скачка);

Initial value — начальное значение воздействия (до перепада);

Final value — конечное значение воздействия (после перепада);

Sample time — эталонное время.

Перепад можно задавать как поло­жительным, так и отрицательным. Для задания отрицательного перепада начальное значение должно быть больше, чем конечное. Эти значения могут быть как положительными, так и отрицатель­ными.

Scope

Виртуальный осциллограф позволяет представить результаты моделиро­вания в виде временных диаграмм с оцифрованной масштабной сеткой.

основные параметры вкладки General:

Number of axes — число осей (каналов) осциллографа, позволяет превратить одноканальный осциллограф в многоканальный. При этом осциллограф приобретает несколько входных портов, к которым можно подключать различ­ные сигналы;

Time range — пределы временного интервала;

Tick labels — вывод/скрытие отметок по осям;

Sampling — установка временных соотношений: Decimation (в десятичных долях времени со значением по умолчанию 1) или Sample Time (в тактах эталонного времени, по умолчанию 0).

На вкладке Data history можно задать максимальное число точек осциллограмм для хранения и задать параметры хранения ос­циллограмм.

То Workspace

Блок позволяет записывать входные данные в виде матриц. На каждом такте моделирования формируется колонка, содержа­щая время такта и входные данные.

Блок То Workspace записывает указанную матрицу (но без строки от­счетов времени) в рабочее пространство. Необходимо использовать представление данных в виде массива – Array.

Mux

Блок реализует функцию мультиплексора.

Учебное издание