exponenta event banner

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

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

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

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, согласно правилу обучения Widrow-Hoff:

dw = lr*e*pn'

Ссылки

Widrow, B. и M.E. Hoff, «Адаптивные схемы коммутации», 1960 IRE WESCON Convention Record, New York IRE, pp. 96-104, 1960

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

См. также

| |

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