Обработайте самоорганизующуюся функцию изучения веса карты в пакетном режиме
[dW,LS] = learnsomb(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnsomb('code
')
learnsomb
является пакетной самоорганизующейся функцией изучения веса карты.
[dW,LS] = learnsomb(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 | Новое состояние изучения |
Изучение происходит согласно изучению learnsomb
параметра, показанного здесь с его значением по умолчанию:
LP.init_neighborhood | 3 | Начальный размер окружения |
LP.steps | 100 | Упорядоченное расположение шагов фазы |
info = learnsomb('
возвращает полезную информацию для каждого вектора символов code
')code
:
'pnames' | Возвращает имена изучения параметров. |
'pdefaults' | Возвращает параметры изучения значения по умолчанию. |
'needg' | Возвращает |
Этот пример задает случайный вход P
, вывод A
и матрицу веса W
для слоя с входом с 2 элементами и 6 нейронами. Этот пример также вычисляет положения и расстояния для нейронов, которые появляются в 2 3 шестиугольном шаблоне.
p = rand(2,1); a = rand(6,1); w = rand(6,2); pos = hextop(2,3); d = linkdist(pos); lp = learnsomb('pdefaults');
Поскольку learnsom
только нужны эти значения, чтобы вычислить изменение веса (см. Алгоритм).
ls = []; [dW,ls] = learnsomb(w,p,[],[],a,[],[],[],[],d,lp,ls)
Можно создать стандартную сеть, которая использует learnsomb
с selforgmap
. Подготовить веса слоя i пользовательской сети, чтобы учиться с learnsomb
:
Установите NET.trainFcn
на 'trainr'
. (NET.trainParam
автоматически становится параметрами trainr
по умолчанию.)
Установите NET.adaptFcn
на 'trains'
. (NET.adaptParam
автоматически становится параметрами trains
по умолчанию.)
Установите каждый NET.inputWeights{i,j}.learnFcn
на 'learnsomb'
.
Установите каждый NET.layerWeights{i,j}.learnFcn
на 'learnsomb'
. (Каждый вес, изучающий свойство параметра, автоматически установлен в параметры learnsomb
по умолчанию.)
Обучать сеть (или позволять ему адаптироваться):
Установите NET.trainParam
(или NET.adaptParam
) свойства, как желаемый.
Вызовите train
(или adapt
).
learnsomb
вычисляет изменения веса так, чтобы новый вектор веса каждого нейрона был взвешенным средним входных векторов, что нейрон и нейроны в его окружении ответили на с выводом 1.
Фаза упорядоченного расположения длится столько же шагов сколько LP.steps
.
Во время этой фазы окружение постепенно уменьшается от максимального размера LP.init_neighborhood
вниз к 1
, где это остается с тех пор.
adapt
| selforgmap
| train