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

Радиальные базисные сети

RADBAS,DRADBAS

Радиальная базисная функция

Блок Simulink:

Синтаксис:

A = radbas(N)

info = radbas(code)

dA_dN = dradbas(N,A)

Описание:

Функция A = radbas(N) реализует радиальную базисную функцию активации.

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

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

Пример:

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

name = radbas('name')

dname = radbas('deriv')

inrange = radbas('active')

outrange = radbas('output')

name = Radial Basis

dname = dradbas

inrange = –2 2

outrange = 0 1

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

n = –3:0.1:3;

a = radbas(n);

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

Рис. 11.35

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

N = [0.1; 0.8; –0.7];

A = radbas(N)

dA_dN = dradbas(N,A)

A =

0.9900

0.5273

0.6126

dA_dN =

–0.1980

–0.8437

0.8577

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

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

Алгоритм:

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

;

.

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

tribas, DTRIBAS

Треугольная функция активации

Блок Simulink:

Синтаксис:

A = tribas(N)

info = tribas(code)

dA_dN = dtribas(N,A)

Описание:

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

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

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

Пример:

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

name = tribas('name')

dname = tribas('deriv')

inrange = tribas('active')

outrange = tribas('output')

name = Triangle Basis

dname = dtribas

inrange = –1 1

outrange = 0 1

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

n = –2:0.1:2;

a = tribas(n);

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

Рис. 11.36

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

N = [0.1; 0.8; –0.7];

A = tribas(N)

dA_dN = dtribas(N,A)

A =

0.9000

0.2000

0.3000

dA_dN =

–1

–1

–1

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

Для задания функции активации tribas следует установить значение свойстваnet.layers{i}.transferFcnравным'tribas'.

Алгоритм:

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

;

Сопутствующие функции: SIM, RADBAS.

Самоорганизующиеся сети

COMPET

Конкурирующая функция активации

Блок Simulink:

Синтаксис:

A = compet(N)

info = compet(code)

Описание:

Функция A = compet(N) реализует конкурирующую функцию активации.

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

Функция competне имеет производной.

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

Пример:

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

name = compet('name')

dname = compet('deriv')

inrange = compet('active')

outrange = compet('output')

name = Competitive

dname = ''

inrange = –Inf Inf

outrange = 0 1

Зададим следующий вектор входа конкурирующей функции активации, вычислим выход и представим входы и выходы в виде столбцовых диаграмм (рис. 11.37):

n = [0; 1; –0.5; 0.5];

a = compet(n);

subplot(2,1,1), bar(n), ylabel('n')

subplot(2,1,2), bar(a), ylabel('a') % Рис.11.37

Рис. 11.37

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

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

Сопутствующие функции: SIM, SOFTMAX.

softmax

Конкурирующая функция активации с мягким максимумом

Блок Simulink:

Синтаксис:

A = softmax(N)

info = softmax(code)

Описание:

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

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

Функция softmaxне имеет производной.

Пример:

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

name = softmax('name')

dname = softmax('deriv')

inrange = softmax('active')

outrange = softmax('output')

name = Soft Max

dname = ''

inrange = –Inf Inf

outrange = 0 1

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

n = [0; 1; –0.5; 0.5];

a = softmax(n);

subplot(2,1,1), bar(n), ylabel('n')

subplot(2,1,2), bar(a), ylabel('a') % Рис.11.38

Рис. 11.38

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

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

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