learnis

Функция мгновенного обучения весу

Синтаксис

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

Описание

learnis - функция мгновенного обучения весом.

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

W

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

P

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

Z

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

N

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

A

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

T

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

E

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

gW

S-by- R градиент относительно эффективности

gA

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

D

S-by- S нейронные расстояния

LP

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

LS

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

и возвращает

dW

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

LS

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

Обучение происходит согласно learnis"s параметр обучения, показанный здесь с его значением по умолчанию.

LP.lr - 0.01

Скорость обучения

info = learnis('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;

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

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

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

Чтобы подготовить веса и смещение слоя i пользовательской сети, чтобы она могла учиться с learnis,

  1. Задайте net.trainFcn на 'trainr'. (net.trainParam автоматически становится trainr"параметры по умолчанию.)

  2. Задайте net.adaptFcn на 'trains'. (net.adaptParam автоматически становится trains"параметры по умолчанию.)

  3. Установите каждую net.inputWeights{i,j}.learnFcn на 'learnis'.

  4. Установите каждую net.layerWeights{i,j}.learnFcn на 'learnis'. (Каждое свойство параметра весового обучения автоматически устанавливается на learnis"параметры по умолчанию.)

Чтобы обучить сеть (или включить ее для адаптации),

  1. Задайте net.trainParam (net.adaptParam) свойства до желаемых значений.

  2. Функции train (adapt).

Алгоритмы

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

dw = lr*a*(p'-w)

Ссылки

Grossberg, S., Studies of the Mind and Brain, Drodrecht, Holland, Reidel Press, 1982

См. также

| | |

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