⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab一维自组织网络对样本数据进行分类.txt

📁 MATLAB绘制出权值wv和阀值bv确定的误差曲面
💻 TXT
字号:
一维自组织网络对样本数据进行分类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

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -