Пакетная функция самоорганизующегося обучения весу карты
[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"s параметр обучения, показанный здесь со значением по умолчанию:
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