SOM 工具箱简易入门

来源:互联网 发布:淘宝摄影兼职 编辑:程序博客网 时间:2024/05/09 17:56

% 需要下载SOM Toolbox 2.0工具箱

clc;

clear;
close all;

% 输入数据:20个样本,2维
D = rand(20,2);
subplot(1,3,1);plot(D(:,1),D(:,2),'+r');

% 训练SOM网络,大小为10*10

% 若不用‘msize',则算法自动确定网格规模

sMap = som_make(D,'msize', [10 10]);

% 用于显示:SOM网格初始化

sMap0 = som_lininit(D); title('Data');


% 显示初始化后的网格

subplot(1,3,2)
som_grid(sMap0,'Coord',sMap0.codebook,...
'Markersize',2,'Linecolor','k');
axis([0 1 0 1]), title('After initialization');

% 显示训练完成后的网格
subplot(1,3,3)
som_grid(sMap,'Coord',sMap.codebook,...
'Markersize',2,'Linecolor','k'); 
axis([0 1 0 1]), title('After training');
hold on;

% 给定一个样本点,用于确定其在SOM网格中的最佳匹配
x = 0.4;
y = 0.3
bmu = som_bmus(sMap,[x y]);
co = sMap.codebook(bmu,:);
text(co(1),co(2),'BMU','Fontsize',20)

plot([x co(1)],[y co(2)],'ro-');


% 这个例子用的是二维点,可拓展为高维

0 0