learnwh

Функция изучения веса/смещения Видроу-Хофф

Синтаксис

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

Описание

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

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

W

S- матрица (или 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- градиент относительно производительности

gA

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

D

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

LP

Изучая параметры, ни один, LP = []

LS

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

и возвращается

dW

S- (или смещение) изменяют матрицу

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. и М. Хофф, “Адаптивные переключающие схемы”, 1 960 IRE Запись Соглашения WESCON, нью-йоркский IRE, стр 96–104, 1960

Widrow, B. и S.D. Кормы, адаптивная обработка сигналов, Нью-Йорк, Prentice Hall, 1985

Смотрите также

| |

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