Функция изучения веса/смещения Видроу-Хофф
[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 |
|
P |
|
Z |
|
N |
|
A |
|
T |
|
E |
|
gW |
|
gA |
|
D |
|
LP | Изучая параметры, ни один, |
LS | При изучении состояния, первоначально должен быть = |
и возвращается
dW |
|
LS | Новое состояние изучения |
Изучение происходит согласно learnwh
изучение параметра, показанного здесь с его значением по умолчанию.
LP.lr — 0.01 | Скорость обучения |
info = learnwh('
возвращает полезную информацию для каждого code
')code
символьный вектор:
'pnames' | Имена изучения параметров |
'pdefaults' | Параметры изучения значения по умолчанию |
'needg' | Возвращается 1, если эта функция использует |
Здесь вы задаете случайный вход 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
,
Установите net.trainFcn
к 'trainb'
. net.trainParam
автоматически становится trainb
параметры по умолчанию.
Установите net.adaptFcn
к 'trains'
. net.adaptParam
автоматически становится trains
параметры по умолчанию.
Установите каждый net.inputWeights{i,j}.learnFcn
к 'learnwh'
.
Установите каждый net.layerWeights{i,j}.learnFcn
к 'learnwh'
.
Установите net.biases{i}.learnFcn
к 'learnwh'
. Каждый вес и смещение, изучающее свойство параметра, автоматически установлены в learnwh
параметры по умолчанию.
Обучать сеть (или позволять ему адаптироваться),
Установите net.trainParam
(или net.adaptParam
) свойства к требуемым значениям.
Вызовите 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
adapt
| linearlayer
| train