Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %clearall
- %xa1=randn(2,100);
- %xa2=randn(2,100)+2;
- %xa3=xa1;
- %xa3(2,:)=xa3(2,:)+4;
- %X=[xa1xa2xa3];
- X=[Data(:,1:2)’];
- %Y=[ones(1,100)2ones(1,100)3ones(1,100)];
- Y=Data(:,3)’;
- net=newsom(X,[13],’gridtop’,’linkdist’);
- net=train(net,X);
- plot(X(1,:),X(2,:),’.’);
- figure
- %plotsom(net.iw{1,1},net.layers{1}.distances);
- holdon
- d=dist(X’,net.iw{1}’);
- [a,b]=min(d,[],2);
- gscatter(X(1,:),X(2,:),b);
- e=er(Y,b);
- [nm]=size(Data);
- w=zeros(2,3);
- x=zeros(1,3);
- fori=1:n
- if(b(i)==1)
- w(1,1)=w(1,1)+X(1,i);
- w(2,1)=w(2,1)+X(2,i);
- x(1)=x(1)+1;
- elseif(b(i)==2)
- w(1,2)=w(1,2)+X(1,i);
- w(2,2)=w(2,2)+X(2,i);
- x(2)=x(2)+1;
- elseif(b(i)==3)
- w(1,3)=w(1,3)+X(1,i);
- w(2,3)=w(2,3)+X(2,i);
- x(3)=x(3)+1;
- end
- end
- w(:,1)=w(:,1)/x(1);
- w(:,2)=w(:,2)/x(2);
- w(:,3)=w(:,3)/x(3);
- plot(w(1,:),w(2,:),’.’)
- %out=net.iw{1};
- %
- %[outinx]=sort(out,1,’ascend’);
- %figure
- %plotsom(out,net.layers{1}.distances);
- functionout=er(in1,in2)
- in1=in1’;
- [nm]=size(in1);
- err=zeros(n,m);
- fori=1:n
- if(in1(i)~=in2(i))
- err(i)=1;
- end
- end
- out=sum(err)/n100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement