Самоорганизующаяся функция изучения веса карты
[dW,LS] = learnsom(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnsom('code
')
learnsom
является самоорганизующейся функцией изучения веса карты.
[dW,LS] = learnsom(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 | Новое состояние изучения |
Изучение происходит согласно изучению learnsom
параметров, показанных здесь с их значениями по умолчанию.
LP.order_lr | 0.9 | Упорядоченное расположение темпа обучения фазы |
LP.order_steps | 1000 | Упорядоченное расположение шагов фазы |
LP.tune_lr | 0.02 | Настройка темпа обучения фазы |
LP.tune_nd | 1 | Настройка расстояния окружения фазы |
info = learnsom('
возвращает полезную информацию для каждого вектора символов code
')code
:
'pnames' | Имена изучения параметров |
'pdefaults' | Параметры изучения значения по умолчанию |
'needg' | Возвращается 1, если эта функция использует |
Здесь вы задаете случайный вход P
, вывод A
и матрицу веса W
для слоя с двухэлементным входом и шестью нейронами. Вы также вычисляете положения и расстояния для нейронов, которые располагаются в 2 3 шестиугольном шаблоне. Затем вы задаете четыре параметра изучения.
p = rand(2,1); a = rand(6,1); w = rand(6,2); pos = hextop(2,3); d = linkdist(pos); lp.order_lr = 0.9; lp.order_steps = 1000; lp.tune_lr = 0.02; lp.tune_nd = 1;
Поскольку learnsom
только нужны эти значения, чтобы вычислить изменение веса (см. “Алгоритм” ниже), используйте их, чтобы сделать так.
ls = []; [dW,ls] = learnsom(w,p,[],[],a,[],[],[],[],d,lp,ls)
learnsom
вычисляет изменение веса dW
для данного нейрона от входа P
нейрона, активация A2
и темп обучения LR
:
dw = lr*a2*(p'-w)
где активация A2
найдена от слоя выводом A
, расстояния нейрона D
и текущий размер окружения ND
:
a2(i,q) = 1, if a(i,q) = 1 = 0.5, if a(j,q) = 1 and D(i,j) <= nd = 0, otherwise
Темп обучения LR
и размер окружения NS
изменен через две фазы: фаза упорядоченного расположения и настраивающаяся фаза.
Фазы упорядоченного расположения длятся столько же шагов сколько LP.order_steps
. Во время этой фазы LR
настроен от LP.order_lr
вниз к LP.tune_lr
, и ND
настроен от максимального расстояния нейрона вниз до 1. Именно во время этой фазы веса нейрона, как ожидают, прикажут себя на входном пробеле, сопоставимом со связанными положениями нейрона.
Во время настраивающихся уменьшений фазы LR
медленно от LP.tune_lr
и ND
всегда устанавливается в LP.tune_nd
. Во время этой фазы веса, как ожидают, распространятся относительно равномерно по входному пробелу при сохранении их топологического порядка, определенного во время фазы упорядоченного расположения.