1、智能控制课程设计报告题 目:采用 BP 网络进行模式识别院 系: 专 业:姓 名:学 号:指导老师: 日 期: 年 月 日- 2 -目录1、 课程设计的目的和要求32、 问题描述33、 源程序34、 运行结果65、 总结7- 3 -课程设计的目的和要求目的:1、通过本次课程设计进一步了解 BP 网络模式识别的基本原理,掌握 BP 网络的学习算法2、熟悉 matlab 语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力要求:充分理解设计内容,并独立完成实验和课程设计报告问题描述采用 BP 网络进行模式识别。训练样本为 3 对两输入单输出样本,见表 7-3。是采用 BP 网络对训练样
2、本进行训练,并针对一组实际样本进行测试。用于测试的 3 组样本输入分别为 1,0.1;0.5,0.5 和0.1,0.1。表 7-3 训练样本说明:该 BP 网络可看做 2-6-1 结构,设权值 wij,wjl 的初始值取【-1 , +1】之间的随机值,学习参数 =0.5,=0.05.取网络训练的最终指标 E=10(-20) ,在仿真程序中用 w1,w2 代表 wij,wjl,用Iout 代表x。源程序%网络训练程序clear all;close all;输入 输出1 0 10 0 00 1 -1- 4 -xite=0.50;alfa=0.05;w2=rands(6,1);w2_1=w2;w2_
3、2=w2;w1=rands(2,6);w1_1=w1;w1_2=w1;dw1=0*w1;I=0,0,0,0,0,0;Iout=0,0,0,0,0,0;FI=0,0,0,0,0,0;k=0;E=1.0;NS=3;while E=1e-020k=k+1; times(k)=k;for s=1:1:NSxs=1,0;0,0;0,1;ys=1,0,-1;x=xs(s,:);for j=1:1:6I(j)=x*w1(:,j);Iout(j)=1/(1+exp(-I(j);endy1=w2*Iout;el=0;y=ys(s,:);- 5 -el=el+0.5*(y(1)-y1(1)2;es(s)=el;E
4、=0;if s=NS for s=1:1:NSE=E+es(s);endendey=y-y1;w2=w2_1+xite*Iout*ey+alfa*(w2_1-w2_2);for j=1:1:6S=1/(1+exp(-I(j);FI(j)=S*(1-S);endfor i=1:1:2for j=1:1:6 dw1(i,j)=xite*FI(j)*x(i)*ey(1)*w2(j,1)endendw1=w1_1+dw1+alfa*(w1_1-w1_2);w1_2=w1_1;w1_1=w1;w2_2=w2_1;w2_1=w2;end Ek(k)=E;end figure(1);plot(times,E
5、k,r);xlabel(k);ylabel(E);save wfile w1 w2;%网络训练程序clear all;load wfile w1 w2;x=1,0.1;- 6 -0.5,0.5;0.1,1;for i=1:1:3for j=1:1:6 I(i,j)=x(i,:)*w1(:,j);Iout(i,j)=1/(1+exp(-I(i,j);endendy=w2*Iout;y=y运行结果样本训练的收敛过程- 7 -W1 的值W2 的值输入 输出1 0.1 0.91590.5 0.5 0.00870.1 1 -0.9190测试样本及结果总结本次课程设计对我们来说还是存在一定的难度的,毕竟在
6、这之前一直就没有做过课程设计,对 BP 网络识别理论感到生疏,另外对matlab 软件也并不熟悉,属于现学现用的那种,但这却激发着我们对知识的渴望,不断地上网查资料,一遍又一遍的翻着书本,不断地探索着 BP 网络模式识别的原理,反复地研读着书本上的例题,让我们原本望而止步的事情终究是在我们的努力之下完成了!通过本次课程设计,进一步了解了神经网络自学习、自组织和并行处理等特征,体会到了它强大的模式识别能力,熟悉了 BP 神经网络的学习算法,同时也体验了 matlab 软件在智能控制系统应用中强悍的数据处理能力!当然,在本次侧成设计中,由于程序相对于我们以前接触的来说比较长,所以在设计及程序输入时都要特别细心,不- 7 -过好在 matlab 软件中只要已输入一些比较明显的错误它都能立刻做出提示!