利用神经网络竞争层给数据分类

源代码在线查看: jingzhengceng.m

软件大小: 2 K
上传用户: zwendong
关键词: 神经网络 数据 分类
下载地址: 免注册下载 普通下载 VIP

相关代码

				% 利用竞争层网络对样本数据进行分类				%本例中待分类的样本数据由nngenc函数随机产生,即P=nngenc(range,class,num,std);   其中,参数class表示样本数据的类别个数。然后利用newc函数				%建立竞争层网络:net=newc(range,class,klr,clr);       其中,class是数据类别个数,也是竞争层神经元个数;klr和clr 分别是网络的权值学习速率				%和阈值学习速率。竞争层网络在训练时不需要目标输出,网络通过对数据分布特性的学习,自动地将数据划分为指定类别数。				%网络训练语句如下(其中,默认的训练函数为trainr):net=train(net,P);				%在对训练好的网络进行仿真时,网络的输出为单值矢量组,为了观察方便,一般要将单值矢量组转化为下标矩阵的形式:				% Y=sim(net,P);  Y1=vec2ind(Y);				%本例完整的MATLAB程序如下:												close all				clf reset				figure(gcf);				echo on				clc				% NEWC---创建竞争层网络				% TRAIN---对竞争层网络进行训练				% SIM---对竞争层网络进行仿真				pause				clc				% 产生样本数据P,P中包括三类共30个二维矢量				range=[-1 1;-1 1];   % 样本数据取值范围				class=3;             % 样本数据类别数				num=10;              % 每类样本数据的个数				std=0.1;             % 每类样本数据的方差				P=nngenc(range,class,num,std);				pause				clc				% 画第一幅图:样本数据分布图				plot(P(1,:),P(2,:),'*','markersize',5);				axis([-1.5 1.5 -1.5 1.5]);				pause				clc				% 建立竞争层网络(由于样本数据分为三类,因此竞争层由三个神经元构成)				klr=0.1;     % 权值学习速率				clr=0.01;    % 阈值学习速率				net=newc(range,class,klr,clr);				pause				clc				% 对网络进行训练				net.trainParam.epochs=5;  %训练过程每五步显示一次				net=train(net,P); 				pause				clc				%在第一幅图上画竞争层神经元权值,也就是每类样本的聚类中心				w=net.IW{1};				hold on;				plot(w(:,1),w(:,2),'ob');				title('Input data & Weights');				pause				clc				%利用原始样本数据对网络进行仿真				Y=sim(net,P);				Y1=vec2ind(Y)				pause				clc				% 画第二幅图:用不同符号标注数据分类结果				figure;				for i=1:30				    if Y1(i)==1				        plot(P(1,i),P(2,i),'*','markersize',5);				    elseif Y1(i)==2				        plot(P(1,i),P(2,i),'+','markersize',5);				    else				        plot(P(1,i),P(2,i),'x','markersize',5);				    end				    hold on;				end								    axis([-1.5 1.5 -1.5 1.5]);				    title('class 1:*  class 2:+   class 3:x');				pause				clc				%利用一组新的输入数据检验网络性能				p=[-0.4 -0.4;-0.1 0.9];				y=sim(net,p);				y1=vec2ind(y)				echo off				% 程序运行结果如图所示。在图中,待分类的样本数据用星号标注,网络训练完毕后的竞争层神经元				%权值由圆圈标注。在图中,已经划分好的三类数据分别用星号、加号和“x”符号标注。				% (a) 待分类样本的数据和竞争层神经元权值           (b) 网络分类结果																							

相关资源