自组织神经网络简介
神经网络 2010-01-25 20:09:15 阅读84 评论0 字号:大中小
自组织神经网络SOM(self-organization mapping net)是基于无监督学习方法的神经网络的一种重要类型。自组织映射网络理论最早是由芬兰赫尔辛基理工大学Kohen于1981年提出的。此后,伴随着神经网络在20世纪80年代中
后期的迅速发展,自组织映射理论及其应用也有了长足的进步。
自组织神经网络是神经网络最富有魅力的研究领域之一,它能够通过其输入样本学会检测其规律性和输入样本相互之间的关系,并且根据这些输入样本的信息自适应调整网络,使网络以后的响应与输入样本相适应。竞争型神经网络的神经元通过输入信息能够识别成组的相似输入向量;自组织映射神经网络通过学习同样能够识别成组的相似输入向量,使那些网络层中彼此靠得很近的神经元对相似的输入向量产生响应。与竞争型神经网络不同的是,自组织映射神经网络不但能学习输入向量的分布情况,还可以学习输入向量的拓扑结构,其单个神经元对模式分类不起决定性作用,而要靠多个神经元的协同作用才能完成模式分类。学习向量量化LVQ(learning vector quantization)是一种用于训练竞争层的有监督学习(supervised learning)方法。竞争层神经网络可以自动学习对输入向量模式的分类,但是竞争层进行的分类只取决于输入向量之间的距离,当两个输入向量非常接近时,竞争层就可能把它们归为一类。在竞争层的设计中没有这样的机制,即严格按地区判断任意两个输入向量是属于同一类还是属于不同类。而对于LVQ网络用户指定目标分类结果,网络可以通过监督学习,完成对
输入向量模式的准确分类。
MATLAB的神经网络工具箱实现竞争型神经网络
神经网络 2010-01-25 12:22:49 阅读32 评论0 字号:大中小
%竞争型神经网络具有明显分类特征的模式分类。其MATLAB仿真程序设计主
要包括:
%(1)创建竞争型神经网络。首先根据给定的问题确定训练样本的输入向量,当不足以区分各类模式时,应想办法增加特征值;其次根据模式分类数确定神经
元的数目。
%(2)训练网络。训练最大次数的默认值为100,当训练结果不能满足分类的
要求时,可尝试增加训练的最大次数。
%(3)以测试样本进行仿真。
%两类模式分类的matlab程序设计
%Example71Tr
clear all
%定义输入向量
p=[0 0 0 1 1 1 -1 -1 -1; 0 1 -1 0 1 -1 0 1 -1; 1 1 10 10 1 1 1 10 1];
%创建竞争型神经网络
net=newc([-1 1; -1 1; 1 10], 2);
%训练神经网络
net=train(net,p);
%存储训练好的神经网络
save net71 net
%Example71Sim
clear all
%定义待测试的样本输入向量
p=[0 0 0 1 1 1 -1 -1 -1; 0 1 -1 0 1 -1 0 1 -1; 1 1 10 10 1 1 1 10 1];
%加载训练好的神经网络
load net71 net;
%网络仿真
y=sim(net,p)
yc=vec2ind(y)%输出仿真结果
MATLAB的神经网络工具箱实现竞争型神经网络
(一)
神经网络 2010-01-25 12:24:21 阅读22 评论0 字号:大中小
%%以竞争型神经网络完成三类模式的分类。
%Example72Tr
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;
%Example72Sim
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)%输出仿真结果
MATLAB的神经网络工具箱实现竞争型神经网络
(二)
神经网络 2010-01-25 12:25:57 阅读20 评论0 字号:大中小
%%以竞争型神经网络完成四类模式的分类。
%Example73Tr
clear all;
%定义输入向量
%p=[5.2 8 8.2 5.8; 7.3 8 5.8 9.7];
p=[1 8 1 1; 1 8 15 21];
%创建竞争型神经网络
net=newc([0 10; 0 25],4);
%训练神经网络
net=train(net,p);
%存储训练后的神经网络
save net72 net;
%Example72Sim
clear all;
%定义待测试的样本输入向量
%p=[5.2 8 8.2 5.8; 7.3 8 5.8 9.7];
p=[1 8 1 1; 1 8 15 21];
%加载训练好的神经网络
load net72 net;
%网络仿真
y=sim(net,p);
yc=vec2ind(y)%输出仿真结果