I have tried two years to plot Som map (self-organizing map);but I can't do it with matlab
this is my program (I want plot the position of the input [1 0] in the map) please help me
I have read help plotsom, doc , nothing to do this
p1=[1 1]'; p2=[1 2]'; p3=[2 -1]'; p4=[2 -2]'; p5=[-1 2]'; p6=[-2 1]'; p7=[-1 -1]'; p8=[-2 -2]';
P=[p1 p2 p3 p4 p5 p6 p7 p8];
% Create a Self-Organizing Map
dimension1 = 10;
dimension2 = 10;
net = selforgmap([dimension1 dimension2]);
% Train the Network
[net,tr] = train(net,P);
% Test the Network
outputs = net(P);
% View the Network
view(net)
%test
A=sim(net,[1 0]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(A,'ob');

3 commentaires

mouh nyquist
mouh nyquist le 15 Jan 2015
plz
Geoff Hayes
Geoff Hayes le 16 Jan 2015
Mouh - I think that you need to provide more details. What do you mean when you say that you can't do it with matlab? Are you observing errors (and if so, what are they) or are you just not getting the results that you desire?
mouh nyquist
mouh nyquist le 16 Jan 2015
thank you for your interesting to my question; I cant't do it with matlab ; I can't see the results of SOM in matlab; I can only training the SOM and I can't test the SOM ; I thing the SOM of matlab is not complet

Connectez-vous pour commenter.

 Réponse acceptée

Greg Heath
Greg Heath le 18 Jan 2015
>> szout = size(outputs) % [ 100 8 ]
uniqueout = unique(outputs) % [ 0 1 ]
szout =
100 8
uniqueout =
0
1
>> findones = find(outputs == 1)
findones =
7
103
221
341
405
523
611
701
These can be converted to the positions of the training data in the 10 x 10 matrix.
similarly,
>> size(net([ 1 0]))
ans =
100 2
You can calculate the position .
However, I cannot make any sense of most of the plotsom routines.
Sorry,
Greg

5 commentaires

mouh nyquist
mouh nyquist le 18 Jan 2015
thank you a lot .that help me a lot; please if you can tell me how I can test this self-organizing map for exemple with this data [-2 2]
mouh nyquist
mouh nyquist le 18 Jan 2015
the self-organizing map of matlab; we can only training? not testing the map
Greg Heath
Greg Heath le 18 Jan 2015
y = net([-2 2]) will give you a 1x2 answer just like above for [ 1 0 ].
mouh nyquist
mouh nyquist le 19 Jan 2015
Modifié(e) : mouh nyquist le 19 Jan 2015
thank you a lot , but when I use this; they give me two circles in the map (must have one circle in the map)
y = net([-2 2]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(y(:,1),y(:,2),'ob');
thank you a lot , but when I use this; they give me two circles in the map (must have one circle in the map)
y = net([-2 2]);
%plot Som map
axis([0 10 0 10]);
%hold on; plotting A in the Map
circles = plot(y(:,1),y(:,2),'ob');

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by