欢迎来到天天文库
浏览记录
ID:9295508
大小:54.00 KB
页数:9页
时间:2018-04-27
《bp网络解决函数逼近问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《智能计算》大作业题目:用BP网络解决函数逼近问题姓名:学号:班级:E-mail:完成日期:2009-10-23一.问题概述建立一个BP网络来解决函数逼近问题,即根据某些给定的点及其对应的函数值,通过BP网络来逼近该函数。二.BP网络的构建BP神经网络由三部分组成:输入层,中间隐层,输出层输入层维数为2:X,-1中间隐层有一层,其维数为11:10个隐单元,-1输出层维数为1:输出逼近结果三.BP网络的训练1.训练样本:SamIn=MinValue+(MaxValue-MinValue)*rand(InDim,SamNum)其中:MinValue=-3,M
2、axValue=3,InDim=1,SamNum=100即随机选择-3~3之间的100个点。2.目标输出Object=f(SamIn)f(x)为事先给定的函数,本实验用f(x)=cosx学习方式由于样本数不是太多,为减少计算量,本网络采用批处理学习方式。3.活化函数选择输入层到隐层的活化函数为g1(x)=logsig(x),即g1(x)=1/(1+exp(-x)),其导数g1’(x)=g1(x)*(1-g1(x))。隐层到输出层的活化函数为g2(x)=purelin(x),即g2(x)=x,其导数g2’(x)=1。1.程序运行环境编程语言:MatlabR
3、2009a计算机:联想3000G430-PSE(H)处理器:Intel(R)Core(TM)2DuoCPUP7450@2.13GHZ内存:2.00G硬盘:320G操作系统:WindowsVistaHomeBasic2.参数的选择神经网络学习率:Eta=0.005动量因子:Alpha=0.001最大迭代次数:MaxRe=20000目标误差:ObjError=0.01初始权矩阵和阈值均为-0.1~0.1之间的随机数3.网络训练结果迭代次数:20000最小平方误差:1.149532e-002输入层到隐层的权值W1:-0.9609-1.1390-0.9774-0
4、.0155-1.14940.09860.2065-1.2321-0.86990.2591输入层到隐层的阈值Theta1:-0.9629-1.2958-0.9874-0.16391.27400.0006-0.0861-1.4889-0.8392-0.2216隐层到输出层的权值W2:-0.8915-1.0815-0.9272-0.59424.5304-0.3987-0.2300-1.1877-0.7994-0.2073隐层到输出层的阈值Theta2:-0.6615BP网络平方误差随迭代次数的变化曲线参见下图一.BP网络的测试测试样本:TestIn=linsp
5、ace(MinValue,MaxValue,TestNum);其中MinValue=-3,MaxValue=3,TestNum=100即在-3~3之间等间距的取100个点理论输出结果:cos(TestNum)实际输出结果:参见下图(理论输出与实际输出比较)五.总结由训练结果及测试结果可以看出,该网络能够很好地解决函数逼近问题,经过有限次的迭代后的逼近精度完全可以满足我们的的实际需要。这次编写神经网络也碰到了许多的问题,费了好大的劲才使网络达到我们预期的效果。也许这在另一方面体现了科学研究的艰巨性,对我今后的学习有很大的启发。源文件也一并上交了,由于个人水
6、平有限,不足之处在所难免,希望老师能够指正,不胜感谢。Matlab源程序:functionBP02()%用BP网络进行函数逼近%%%2009--10--19%神经网络的构建SamNum=130;%训练样本个数TestNum=100;%测试样本的个数InDim=1;%输入样本的维数OutDim=1;%输出样本的维数%HidNum=1;%神经网络的隐层层数HidUnitNum=10;%隐层神经元的个数Eta=0.005;%神经网络的学习率Alpha=0.001;%神经网络的动量因子MaxRe=20000;%最大迭代次数ObjError=0.01;%目标误差%
7、设定神经网络的初始权值W1=-0.1+0.2*rand(HidUnitNum,InDim);%设定输入层到隐层的初始权值W2=-0.1+0.2*rand(OutDim,HidUnitNum);%设定隐层到输出层的初始权值Theta1=-0.1+0.2*rand(HidUnitNum,1);%输入层到隐层的阈值Theta2=-0.1+0.2*rand(OutDim,1);%隐层到输出层的阈值W1Ex=[W1,Theta1];%输入层到隐层的初始权值扩展W2Ex=[W2,Theta2];%隐层到输出层的初始权值扩展%获得样本数据MaxValue=5;%样本的
8、取值上限MinValue=-5;%样本的取值下线SamIn=MinValue+(
此文档下载收益归作者所有