📄 matlab自组织神经网络进行分类的设计.txt
字号:
自组织神经网络进行分类的设计2007/06/02 22:05自组织竞争网络对给定的输入向量能够进行分类。如果只需要对输入向量进行分类,那么自组织竞争神经网络就能够很好地完成任务。为了将输入空间进行分类,这就需要更多神经元,特别是当输入向量的密度增大时,。
%产生指定类别的样本点,并在图中绘出
X = [0 1; 0 1]; % 限制类中心的范围
clusters = 5; % 指定类别数目
points = 10; % 指定每一类的点的数目
std_dev = 0.05; % 每一类的标准差
P = nngenc(X,clusters,points,std_dev);
plot(P(1,:),P(2,:),'+r');
title('输入样本向量');
xlabel('p(1)');
ylabel('p(2)');
%建立网络
net=newc([0 1;0 1],5,0.1); %因要区分的类别书目为5,故设置神经元数目为5,学习速率为0.1
%得到网络权值,并在图上绘出
figure;
plot(P(1,:),P(2,:),'+r');
w=net.iw{1}
hold on;
plot(w(:,1),w(:,2),'ob');
hold off;
title('输入样本向量及初始权值');
xlabel('p(1)');
ylabel('p(2)');
figure;
plot(P(1,:),P(2,:),'+r');
hold on;
%训练网络,最大训练步数为7
net.trainParam.epochs=7;
net=init(net);
net=train(net,P);
%得到训练后的网络权值,并在图上绘出
w=net.iw{1}
plot(w(:,1),w(:,2),'ob');
hold off;
title('输入样本向量及更新后的权值');
xlabel('p(1)');
ylabel('p(2)');
%使用sim函数来对其进行分类,并得出结果,这个结果指出了哪个神经元发生了响应,也就反映了这个输入属于哪个类别
a=0;
p = [0.6 ;0.8];
a=sim(net,p)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -