【计算智能实验】竞争型神经网络和自组织特征映射神经网络的Matlab实现

一、总结竞争型神经网络和自组织特征映射神经网络的学习

算法:

二、应用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)

结果
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44762986/article/details/112756108
今日推荐