plotsom(net.iw{ 1,1}, net.layers{1}.distances) % визуализация SOM
Weight Vectors
.6
0.4
0.2
W(i,2)
0
-0.2
-0.4
-0.6
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
W(i,1)
Рисунок 7.18. Самоорганизующаяся карта кластеризации
p = [0.3; 0.5]; % определение нового вектора
a = 0; % начальная установка переменной a
a = sim(net, p) % получение отклика SOM на вход р a =
(8,1) 1
Возбужденный нейрон показывает номер кластера. В нашем случае входной вектор p отнесен к восьмому кластеру.
Программа работы и методические указания
Создать слой Кохонена для двух векторов входа, проанализировать его структурную схему и параметры вычислительной модели, произвести обучение сети и моделирование, выполнив следующие команды:
P = [.1 .8 .1 .9; .2 .9 .1 .8]; % для обучения слоя;
net = newc([01;01],2); % создание слоя;
gensim (net); % структура слоя;
net = train(net,P); % обучение слоя;
w = net.Iw{1,1}; % веса после обучения; b =net.b{1}; % смещение после обучения; plot(P(1,:),P(2,:),’+k’)
title (′Векторы входа′),xlabel(′P(1,:)′), ylabel(′P(2,:)′) hold on
plot (w, ′or′)
P1= [0.2:0.1:0.7; 0.2:0.1:0.7];
y = sim(net,P1) yc = vec2ind(Y)
Создать одномерную карту Кохонена из 10 нейронов, обучить её на по- следовательности из 100 двухэлементных векторов единичной длины, распре- деленных равномерно в пределах от 0 до 90º, построить график распределения векторов по кластерам и выполнить моделирование сети для одного вектора входа, выполнив следующие команды:
Достарыңызбен бөлісу: |