基于matlab实现bp神经网络模型仿真

上传人:mg****85 文档编号:34135626 上传时间:2018-02-21 格式:DOC 页数:13 大小:309.50KB
返回 下载 相关 举报
基于matlab实现bp神经网络模型仿真_第1页
第1页 / 共13页
基于matlab实现bp神经网络模型仿真_第2页
第2页 / 共13页
基于matlab实现bp神经网络模型仿真_第3页
第3页 / 共13页
基于matlab实现bp神经网络模型仿真_第4页
第4页 / 共13页
基于matlab实现bp神经网络模型仿真_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于matlab实现bp神经网络模型仿真》由会员分享,可在线阅读,更多相关《基于matlab实现bp神经网络模型仿真(13页珍藏版)》请在金锄头文库上搜索。

1、基于 BP神经网络模型及改进模型对全国历年车祸次数预测一、 背景我国今年来随着经济的发展,汽车需求量不断地增加,所以全国每年的车祸次数也被越来越被关注,本文首先搜集全国历年车祸次数,接着通过这些数据利用 BP 神经网络模型和改进的径向基函数网络进行预测,最后根据预测结果,分析模型的优劣,从而达到深刻理解 BP 神经网络和径向基函数网络的原理及应用。文中所用到的数据即全国历年车祸次数来自中国汽车工业信息网,网址如下:http:/ 事故次数(次)1998 3461291999 4128602000 6169712001 7549192002 7731372003 6675072004 567753

2、2005 4502542006 3787812007 3272092008 2652042009 238351二、 问题研究(一) 研究方向(1) 通过数据利用 BP 神经网络模型预测历年全国交通事故次数并与实际值进行比较。(2) 分析 BP 神经网络模型改变训练函数再进行仿真与之前结果进行对比。(3) 从泛化能力和稳定性等方面分析 BP 神经网络模型的优劣。(4) 利用径向基函数网络模型进行仿真,得到结果与采用 BP 神经网络模型得到的结果进行比较。(二) 相关知识(1) 人工神经网络人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为神经网

3、络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function) 。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。人工神经网络有以下几个特征:( 1) 非 线 性 非 线 性 关 系 是 自 然 界 的 普 遍 特 性 。 大 脑 的 智 慧 就 是 一 种 非 线 性 现 象 。人 工 神 经 元

4、处 于 激 活 或 抑 制 二 种 不 同 的 状 态 , 这 种 行 为 在 数 学 上 表 现 为 一 种 非 线 性 网络关 系 。 具 有 阈 值 的 神 经 元 构 成 的 网 络 具 有 更 好 的 性 能 , 可 以 提 高 容 错 性 和 存 储 容量 。 ( 2) 非 局 限 性 一 个 神 经 网 络 通 常 由 多 个 神 经 元 广 泛 连 接 而 成 。 一 个 系 统 的 整 体 行为 不 仅 取 决 于 单 个 神 经 元 的 特 征 , 而 且 可 能 主 要 由 单 元 之 间 的 相 互 作 用 、 相 互 连 接 所 决定 。 通 过 单 元 之 间 的

5、大 量 连 接 模 拟 大 脑 的 非 局 限 性 。 联 想 记 忆 是 非 局 限 性 的 典 型 例 子 。( 3) 非 常 定 性 人 工 神 经 网 络 具 有 自 适 应 、 自 组 织 、 自 学 习 能 力 。 神 经 网 络 不 但 处理 的 信 息 可 以 有 各 种 变 化 , 而 且 在 处 理 信 息 的 同 时 , 非 线 性 动 力 系 统 本 身 也 在 不 断 变 化 。经 常 采 用 迭 代 过 程 描 写 动 力 系 统 的 演 化 过 程 。 ( 4) 非 凸 性 一 个 系 统 的 演 化 方 向 , 在 一 定 条 件 下 将 取 决 于 某 个 特

6、 定 的 状 态 函 数 。例 如 能 量 函 数 , 它 的 极 值 相 应 于 系 统 比 较 稳 定 的 状 态 。 非 凸 性 是 指 这 种 函 数 有 多 个 极 值 ,故 系 统 具 有 多 个 较 稳 定 的 平 衡 态 , 这 将 导 致 系 统 演 化 的 多 样 性 。(2) BP神经网络模型BP(Back Propagation)网络是 1986 年由 Rumelhart 和 McCelland 为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP 网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映

7、射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP 神经网络模型拓扑结构包括输入层(input) 、隐层(hide layer)和输出层(output layer)。(3) 径向基函数网络模型径向基函数(Radial Basis Function,RBF)神经网络由三层组成,输入层节点只传递输入信号到隐层,隐层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具

8、有局部逼近能力,所以径向基函数网络也称为局部感知场网络。三、 建模第一步:根据数据选定 BP 神经网络的结构,本文中所用到的 BP 神经网络模型网络层数为2,隐层神经元数目为 10,选择隐层和输出层神经元函数分别为 tansig 函数和purelin 函数,网络训练方法分别用了梯度下降法、有动量的梯度下降法和有自适应 lr 的梯度下降法。第二步:对输入数据和输出数据进行归一化处理;第三步:有函数 newff()构造神经网络。第四步:在对神经网络训练之前,首先设定相关参数,例如最大训练次数、训练要求精度、学习率等。第五步:对 BP 神经网络进行训练。第六步:重复训练直到满足要求为止。第七步:保存

9、训练好的神经网络,并用训练好的神经网络进行预测。第八步:将预测值和实际输出值进行对比,分析模型的稳定性。四、 仿真BP 网络神经网络模型仿真,matlab 源代码如下:x=;y=;p=x;t=y;pn,minp,maxp,tn,mint,maxt=premnmx(p,t);figure(1);plot(pn,tn,-);title(实际输入与实际输出图 ,fontsize,12)ylabel(实际输出 ,fontsize,12)xlabel(样本 ,fontsize,12)net=newff(minmax(pn),10 1,tansig purelin,traingd);net.trainPa

10、ram.epochs=50000;net.trainParam.goal=0.00001;net.trainParam.lr=0.01;%net.trainParam.min_grad=1e-50;net=train(net,pn,tn);t2=sim(net,pn);figure(2);plot(pn,tn,r,pn,t2,b);legend(期望输出 ,预测输出 )title(预测输出与实际输出对比 ,fontsize,12)ylabel(函数输出 ,fontsize,12)xlabel(样本 ,fontsize,12)figure(3)plot(pn,t2,:og);hold onplo

11、t(pn,tn,-*);legend(预测输出 ,期望输出 )title(BP网络预测输出,fontsize,12)ylabel(函数输出 ,fontsize,12)xlabel(样本 ,fontsize,12)error=t2-tn;figure(4)plot(error,-*)title(BP网络预测误差,fontsize,12)ylabel(误差 ,fontsize,12)xlabel(样本 ,fontsize,12)figure(5)plot(tn-t2)./t2,-*);title(神经网络预测误差百分比 )errorsum=sum(abs(error)%输出训练后的权值和阈值iw1

12、=net.IW1;b1=net.b1;lw2=net.LW2;b2=net.b2;仿真结果如下图所示:(1) 模型训练方法为梯度下降法,函数为traingd-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1-0.8-0.6-0.4-0.200.20.40.60.81 与与与与与与与与与与与与与与与与-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5-1-0.500.51与与与与与与与与与与与与与与与与与与与与与与与与与-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5-1-

13、0.500.51与与与与与与BP与与与与与与与与与与与与与与0 2 4 6 8 10 12-6-4-20246x 10-3 BP与与与与与与与与与与0 2 4 6 8 10 12-0.01-0.00500.0050.010.0150.020.025 与与与与与与与与与与与神经网络的第一层的权重为:13.6043215790013-13.6781856692610-14.0649206962947-13.9848650272192-13.9871960386982-13.9951268043836-14.0071081197679-13.988886625663514.1108167288415

14、13.9653714912941神经网络第一层的偏置为:-14.393549295834211.28167070143647.643172268473664.706256083856511.69507957693330-1.57106974025717-4.61930431372367-7.7988362108953210.754283704611714.0333143274359神经网络的第二层的权重为:0.519149236262203 0.251828769407092 0.1027356545542340.150414490625829 0.281458748263410 0.3098

15、38232092716-0.0253911425777369 -0.289400126603914 0.4399908683284090.108195723319044神经网络第而层的偏置为:-0.427391472171392(2) 模型训练方法为有动量的梯度下降法,函数为traingdm-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5-1-0.500.51与与与与与与BP与与与与与与与与与与与与与与(3) 模型训练方法为有自适应lr的梯度下降法,函数为traingda-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5-1-0.500.51与与与与与与BP与与与与与与与与与与与与与与五、 评价(1) 初始值的影响本文建立 BP 神经网络模型时用的是 newff()函数,由于 newff()的随意性,所以基本上每一次的训练结果都是不同的。前馈型神经网络在训练之前必须要对权值和阈值进行初始化,newff()可以自动完成这一过程,但是,权值和阈值的初始化时随机的,这里就不详细研究了。(2) 训练函数的影响从上文所给的结果图可以看出,训练函数对模型训练的影响是显著的,网络训练方法分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号