資源簡介
直接可用的SOM聚類matlab代碼
代碼片段和文件信息
%%?清空環(huán)境變量
clc
clear?all
%%?錄入輸入數(shù)據(jù)
%?載入數(shù)據(jù)
P=[0.0 0.04 0.87
0.0 0.38 0.61
0.0 2.66 0.77
0.0 1.76 7.28
1.1888 0.2 7.94
0.12 1.16 16.82
3.95 0.43 4.18
4.11 4.4 5.59
0.242 0.1699 1.8452
0.0195 1.247 10.2286
1.1888 0.2 7.944
0.005 7.1233 8.5714
0.0 0.8125 19.7931
0.0 0.8125 2.9091
0.0065 1.0 2.5455
0.0 1.3509 0.3621
0.0 0.1646 1.3824
0.0541 1.2551 8.9697
0.0763 0.8333 9.3
0.0738 0.2509 0.2571
0.0 0.815 0.5882
0.0 1.4475 2.5143
0.0464 1.9323 4.6992
0.4166 0.3891 12.4648
0.0075 5.1071 9.6667
0.005 7.1233 8.5714
0.0 2.3095 3.8217
0.0 14.8125 5.1087
0.0804 1.2719 5.1111
0.0 0.0594 1.3824];
%%?網(wǎng)絡建立和訓練
%?newsom建立SOM網(wǎng)絡。minmax(P)取輸入的最大最小值。競爭層為6*6=36個神經(jīng)元
net=newsom(minmax(P)[45]);
plotsom(net.layers{1}.positions)
%?5次訓練的步數(shù)
a=[10?30?50?100?200?500?1000];
%?隨機初始化一個1*10向量。
yc=rands(78);
%%?進行訓練
%?訓練次數(shù)為10次
net.trainparam.epochs=a(1);
%?訓練網(wǎng)絡和查看分類
net=train(netP);
y=sim(netP);
yc=vec2ind(y);
plotsom(net.IW{11}net.layers{1}.distances)
%?訓練次數(shù)為30次
net.trainparam.epochs=a(2);
%?訓練網(wǎng)絡和查看分類
net=train(netP);
y=sim(netP);
yc(2:)=vec2ind(y);
plotsom(net.IW{11}net.layers{1}.distances)
%?訓練次數(shù)為50次
net.trainparam.epochs=a(3);
%?訓練網(wǎng)絡和查看分類
net=train(netP);
y=sim(netP);
yc(3:)=vec2ind(y);
plotsom(net.IW{11}net.layers{1}.di
評論
共有 條評論