MATLAB绘制出权值wv和阀值bv确定的误差曲面

源代码在线查看: matlab一维自组织网络对样本数据进行分类.txt

软件大小: 56 K
上传用户: dxhh
关键词: MATLAB 绘制 误差
下载地址: 免注册下载 普通下载 VIP

相关代码

				一维自组织网络对样本数据进行分类2007/06/02 22:03本例中待分类的样本数据是   100  个分布在   1/4  圆弧上的矢量点。样本数据 P 采用如下方式产生:
				angles = 0: 0.5*pi/99: 0.5*pi; 
				P = [ cos(angles); sin(angles) ]; 
				图1中绘出了样本数据的分布图。
				利用   newsom  函数建立自组织网络: 
				net = newsom ([0 1; 0 1], [9]); 
				该网络的竞争层共有   9  个神经元,即数据的类别个数。自组织网络在训练时不需要目标输出,网络通过对数据分布特性的学习,自动地将数据划分为指定的类别数。下面是完整的   MATLAB  程序:
				
				close all 
				clf reset 
				figure (gcf); 
				echo on 
				clc 
				% NEWSOM——创建自组织网络 
				% TRAIN——对自组织网络进行训练 
				% SIM——对自组织网络进行仿真 
				pause   
				clc 
				%  产生样本数据 P   
				angles = 0: 0.5*pi/99: 0.5*pi; 
				P = [ cos(angles); sin(angles) ]; 
				pause 
				clc 
				%  画第一幅图:样本数据分布图 
				plot (P(1, :), P(2, :), '*'); 
				axis ([0     1     0     1]); 
				title ('Input data'); 
				pause 
				clc 
				%  建立自组织网络 
				%  欲将样本数据分为   9  类,因此网络的竞争层由   9  个神经元构成 
				net = newsom([0 1; 0 1],[9]); 
				pause 
				clc
				%  对网络进行训练 
				net.trainParam.epochs = 10; 
				net = train (net, P); 
				pause 
				clc   
				%  画第二幅图:画出网络神经元权值,也就是每类样本数据的聚类中心 
				figure; 
				w = net.IW{1}; 
				plotsom (net.IW{1,1},net.layers{1}.distances); 
				pause 
				clc 
				%  利用一组新的输入数据检验网络性能 
				a = sim (net, [0.6; 0.8]) 
				echo off
				
				 
							

相关资源