Лабораторная работа: Кластеризация с помощью нейронных сетей
ylabel('Ves');
% Задание нового входного вектора
%Опрос сети
A=181
B=65
p=[A;B];
plot(A,B,'+r')
y=sim(h,p)
A =181
B = 65
y = (2,1) 1
Результат работы программы представлен на рис. 2. Кроме того, его можно увидеть в командном окне: у= (2,1) 1
Предъявленный вектор отнесен ко второму кластеру.
Теперь рассмотрим использование самоорганизующей карты на примере двумерных векторов. Используя самоорганизующиеся карты, двумерные векторы разбить на кластеры и выявить их центры, затем подать на вход самоорганизующей карты новый вектор и определить кластер, к которому он относится.
3.
P=rands(2,100) %3адание случайных двухмерных входных векторов
figure(1)
hold on
plot(P(1,:),P(2,:),'+r') %визуальное изображение входных векторов
%Создание НС с 3*4 нейронами
%По умолчанию функция TFCN = 'hextop', то есть нейроны располагаются в узлах двумерной сетки с шестиугольными ячейками
net=newsom([0 1;0 1],[3 4]);
net.trainParam.epoch=1 %3адание числа циклов настройки
net=train(net,P) % настройкасети
A=0.5
B=0.3
p=[A;B]; % Задание нового входного вектора
plot(A,B,'^k') %прорисовка на рисунке входного вектора (черный треугольник)
figure(2)