一、总结竞争型神经网络和自组织特征映射神经网络的学习
算法:
二、应用MATLAB实现竞争型和自组织特征映射神经网络:
要求有程序和实验结果
三、 实验内容
1、请利用竞争型神经网络完成图示三类模式的分类。
2、创建一自组织特征映射实现如下动物的分类。
1989年Kohonen给出一个SOM网的著名应用实例,即不同的动物按其属性映射到二维输出平面上,使属性相似的动物在SOM网输出平面上的位置也相近。训练集选了16种动物,每种动物用一个29维向量来表示。前16个分量构成符号向量(不同的动物进行16取1编码),后13个分量构成属性向量,描述动物的13种属性的有
或无(用1或0表示)
现要求:
(1)按下表给出这16种动物的向量表示,每种动物用29维向量来表示;
(2)以这16种动物的表示作为训练集,创建一个SOFM神经网络,映射层为10*10,实现动物的分类。
四、实验结果
1、
clear all;
%定义输入向量
p=[-0.1961 0.1961 0.9806 0.9806 -0.5812 -0.8137;
0.9806 0.9806 0.1961 -0.1961 -0.8137 -0.5812];
%创造竞争型神经网络
net=newc([-1 1;-1 1],3);
%训练神经网络
net=train(net,p);
%存储训练好的神经网络
save net72 net;
%竞争型神经网络的MATLAB仿真程序设计
clear all;
%定义待测样本输入向量
p=[-0.1961 0.1961 0.9806 0.9806 -0.5812 -0.8137;
0.9806 0.9806 0.1961 -0.1961 -0.8137 -0.5812];
%加载训练好的神经网络
load net72 net;
%网络仿真
y=sim(net,p);
yc=vec2ind(y)%输出仿真结果
结果
仿真结果:
yc=2 2 3 3 1 1
2、
p=[1 0 0 1 0 0 0 0 1 0 0 1 0;
1 0 0 1 0 0 0 0 1 0 0 0 0;
1 0 0 1 0 0 0 0 1 0 0 0 1;
1 0 0 1 0 0 0 0 1 0 0 1 1;
1 0 0 1 0 0 0 0 1 1 0 1 0;
1 0 0 1 0 0 0 0 1 1 0 1 0;
0 1 0 1 0 0 0 0 1 1 0 1 0;
0 1 0 0 1 1 0 0 0 1 0 0 0;
0 1 0 0 1 1 0 0 0 0 1 0 0;
0 1 0 0 1 1 0 0 0 1 1 0 0;
1 0 0 0 1 1 0 0 0 1 0 0 0;
0 0 1 0 1 1 0 0 0 1 1 0 0;
0 0 1 0 1 1 0 0 0 1 1 0 0;
0 0 1 0 1 1 1 1 0 0 1 0 0;
0 0 1 0 1 1 1 1 0 0 1 0 0;
0 0 1 0 1 1 1 0 0 0 0 0 0];
net=newsom([0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1],[10 10]);
net.trainParam.epochs=500;
net=init(net);
net=train(net,p);
y=sim(net,p);
%获取训练后自组织神经网络的权值
wl=net.IW{
1,1};
%绘出训练后的权值分布图
plotsom(wl, net.layers{
1}.distances);
P=[1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16;1/16];
y_test=sim(net,p);
%将测试数据变换成下标向量
y_test=vec2ind(y_test)
y=sim(net,P);
y=vec2ind(y)
结果