learnwh

Функция обучения с весом/смещением Widrow-Hoff

Синтаксис

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

Описание

learnwh является функцией обучения с весом/смещением Widrow-Hoff, а также известен как правило дельты или наименьшего среднего квадрата (LMS).

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

W

S-by- R матрица веса (или b, и 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

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

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

LP.lr — 0.01

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

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

'pnames'

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

'pdefaults'

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

'needg'

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

Примеры

Здесь вы задаете случайный вход P и E ошибок для слоя с двухэлементным входом и тремя нейронами. Вы также задаете скорость обучения LR параметр обучения.

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

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

dW = learnwh([],p,[],[],[],[],e,[],[],[],lp,[])

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

Можно создать стандартную сеть, которая использует learnwh с linearlayer.

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

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

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

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

  4. Установите каждую net.layerWeights{i,j}.learnFcn на 'learnwh'.

  5. Задайте net.biases{i}.learnFcn на 'learnwh'. Каждое свойство параметра обучения по весу и смещению автоматически устанавливается в learnwh параметры по умолчанию.

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

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

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

Алгоритмы

learnwh вычисляет изменение веса dW для данного нейрона из входных данных нейрона P и E ошибок, и скорость обучения с учетом веса (или смещения) LR, согласно правилу обучения Видроу-Гофа:

dw = lr*e*pn'

Ссылки

Widrow, B., and M.E. Hoff, «Adaptive switching circuits», 1960 IRE WESCON Convention Record, New York IRE, pp. 96-104, 1960

Видроу, Б. и С.Д. Стернс, адаптивная обработка сигналов, Нью-Йорк, Prentice Hall, 1985 год

См. также

| |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте