Функция обучения с весом/смещением 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 |
|
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., and M.E. Hoff, «Adaptive switching circuits», 1960 IRE WESCON Convention Record, New York IRE, pp. 96-104, 1960
Видроу, Б. и С.Д. Стернс, адаптивная обработка сигналов, Нью-Йорк, Prentice Hall, 1985 год
adapt
| linearlayer
| train