Функция изучения веса Outstar
[dW,LS] = learnos(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnos('code')
learnos является outstar функцией изучения веса.
[dW,LS] = learnos(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 | Новое состояние изучения |
Изучение происходит согласно изучению learnos параметра, показанного здесь с его значением по умолчанию.
LP.lr - 0.01 | Темп обучения |
info = learnos(' возвращает полезную информацию для каждого вектора символов code')code:
'pnames' | Имена изучения параметров |
'pdefaults' | Параметры изучения значения по умолчанию |
'needg' | Возвращается 1, если эта функция использует |
Здесь вы задаете случайный вход P, вывод A и матрицу веса W для слоя с двухэлементным входом и тремя нейронами. Также задайте темп обучения LR.
p = rand(2,1); a = rand(3,1); w = rand(3,2); lp.lr = 0.5;
Поскольку learnos только нужны эти значения, чтобы вычислить изменение веса (см. “Алгоритм” ниже), используйте их, чтобы сделать так.
dW = learnos(w,p,[],[],a,[],[],[],[],[],lp,[])
Подготовить веса и смещение слоя i пользовательской сети, чтобы учиться с learnos,
Установите net.trainFcn на 'trainr'. (net.trainParam автоматически становится параметрами trainr по умолчанию.)
Установите net.adaptFcn на 'trains'. (net.adaptParam автоматически становится параметрами trains по умолчанию.)
Установите каждый net.inputWeights{i,j}.learnFcn на 'learnos'.
Установите каждый net.layerWeights{i,j}.learnFcn на 'learnos'. (Каждый вес, изучающий свойство параметра, автоматически установлен в параметры learnos по умолчанию.)
Обучать сеть (или позволять ему адаптироваться),
Установите net.trainParam (или net.adaptParam) свойства к требуемым значениям.
Вызовите train (adapt).
learnos вычисляет изменение веса dW для данного нейрона от входа P нейрона, вывода A и темпа обучения LR согласно outstar изучение правила:
dw = lr*(a-w)*p'
Grossberg, S., исследования Мышления и мозга, Drodrecht, Голландия, нажатия Reidel, 1982