- 10
- 0
- 约9.51千字
- 约 8页
- 2017-02-01 发布于重庆
- 举报
电子科技大学模式识别作业ANN-BP分类器设计
ANN-BP分类器设计
(控制工程XXXXXXXXXX)
问题表述
对“data3.m”数据,用其中一半的数据采用ANN-BP算法设计分类器,另一半数据用于测试分类器性能。
二、方法描述
神经网络(Neural Networks, NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。
BP 神经网络的标准学习过程
神经网络在外界输入样本的刺激下,不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。信号正向传播;若输出层的实际输出与期望的输出(教师信号)不符时,转入反向传播阶段误差反传,误差以某种形式在各层表示——修正各层单元的权值;依次循环,直到网络输出的误差减少到可接受的程度或者进行到预先设定的学习次数为止。
BP神经网络的标准学习步骤第一步,网络初始化给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值和最大学习次数M。
第二步,随机选取第k个输入样本及对应期望输出。
第三步,计算隐含层各神经元的输入和输出。
第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。
第五步,利用隐含层到输出层的连接权值、输出层的偏导数和隐含层的输出计算误差函数对隐含层各神经元的偏导数。
第六步,利用输出层各神经元的偏导数和隐含层各神经元的输出来修正连接权值。
第七步,利用隐含层各神经元的偏导数和输入层各神经元的输入修正连接权。
第八步,计算全局误差。
第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。
P神经网络的特点:
非线性映射能力:能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由n
维输入空间到m维输出空间的非线性映射。
泛化能力:当向网络输入训练时未曾见过的非样本数据时,
网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。
容错能力:输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。
%------将前半部分数据用作为训练样本,后半部分数据用来检验---------
y1=[x1(1:50,1),x1(1:50,2),x1(1:50,3)];
y2=[x2(1:45,1),x2(1:45,2),x2(1:45,3)];
y3=[x3(1:40,1),x3(1:40,2),x3(1:40,3)];
y=[y1;y2;y3]; %训练样本的数据
Y=y;
t=[ones(50,1);-1*ones(45,1);0*ones(40,1)];
%神经网络输出的实测值 1为1类,-1为2类,0为三类
T=t;
%--------建立神经网络模型,三个输入层,三个隐层,一个输出层 --------
net=newff(minmax(Y),[3,1],{tansig,purelin},traingd);
%net=newff(minmax(Y),[3,1],{tansig,logsig},traingd);%训练参数,叠代过程,学习率,次数
net.trainParam.show=50;%显示训练迭代过程
net.trainParam.lr=0.01;%设置学习速率为0.01
net.trainParam.epochs=2000;%最大训练次数
net.trainParam.goal=1e-4;%训练要求精度
z1=[x1(51:100,1),x1(51:100,2),x1(51:100,3)];
z2=[x2(46:90,1),x2(46:90,2),x2(46:90,3)];
z3=[x3(41:80,1),x3(41:80,2),x3(41:80,3)];
z=[z1;z2;z3];%测试数据
Z=z;
% ---------------练习------------------
[net,trnet,Y1, E ]=train(net,Z,T);
%------------------仿真--------------
sim(net,Y)
4.2 BP神经网络实验数据:
4.3 设计算法分类器数据(上半部分数据):
x1(1,1)=1.8796; x1(1,2)=1.8041;
x1(2,1)=2.6801; x1(2,2)=2.75
原创力文档

文档评论(0)