自组织竞争神经网络及其应用神经网络十四
Posted 张叔zhangshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自组织竞争神经网络及其应用神经网络十四相关的知识,希望对你有一定的参考价值。
自组织神经网络又称为自组织竞争神经网络,特别适合用于解决模式分类和识别方面的应用问题。该网络模型属于前向神经网络模型,采用无监督学习算法,其工作的基本思想是让竞争层的各个神经元通过竞争与输入模式进行匹配,最后仅有一个神经元成为竞争的胜利者,这个获胜神经元的输出就代表对输入模式的分类。
常用的自组织竞争神经网络有自适应共振理论(Adaptive Resonance Theory,ART)神经网络、自组织特征映射(Self-Organizing Feature Mapping,简称SOFM或SOM)神经网络、对传神经网络和协同神经网络等,本章将对SOM神经网络展开介绍。
自组织竞争神经网络案例分析
给出一个包含8个故障样本的数据集。每个故障样本中有8个特征,分别为最大压力(P1)、次大压力(P2)、波形幅度(P3)、上升沿宽度(P4)、波形宽度(P5)、最大余波宽度(P6)、波形的面积(P7)、起喷压力(P8),使用SOM神经网络进行故障诊断。故障样本如表8-1所示。
实现的MATLAB代码如下:
>> clear all
load pp; %载入数据
P=P'; %转置后符合神经网络的输入格式
%%网络的建立和训练
%使用newsom函数建立SOM神经网络。minmax(P)取输入的极小化最大值。竞争层为6*6=36个神经元
net=newsom(minmax(P),[6 6]);
plotsom(net.layers{1}.positions)
%5次训练的步数
a=[10 30 50 100 200 500 1000];
yc=rands(7,8); %随机初始化一个1*10向量
%%进行训练
%训练次数为10次
net.trainparam.epochs=a(1);
%训练网络和查看分类
设计内星网络进行以下矢量的分类辨识。
P=[0.2 0.6;0.4 0.3;0.5 0.3;0.7 0.6];
T=[1 0];
解析:内星是根据期望输出值,在实例中是通过迫使网络在第一个输入矢量出现时,输出为1,同时迫使网络在第二个输入矢量出现时,输出为0,而使网络的权矢量逼近期望输出为1的第一个输入矢量。
程序实现代码如下:
>> clear all;
P=[0.2 0.6;0.4 0.3;0.5 0.3;0.7 0.6];
T=[1 0];
[R,Q]=size(P);
[S,Q]=size(T);
W=zeros(S,R);
max_epoch=10;
lp.lr=0.2;
%矢量在此进行了零初始化
>> for epoch=1:(max_epoch)
for q=1:Q
A=T(q);
dW=learnis(W,P(:,q),[],[],A,[],[],[],[],[],lp,[]);
W=W+dW;
end
end
disp('经过10次循环及480次计算后,得到权矢量为:')
W
给定两元素的输入矢量,以及它们相关的四元素目标矢量,设计一个外星网络实现有效的矢量的获得,外星没有偏差。
P=[0.2 0.6;0.4 0.3;0.5 0.3;0.7 0.6];
T=[1 0];
解析:网络的每个目标矢量强迫为网络的输出,而输入只有0或1。网络训练的结果是使其权值矩阵趋于所对应的输入为1时的目标矢量。
>> clear all;
P=[0.2 0.6;0.4 0.3;0.5 0.3;0.7 0.6];
T=[1 0];
[R,Q]=size(P);
[S,Q]=size(T);
W=zeros(S,R);
max_epoch=10;
lp.lr=0.3;
%根据外星学习规则进行训练
for epoch=1:(max_epoch)
for q=1:Q
A=T(:,q);
dW=learnos(W,P(:,q),[],[],A,[],[],[],[],[],lp,[]);
W=W+dW;
end
end
W
以上是关于自组织竞争神经网络及其应用神经网络十四的主要内容,如果未能解决你的问题,请参考以下文章