1、简要说明误差反向传播的BP算法的基本原理,讨论BP基本算法的优缺点。
并采用BP神经网络进行模式识别。
设计一个BP网络对附图中的英文字母进行分类。
输入向量含16个分量,输出向量分别用[1,-1,-1]T,[-1,1,-1]T,[-1,-1,1]T代表字符A,I,O。
采用不同的学习算法(traingd,traingdm,traingdx,trainlm)进行比较。
并测试施加5%噪声与输入时的测试结果。
要求:给出matlab的源程序(可调用matlab NN工具箱),网络结构,初始权值,训练结果,测试结果。
2、简要说明误差反向传播的BP算法的基本原理,讨论BP基本算法的优缺点。
并采用BP神经网络设计实现一个9*9表。
采用不同的学习算法(traingd,traingdm,traingdx,trainlm)进行比较。
要求:给出matlab的源程序(可调用matlab NN工具箱),网络结构,初始权值,训练结果,测试结果。
(考虑将其中的数改为二进制)
3、简要说明误差反向传播的BP算法的基本原理,讨论BP基本算法的优缺点。
表1中给出了某结构在多种状态下的特征向量,表2给出了某时刻结构的特征向量,请使用人工神经网络根据表2中的特征向量判断其所属状态。
表1
表2
网络结构设计输入个数为10,输出个数为1,故神经元个数为1,结构如下图。
本题是一个模式识别问题,采用自组织竞争人工神经网络。
图1-1 网络结构图画出6个状态在坐标系中如图1-2所示。
%创建输入向量
X=[0 1;0 1]
clusters=6;
points=10;
std_dev=0.05;
P=nngenc(X,clusters,points,std_dev);
plot(P(1,:),P(2,:),'+r')
title('Input Vectors');
xlabel('p(1)');
ylabel('p(2)');
%创建自组织竞争神经网络
net=newc([0 1;0 1],6,.1);
net=init(net);
w=net.IW{1};
hold off;
plot(P(1,:),P(2,:),'+r');
hold on; plot(w(:,1),w(:,2),'ob');
xlabel('p(1)');
ylabel('p(2)');
hold off;
net.trainParam.epochs=7;
hold on;
net=init(net);
more off;
net=train(net,P);
TRAINR, Epoch 0/7
TRAINR, Epoch 7/7
TRAINR, Maximum epoch reached. %训练该网络
hold on ;
net=init(net); more off;
w=net.IW{1};
delete(findobj(gcf,'color',[0 0 1])); hold off
plot(P(1,:),P(2,:),'+r');
hold off;
hold on; plot(w(:,1),w(:,2),'ob'); xlabel('p(1)');
ylabel('p(2)');
hold off;
%仿真该网络
p=[0.794;0.271];
a=sim(net,p);
ac=vec2ind(a)。