Двумерная карта Кохонена

Этот пример демонстрирует обучение двумерной карты Кохонена. Сначала создадим обучающий набор случайных двумерных векторов, элементы которых распределены
по равномерному закону в интервале [–1 1]:

P = rands(2,1000);

plot(P(1,:),P(2,:),'+') % Рис.7.14

Рис. 7.14

Для кластеризации векторов входа создадим самоорганизующуюся карту Кохонена размера 5´6 с 30 нейронами, размещенными на гексагональной сетке:

net = newsom([–1 1; –1 1],[5,6]);

net.trainParam.epochs = 1000;

net.trainParam.show = 100;

net = train(net,P);

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

Результирующая карта после этапа размещения показана на рис. 7.15, а. Продолжим обучение и зафиксируем карту после 1000 шагов этапа подстройки (рис. 7.15, б), а затем после 4000 шагов (рис. 7.15, в). Нетрудно убедиться, что нейроны карты весьма равномерно покрывают область векторов входа.

а б в

Рис. 7.15

Определим принадлежность нового вектора к одному из кластеров карты Кохонена
и построим соответствующую вершину вектора на рис. 7.15, в:

a = sim(net,[0.5;0.3])

a = (19,1) 1

hold on, plot(0.5,0.3,'*k') % Рис.7.15,в

Нетрудно убедиться, что вектор отнесен к 19-му кластеру.

Промоделируем обученную карту Кохонена, используя массив векторов входа:

a = sim(net,P);

bar(sum(a')) % Рис.7.16

Из анализа рис. 7.16 следует, что количество векторов входной последовательности, отнесенных к определенному кластеру, колеблется от 13 до 50.

Рис. 7.16

Таким образом, в процессе обучения двумерная самоорганизующаяся карта Кохонена выполнила кластеризацию массива векторов входа. Следует отметить, что на этапе размещения было выполнено лишь 20 % от общего числа шагов обучения, т. е. 80 % общего времени обучения связано с тонкой подстройкой весовых векторов. Фактически на этом этапе выполняется в определенной степени классификация входных векторов.

Слой нейронов карты Кохонена можно представлять в виде гибкой сетки, которая натянута на пространство входных векторов. В процессе обучения карты, в отличие от обучения слоя Кохонена, участвуют соседи нейрона-победителя, и, таким образом, топологическая карта выглядит более упорядоченной, чем области кластеризации слоя Кохонена.

Читатель может продолжить изучение самоорганизующихся сетей, обратившись
к демонстрационным программам demosm1 и demosm2.


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



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