Создание сети

Для создания самоорганизующейся карты Кохонена в составе ППП NNT предусмотрена М-функция newsom. Допустим, что требуется создать сеть для обработки двухэлементных векторов входа с диапазоном изменения элементов от 0 до 2 и от 0 до 1 соответственно. Предполагается использовать гексагональную сетку размера 2´3. Тогда для формирования такой нейронной сети достаточно воспользоваться оператором

net = newsom([0 2; 0 1], [2 3]);

net.layers{1}

ans =

dimensions: [2 3]

distanceFcn: 'linkdist'

distances: [6´6 double]

initFcn: 'initwb'

netInputFcn: 'netsum'

positions: [2´6 double]

size: 6

topologyFcn: 'hextop'

transferFcn: 'compet'

userdata: [1´1 struct]

Из анализа характеристик этой сети следует, что она использует по умолчанию гексагональную топологию hextop и функцию расстояния linkdist.

Для обучения сети зададим следующие 12 двухэлементных векторов входа:

P = [0.1 0.3 1.2 1.1 1.8 1.7 0.1 0.3 1.2 1.1 1.8 1.7;...

0.2 0.1 0.3 0.1 0.3 0.2 1.8 1.8 1.9 1.9 1.7 1.8];

Построим на топографической карте начальное расположение нейронов карты Кохонена и вершины векторов входа (рис. 7.11):

plotsom(net.iw{1,1},net.layers{1}.distances)

hold on

plot(P(1,:),P(2,:),'*k','markersize',10)

Рис. 7.11

Векторы входа помечены символом * и расположены по периметру рисунка,
а начальное расположение нейронов соответствует точке с координатами (1, 0.5).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: