Нейронные сети и нейроконтроллеры. Бураков М.В. - 204 стр.

UptoLike

Составители: 

204
>> d2 = randn(3,20) + 3; % кластер с центром (3, 3, 3)
>> d3 = randn(3,20); d3(1,:) = d3(1,:) + 9; % кластер с центром
(9, 0, 0)
>> d = [d1 d2 d3]; % массив для кластеризации
>> plot3(d(1,:), d(2,:), d(3,:), 'ko'), hold on, box on
>> net = newc(minmax(d), 3);
>> net.trainParam.epochs = 100;
>> net = train(net, d);
>> gcf,
>> w = net.IW{1};
>> plot3(w(:,1),w(:,2),w(:,3),'rp');
Результат кластеризации приведен на рис. 7.10 (центрам клас-
теров соответствуют звездочки).
7.4. Самоорганизующиеся карты Кохонена
Самоорганизующиеся карты Кохонена применяются для визу-
ализации многомерных данных. Конечно, спроецировать много-
мерную выборку на плоскость без искажений невозможно, и SOM
отражают лишь общую картину. Однако использование SOM позво-
ляет анализировать особенности кластерной структуры многомер-
ной выборки. Это бывает весьма важно для качественного анализа
информации.
Идея заключается в том, чтобы спроецировать все объекты вы-
борки на плоскую карту, точнее, на множество узлов прямоуголь-
ной сетки заранее заданного размера M × N, которые могут иметь
порядок десятков или сотен. Для того чтобы карта отражала клас-
терную структуру выборки, близкие объекты должны попадать
в близкие узлы сетки. Нейроны SOM будут упорядочиваться так,
чтобы иметь равномерное распределение при равномерном распре-
делении входных векторов. Если же входные векторы распределе-
ны неравномерно, то и нейроны будут стремится попасть в центр
кластеров.
Таким образом, SOM решает две задачи:
• понижение размерности данных с минимальной потерей ин-
формации (анализ главных компонент данных, выделение набо-
ров независимых признаков);
• уменьшение разнообразия данных путем выделения конечно-
го набора прототипов и отнесения данных к одному из таких типов
(т. е. кластеризация).