基于bp神经网络的曲线拟合

基于bp神经网络的曲线拟合

ID:14643639

大小:135.62 KB

页数:8页

时间:2018-07-29

基于bp神经网络的曲线拟合_第1页
基于bp神经网络的曲线拟合_第2页
基于bp神经网络的曲线拟合_第3页
基于bp神经网络的曲线拟合_第4页
基于bp神经网络的曲线拟合_第5页
资源描述:

《基于bp神经网络的曲线拟合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、神经网络实验报告基于BP网络的曲线拟合学院:控制学院姓名:李嘉頔学号:094230212015年6月一、实验目的⑴掌握BP神经网络的权值修改规则⑵利用BP网络修改权值对y=sin(x)曲线实现拟合二、实验要求人工神经网络是近年来发展起来的模拟人脑生物过程的人工智能技术,具有自学习、自组织、自适应和很强的非线性映射能力。在人工神经网络的实际应用中,常采用BP神经网络或它的变化形式,BP神经网络是一种多层神经网络,因采用BP算法而得名,主要应用于模式识别和分类、函数逼近、数据压缩等领域。BP网络是一种多层前馈神经网

2、络,由输入层、隐层和输出层组成。层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一个或多个。BP算法的学习过程由前向计算过程和误差反向传播过程组成,在前向计算过程中,输入信息从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,通过修改各层的神经元的权值,使得网络系统误差最小,最终实现网络的实际输出与各自所对应的期望输出逼近。三、实验内容3.1训练数据导入要对BP网络进行训练,必须准备训练样

3、本。对样本数据的获取,可以通过用元素列表直接输入、创建数据文件,从数据文件中读取等方式,具体采用哪种方法,取决于数据的多少,数据文件的格式等。本文采用直接输入100个样本数据的方式,同时采用归一化处理,可以加快网络的训练速度。将输入x和输出y都变为-1到1之间的数据,归一化后的训练样本如下图:3.2网络初始化根据系统输入输出序列,确定网络输入层节点数为1,隐含层节点数H为20,输出层节点数为1。初始化输入层、隐含层和输出层神经元之间的连接权值,,初始化隐含层阈值,输出层阈值,给定学习速率,和,给定算法迭代次数i

4、num和最大可接受误差error,同时给定神经元激励函数sigmoid。3.3前向输出计算根据输入变量x,输入层和隐含层间连接权值和隐含层阈值,计算隐含层输出P:其中n为输入层节点数,本实验中取1;l为隐含层节点数,本实验中取20;f为隐含层激励函数,该函数可设置为多种形式,本实验中所选函数为:根据隐含层输出P,隐含层和输出层间连接权值和输出层阈值,计算BP神经网络预测输出:其中m为输出层节点数,本实验中取1。3.4权值修正根据网络预测输入Q和期望输出y,计算网络预测误差e:BP神经网络采用梯度修正法作为权值和

5、阈值的学习算法,从网络预测误差的负梯度方向修正权值和阈值。在本实验采用的sigmoid激励函数下,隐含层和输出层间连接权值和输出层阈值更新公式为:输入层和隐含层间连接权值和输出层阈值更新公式为:通过是否达到迭代次数或者错误率是否在可接受范围内来判断算法迭代是否结束,若没有结束,则继续迭代。四、实验步骤和结果3.1数据输入和归一化%function[x,y,y1,Error]=BPnet(t)%清空环境变量clc;clear;num=1;%要拟合的曲线试举例fori=0.01*pi:0.02*pi:2*pi%训练

6、样本x(num)=i;%输入数据y(num)=sin(x(num));%期望输出num=num+1;endnum1=size(x,2);max_x=max(x);%训练样本归一化max_y=max(y);min_x=min(x);min_y=min(y);%最大最小法(归一化)fori=1:num1x(i)=2*((x(i)-min_x)/(max_x-min_x))-1;y(i)=2*((y(i)-min_y)/(max_y-min_y))-1;end3.2网络结构初始化H=20;%隐含层神经元个数w=2*r

7、and(1,H)-1;%初始化隐层权值v=2*rand(1,H)-1;%初始化输出层权值t0=2*rand(1,H)-1;%隐层阈值t1=2*rand(1,1)-1;%输出层阈值a0=0.4;a1=0.3;u=1;%步长error=0.0001;err=error;%可接受误差inum=1;y1=zeros(1,100);3.3BP神经网络训练whileinum<=20&err>=errorii=randperm(length(x));y2=y(ii);x2=x(ii);%打乱样本顺序err=0;form=1:

8、100d=y2(m);%给定输出fori=1:Hp(i)=w(i)*x2(m)+t0(i);P(i)=logsig(p(i).*u);endq1=0;forj=1:Hq(j)=P(j)*v(j);q1=q1+q(j);endq2=q1+t1;%输出%ifm<=100Q=q2;%Q=tanh(q2.*u);%输出层输出%Q=2*logsig(q2.*u)-1;%输出层也可用sigmoid

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。