exponenta event banner

learnk

Функция изучения веса Кохонена

Синтаксис

[dW,LS] = learnk(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnk('code')

Описание

learnk - функция изучения веса Кохонена.

[dW,LS] = learnk(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) принимает несколько входов,

W

Sоколо-R весовая матрица (или Sоколо-1 вектор смещения)

P

Rоколо-Q входные векторы (или ones(1,Q))

Z

Sоколо-Q взвешенные входные векторы

N

Sоколо-Q чистые входные векторы

A

Sоколо-Q выходные векторы

T

Sоколо-Q целевые векторы слоев

E

Sоколо-Q векторы ошибок слоев

gW

Sоколо-R градиент в отношении производительности

gA

Sоколо-Q выходной градиент по производительности

D

Sоколо-S расстояния нейронов

LP

Параметры обучения, нет, LP = []

LS

Состояние обучения, первоначально должно быть = []

и возвращает

dW

Sоколо-R матрица изменения веса (или смещения)

LS

Новое состояние обучения

Обучение происходит в соответствии с learnkПараметр learning, показанный здесь со значением по умолчанию.

LP.lr - 0.01

Уровень обучения

info = learnk('code') возвращает полезную информацию для каждого code символьный вектор:

'pnames'

Названия параметров обучения

'pdefaults'

Параметры обучения по умолчанию

'needg'

Возвращает 1, если эта функция используется gW или gA

Примеры

Здесь определяется случайный ввод P, вывод Aи весовая матрица W для слоя с двухэлементным входом и тремя нейронами. Также определите уровень обучения LR.

p = rand(2,1);
a = rand(3,1);
w = rand(3,2);
lp.lr = 0.5;

Поскольку learnk только эти значения необходимы для вычисления изменения веса (см. «Алгоритм» ниже), используйте их для этого.

dW = learnk(w,p,[],[],a,[],[],[],[],[],lp,[])

Использование в сети

Подготовка весов слоя i пользовательской сети для изучения с помощью learnk,

  1. Набор net.trainFcn кому 'trainr'. (net.trainParam автоматически становится trainrПараметры по умолчанию.)

  2. Набор net.adaptFcn кому 'trains'. (net.adaptParam автоматически становится trainsПараметры по умолчанию.)

  3. Установить каждый net.inputWeights{i,j}.learnFcn кому 'learnk'.

  4. Установить каждый net.layerWeights{i,j}.learnFcn кому 'learnk'. (Для каждого свойства параметра weight learning автоматически устанавливается значение learnkПараметры по умолчанию.)

Обучение сети (или возможность ее адаптации),

  1. Набор net.trainParam (или net.adaptParam) требуемые свойства.

  2. Звонить train (или adapt).

Алгоритмы

learnk вычисляет изменение веса dW для данного нейрона из входа нейрона P, вывод Aи скорость обучения LR согласно правилу обучения Кохонена:

dw = lr*(p'-w), если a ~= 0; = 0, в противном случае

Ссылки

Кохонен, Т., Самоорганизующаяся и ассоциативная память, Нью-Йорк, Спрингер-Верлаг, 1984

См. также

| | |

Представлен до R2006a