learnk

Функция изучения веса Kohonen

Синтаксис

[dW,LS] = learnk(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnk('code')

Описание

learnk является функцией изучения веса Kohonen.

[dW,LS] = learnk(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) берет несколько входных параметров,

W

S- матрица (или S-by-1 смещают вектор),

P

R-by-Q входные векторы (или ones(1,Q))

Z

S-by-Q взвешенные входные векторы

N

S-by-Q сетевые входные векторы

A

S-by-Q выходные векторы

T

S-by-Q слой предназначается для векторов

E

S-by-Q вектора ошибок слоя

gW

S-by-R градиент относительно производительности

gA

S-by-Q выходной градиент относительно производительности

D

S-by-S расстояния нейрона

LP

Изучая параметры, ни один, LP = []

LS

При изучении состояния, первоначально должен быть = []

и возвращается

dW

S- (или смещение) изменяют матрицу

LS

Новое состояние изучения

Изучение происходит согласно изучению learnk параметра, показанного здесь с его значением по умолчанию.

LP.lr - 0.01

Темп обучения

info = learnk('code') возвращает полезную информацию для каждого вектора символов code:

'pnames'

Имена изучения параметров

'pdefaults'

Параметры изучения значения по умолчанию

'needg'

Возвращается 1, если эта функция использует gW или gA

Примеры

Здесь вы задаете случайный вход P, вывод A и матрицу веса W для слоя с двухэлементным входом и тремя нейронами. Также задайте темп обучения LR.

p = rand(2,1);
a = rand(3,1);
w = rand(3,2);
lp.lr = 0.5;

Поскольку learnk только нужны эти значения, чтобы вычислить изменение веса (см. “Алгоритм” ниже), используйте их, чтобы сделать так.

dW = learnk(w,p,[],[],a,[],[],[],[],[],lp,[])

Сетевое использование

Подготовить веса слоя i пользовательской сети, чтобы учиться с learnk,

  1. Установите net.trainFcn на 'trainr'. (net.trainParam автоматически становится параметрами trainr по умолчанию.)

  2. Установите net.adaptFcn на 'trains'. (net.adaptParam автоматически становится параметрами trains по умолчанию.)

  3. Установите каждый net.inputWeights{i,j}.learnFcn на 'learnk'.

  4. Установите каждый net.layerWeights{i,j}.learnFcn на 'learnk'. (Каждый вес, изучающий свойство параметра, автоматически установлен в параметры learnk по умолчанию.)

Обучать сеть (или позволять ему адаптироваться),

  1. Установите net . trainParam (или net.adaptParam) свойства, как желаемый.

  2. Вызовите train (или adapt).

Алгоритмы

learnk вычисляет изменение веса dW для данного нейрона от входа P нейрона, вывода A и темпа обучения LR по данным Kohonen, изучая правило:

dw = lr*(p'-w), если a ~= 0; = 0, в противном случае

Ссылки

Kohonen, T., самоорганизующийся и Ассокиэтив-Мемори, Нью-Йорк, Springer-Verlag, 1984

Смотрите также

| | |

Представлено до R2006a