Функция обучения с весом/смещением 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