目录

神经网络模型简述

实例:交通运输能力预测设计

MATLAB程序及仿真结果


由于货物运输、地方经济及企业发展的紧密联系,因此作为反映货物运输需求的一项重要指标, 货运量预测研究和分析具有较强的实际意义。

常用的货运量预测方法包括时间序列方法、移动平滑法、指数平滑和随机时间序列方法、相关(回归)分析法、灰色预测方法和作为多种方法综合的组合预测方法等.这些方法大都集中在对其因果关系回归模型和时间序列模型的分析上, 所建立的模型不能全面和本质地反映所预测动态数据的内在结构和复杂特性, 从而丢失了信息量.人工神经网络作为一种并行的计算模型, 具有传统建模方法所不具备的很多优点, 有很好的非线性映射能力, 对被建模对象的经验知识要求不多, 一般不必事先知道有关被建模对象的结参数和动作特性等方面的知识, 只需给出对象的输入和输出数据, 通过网络本身的学习功能就可以达到输入与输出的映射关系.货运量预测可以利用BP 网络模型和径向基网络模型来实现。

神经网络模型简述

BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,其激励函数是一般是S函数(即sigmoid函数)。从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。

径向基神经网络(RBF神经网络)是一种性能良好的前向网络,其激励函数是一般是高斯函数。具有最佳逼近、训练简洁、学习收敛速度快以及克服局部最小值问题的性能,目前已经证明RBF网络能够以任意精度逼近任意连续的函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快。因此它已经被广泛应用于模式识别、非线性控制和图像处理等领域。

实例:交通运输能力预测设计

输入的神经元可以根据需要求解的问题和数据表示方式确定。根据对关于货运量影响因素的分析,这里分别取国内生产总值GDP 、工业总产值、铁路运输路线长度、复线里程比重、公路运输线路长度、等级公路比重、铁路货车数量和民用载货车辆数量等8 项指标作为货运量的影响因子, 将它们作为网络的输入.以货运总量、铁轮货运量和公路货运量作为网络输出.由此来构建BP 网络和RBF网络。利用某7 年的历史统计数据作为网络的训练样本, 以后续2 年的历史统计数据作为网络的外推测试样本.输入样本如表1 所示, 目标样本如表2 所示.

表 1  输入的样本数据

GDP

工业

总产

铁路

运输

长度

复线

比重

公路

运输

长度

等级

公路

比重

铁路

货运

数量

民用

载货

车辆

58478

135185

5.30

0.23

16.2

0.21

1015.3

586.4

67884

152369

5.30

0.27

18.5

0.26

1107.6

577

74462

182563

6.21

0.25

21.4

0.28

1214.6

601.2

78345

201587

6.32

0.26

25.7

0.29

1336.5

626.8

82067

225689

6.32

0.26

30.2

0.31

1443.5

675.96

89403

240568

6.47

0.28

34.6

0.33

1516.2

726.31

95933

263856

6.48

0.28

39.5

0.36

1642.6

764.25

104790

285697

6.70

0.30

42.0

0.39

1763.1

852.21

116694

308765

6.70

0.30

46.3

0.41

1867.1

878.23

表 2  目标样本

货运量

铁路货运量

公路货运量

102467

52266

46153

124486

60728

56246

148691

69355

67346

162663

79757

78267

186695

91757

95647

205764

99736

98756

226697

109965

102765

245716

120537

111258

263683

130465

120412

由于输入的每组样本数据包含8 项, 所以神经网络的输入层设置8个神经元。每组输入样本对应的目标样本包含3 项,所以输出层设置3 个神经元。

关于隐含层的设计:

一般来讲, 一个三层的神经网络可以完成任意n 维输入到m 维输出的映射.但实际上, 隐层的层数和单元数的选择尚无理论上的指导, 一般是根据经验或者反复实验确定.因此, 网络往往存在很大的冗余性, 一定程度上增加了网络学习的负担.隐单元数目太多会导致学习时间过长、误差不一定最佳, 也会导致容错性差、不能识别以前没有看到的样本, 因此一定存在一个最佳的隐单元数.文中建立的BP神经网络模型中, 隐层神经元个数介于5-17.通过训练结果中误差的大小最终确定隐层中神经元的个数为14 .而RBF神经网络采用正规化网络模型,隐单元的个数与训练样本的个数相同,即7个.

MATLAB程序及仿真结果

BP网络程序:

p=[58478 135185 5.30 0.23 16.2 0.21 1015.3 586.4;
67884 152369 5.30 0.27 18.5 0.26 1107.6 577;
74462 182563 6.21 0.25 21.4 0.28 1214.6 601.2;
78345 201587 6.32 0.26 25.7 0.29 1336.5 626.8;
82067 225689 6.32 0.26 30.2 0.31 1443.5 675.96;
89403 240568 6.47 0.28 34.6 0.33 1516.2 726.31;
95933 263856 6.48 0.28 39.5 0.36 1642.6 764.25]';
t=[102467 52266 46153;124486 60728 56246;
148691 69355 67346;162663 79757 78267;
186695 91757 95647;205764 99736 98756;
226697 109965 102765]';
t1=clock;#对应于测试样本的目标输出
TF1 = 'tansig';TF2 = 'logsig';
net=newff(p,t,[14,3],{TF1 TF2 },'trainlm');
Net.trainParam.show=500;
net.trainParam.epochs=1000;
net.trainParam.goal=0.0001;
net=train(net,p,t);
date=etime(clock,t1)
y=sim(net,p);
p1=[104790 285697 6.70 0.30 42.0 0.39 1763.1 852.21;116694 308765 6.70 0.30 46.3 0.41 1867.1 878.23]';#测试样本
y1=sim(net,p1)#测试样本p1对应的BP网络实际输出

BP网络程序运行结果:

可以看出, 网络在训练18次(Epoch)后就收敛于目标函数.当带入2 组测试样本P1后, 网络的实际输出为:

y1 =1.0e+05 *2.2598    2.28021.1027    1.11471.0390    1.0464
耗时:date =0.6080

RBF网络程序:

p=[58478 135185 5.30 0.23 16.2 0.21 1015.3 586.4;
67884 152369 5.30 0.27 18.5 0.26 1107.6 577;
74462 182563 6.21 0.25 21.4 0.28 1214.6 601.2;
78345 201587 6.32 0.26 25.7 0.29 1336.5 626.8;
82067 225689 6.32 0.26 30.2 0.31 1443.5 675.96;
89403 240568 6.47 0.28 34.6 0.33 1516.2 726.31;
95933 263856 6.48 0.28 39.5 0.36 1642.6 764.25]';
t=[102467 52266 46153;
124486 60728 56246;
148691 69355 67346;
162663 79757 78267;
186695 91757 95647;
205764 99736 98756;
226697 109965 102765]';
t2=clock;
net=newrb(p,t);
datet=etime(clock,t2)
p1=[104790 285697 6.70 0.30 42.0 0.39 1763.1 852.21;
116694 308765 6.70 0.30 46.3 0.41 1867.1 878.23]';
y1=sim(net,p1)

RBF网络程序执行结果:

y1 =1.0e+05 *2.2670    2.26701.0996    1.09961.0277    1.0277
耗时:date = 0.0780

由于训练样本容量比较小,只有7 组数据, 所以预测精度不是很高.考虑到这些因素, 这里得到的预测结果还是可以接受的。

但从耗时来看,RBF网络的耗时远远小于BP网络,随着样本数据量加大,两者在耗时上的差距会越来越明显。

RBF网络的优点:
①  它具有唯一最佳逼近的特性,且无局部极小问题存在。
②  RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网络中RBF网络是完成映射功能的最优网络。
③  网络连接权值与输出呈线性关系。
④  分类能力好。
⑤  学习过程收敛速度快。

神经网络 - BP神经网络与RBF神经网络模型解决实际问题 - (Matlab建模)相关推荐

  1. bp神经网络和神经网络,bp神经网络的应用领域

    BP人工神经网络 人工神经网络(artificialneuralnetwork,ANN)指由大量与自然神经系统相类似的神经元联结而成的网络,是用工程技术手段模拟生物网络结构特征和功能特征的一类人工系统 ...

  2. mlp神经网络和bp神经网络,bp神经网络lm算法原理

    MATLAB中训练LM算法的BP神经网络 1.初始权值不一样,如果一样,每次训练结果是相同的 2.是 3.在train之前修改权值,IW,LW,b,使之相同 4.取多次实验的均值 一点浅见,仅供参考 ...

  3. 神经网络 | BP神经网络-数字识别(附源代码)

    ===================================================== github:https://github.com/MichaelBeechan CSDN: ...

  4. 人工神经网络的典型模型,人工神经网络模型定义

    神经网络BP模型 一.BP模型概述误差逆传播(ErrorBack-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型. PallWerbas博士于1974年在他 ...

  5. 神经网络算法有哪些模型,神经网络模型应用实例

    神经网络模型对于金融行业有用吗 谷歌人工智能写作项目:神经网络伪原创 应用数学与金融数学的区别联系与区别 1.应用数学,是利用数学方法解决实际问题的一门学科,在经济金融.工程科技等领域都有应用写作猫. ...

  6. python神经网络编程 豆瓣,python训练神经网络模型

    人工神经网络的学习类型 学习是神经网络研究的一个重要内容,它的适应性是通过学习实现的.根据环境的变化,对权值进行调整,改善系统的行为.由Hebb提出的Hebb学习规则为神经网络的学习算法奠定了基础. ...

  7. 神经网络原理一个简单的神经网络模型搭建

    神经网络基本原理 文章目录 神经网络基本原理 前言 一.神经网络是什么? 1.1 神经网络的分类 1.2 神经网络结构图 1.3 神经元 1.4 为什么神经网络能预测? 二. 一个最简单的神经网络模型 ...

  8. 卷积神经网络人脸特征提取,cnn卷积神经网络模型

    1.卷积神经网络 有哪些改进的地方 卷积神经网络的研究的最新进展引发了人们完善立体匹配重建热情.从概念看,基于学习算法能够捕获全局的语义信息,比如基于高光和反射的先验条件,便于得到更加稳健的匹配.目前 ...

  9. bp神经网络和cnn神经网络,bp神经网络与cnn区别

    深度学习与神经网络有什么区别 深度学习与神经网络关系2017-01-10最近开始学习深度学习,基本上都是zouxy09博主的文章,写的蛮好,很全面,也会根据自己的思路,做下删减,细化. 五.Deep ...

最新文章

  1. putty修改字体配色
  2. SQL2005利用ROW_NUMER实现分页的两种常用方式
  3. 小猿圈之python的输入和输出
  4. 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API
  5. Linux_ACL_su
  6. windows下端口占用解决方法-查看和杀死占用端口进程
  7. python中特殊变量-python list每三个分成一组python中星号变量的几种特殊用法
  8. tf.train.slice_input_producer(转)
  9. Cgroup学习之——Ubuntu下交叉编译ARM平台libcgroup工具
  10. C中遇到错误error: jump to label [-fpermissive]的解决办法
  11. 二叉树的非递归遍历算法
  12. 四阶龙格库塔法的基本思想_利用龙格库塔法求解质点运动方程
  13. 网盘背后的秘密(稍作修改)
  14. 用python做网站的步骤_Python建网站的步骤
  15. ar涂涂乐 技术分析
  16. python石头剪刀布游戏代码输入格式随机数种子设置为0_Python模拟石头剪刀
  17. 【小程序源码】简洁界面清爽让人非常舒服的一款短视频去印自带接口
  18. 微服务实施笔记(二)——搭建实验部署环境
  19. java utf8 简繁转换 类库,java 中文繁简体转换工具 opencc4j
  20. ubuntu16.04安装flash player

热门文章

  1. 【CH376】使用CH376控制U盘-读写文件
  2. Linux 内存管理篇(1)内存寻址
  3. 六:分布式架构存储设计
  4. 单片机c语言串口通信协议实现,单片机C语言之串口通信协议
  5. 第03课:储备-用户故事精要(iPad 版)
  6. 将python代码做成exe文件
  7. Python 获取当前系统时间
  8. java while求百钱买百鸡问题_java - 百钱百鸡小算法
  9. YOLOv3中的非极大值抑制
  10. Ueditor上传图片文件大小上限问题