资源描述:
《实验一 感知器网络的训练与应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、智能信息处理技术基础实验报告专业班级电子信息工程1001班学生姓名潘新南学生学号1012140123指导教师周春临实验一感知器网络的训练与应用一、实验目的 1、掌握感知器网络的基本概念及训练方法; 2、掌握感知器网络的基本使用; 3、掌握利用Matlab对感知器网络进行构建与实现的方法。 二、实验原理 1、感知器网络模型 (1)感知器网络模型的拓扑结构如图1所示: (2)感知器网络模型学习算法 a、初始化:赋予权值一个较小的随机值错误!未找到引用源。(非零值); b、将第错误!未找到引用源。个模式错
2、误!未找到引用源。送入输入神经元,并给出理想输出值错误!未找到引用源。; c、计算神经元网络模型的实际输出错误!未找到引用源。; d、根据错误!未找到引用源。与错误!未找到引用源。计算第错误!未找到引用源。条连线的权值增量: e、转b,选取第个样本,直到学完所有输入样本; f、按式 g、若,转到b,否则结束。 三、实验内容 1、利用Matlab对感知器网络进行构建与实现 (1)Percept1(简单分类问题):设计
3、单一感知器神经元来解决一个简单的分类问题:将4个输入向量分为两类,其中两个输入向量对应的目标值为1,另两个对应的目标值为0,输入向量为:P=[-2 -0.9 0.5 -0.5; -0.2 0.8 -0.6 2.0],目标向量为:T=[1 0 1 0],源程序如下: P=[-2 -0.9 0.5 -0.5; -0.2 0.8 -0.6 2.0]; T=[1 0 1 0]; plotpv(P,T); pause; net=newp([-1 1; -1 1],1); watchon; cla; plotpv(P,T);
4、linehandle=plotpc(net.IW{1},net.b{1}); E=1; net=init(net); linehandle=plotpc(net.IW{1},net.b{1}); while(sse(E)) [net,Y,E]=adapt(net,P,T); linehandle=plotpc(net.IW{1},net.b{1}); drawnow; end; pause; watchoff; p=[0;-0.5]; a=sim(net,p); plotpv(p,a); ThePo
5、int=findobj(gca,'type','line'); set(ThePoint,'Color','red'); hold on; plotpv(P,T); plotpc(net.IW{1},net.b{1}); hold off; disp('End of percept1'); 运行结果如下图所示: (2)Percept2(多个感知器神经元的分类问题):将上例的输入向量扩充为10组,将输入向量分为4类,即输入向量为:P=[0.6 0.7 0.9 0.9 1.7 0.0 0.4 -0.7 -0.4 -1.5
6、; 1.6 1.8 1.6 0.7 0.8 0.6 0.5 0.9 -1.0 -1.3],目标向量为:T=[1 1 1 0 0 1 1 1 0 1; 0 0 0 0 0 1 1 1 1 1],源程序如下: P=[0.6 0.7 0.9 0.9 1.7 0.0 0.4 -0.7 -0.4 -1.5; 1.6 1.8 1.6 0.7 0.8 0.6 0.5 0.9 -1.0 -1.3]; T=[1 1 1 0 0 1 1 1 0 1; 0 0 0 0 0 1 1 1 1 1]; plotpv(P,T); net=ne
7、wp([-1.5 1;-1.5 1],2); figure; watchon; cla; plotpv(P,T); linehandle=plotpc(net.IW{1},net.b{1}); E=1; net=init(net); linehandle=plotpc(net.IW{1},net.b{1}); while(sse(E)) [net,Y,E]=adapt(net,P,T); linehandle=plotpc(net.IW{1},net.b{1},linehandle); drawnow; e
8、nd; watchoff; figure; p=[0.7;1.2]; a=sim(net,p); plotpv(p,a); ThePoint=findobj(gca,'type','line'); set(ThePoint,'Color','red'); hold on; plotpv(P,T); pl