Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc
Скачиваний:
857
Добавлен:
07.03.2016
Размер:
15.55 Mб
Скачать

Рекуррентные сети

logsig, DLOGSIG

Логистическая функция

Блок Simulink:

Синтаксис:

A = logsig(N)

info = logsig(code)

dA_dN = dlogsig(N,A)

Описание:

Функция A = logsig(N)реализует логистическую сигмоидальную функцию активации.

Функция info = logsig(code)сообщает информацию о функцииlogsig.

Функция dA_dN = logsig(N, A) вычисляет производную функцииlogsig.

Пример:

Информация о функции активации logsig:

name = logsig('name')

dname = logsig('deriv')

inrange = logsig('active')

outrange = logsig('output')

name = Log Sigmoid

dname = dlogsig

inrange = –4 4

outrange = 0 1

Построим график функции активации logsig(рис. 11.39):

n = –5:0.1:5;

a = logsig(n);

plot(n,a) % Рис.11.39

Рис. 11.39

Зададим следующий вектор входа логистической функции активации для слоя из трех нейронов и рассчитаем вектор выхода A и производную dA_dN:

N = [0.1; 0.8; –0.7];

A = logsig(N)

dA_dN = dlogsig(N,A)

A =

0.5250

0.6900

0.3318

dA_dN =

0.2494

0.2139

0.2217

Применение функции:

Функция активации logsig используется при формировании нейронных сетей прямой передачи с помощью М-функцийnewffиnewcf. Для задания функции активацииlogsigследует установить значение свойстваnet.layers{i}.transferFcnравным'logsig'.

Алгоритм:

Функция активации logsig и ее производнаяdlogsigопределяются следующими соотношениями:

;

.

Сопутствующие функции: sim, dlogsig, dtansig.

TANSIG, DTANSIG

Гиперболическая тангенциальная функция

Блок Simulink:

Синтаксис:

A = tansig(N)

info = tansig(code)

dA_dN = dtansig(N,A)

Описание:

Функция A = tansig(N) реализует гиперболическую тангенциальную функцию активации.

Функция info = tansig(code)сообщает информацию о функцииtansig.

Функция dA_dN = tansig(N, A) вычисляет производную функцииtansig.

Пример:

Информация о функции активации tansig:

name = tansig('name')

dname = tansig('deriv')

inrange = tansig('active')

outrange = tansig('output')

name = Tan Sigmoid

dname = dtansig

inrange = –2 2

outrange = –1 1

Следующая последовательность команд строит график функции активации tansig:

n = –3:0.1:3;

a = tansig(n);

plot(n,a) % Рис.11.40

Рис. 11.40

Зададим следующий вектор входа гиперболической тангенциальной функции активации для слоя из трех нейронов и рассчитаем вектор выхода Aи производнуюdA_dN:

N = [0.1; 0.8; –0.7];

A = tansig(N)

dA_dN = dtansig(N,A)

A =

0.0997

0.6640

–0.6044

dA_dN =

0.9901

0.5591

0.6347

Применение функции:

Функция активации tansig используется при формировании нейронных сетей прямой передачи с помощью М-функцийnewffиnewcf. Для задания функции активацииtansig следует установить значение свойстваnet.layers{i}.transferFcnравным'tansig'.

Алгоритм:

Функция активации tansig и ее производная dtansigопределяются следующими соотношениями:

;

.

Приведенное выражение для функции tansig(n) математически эквивалентно функции tanh(N), но отличается тем, что выполняется быстрее, чем реализация функции tanh в системе MATLAB. Для нейронных сетей, где быстродействие играет важную роль, это весьма существенно [42].

Сопутствующие функции: sim, dtansig, logsig.