智能优化算法——神经网络算法小实践

时间:2024-05-19 13:29:12

实验四 神经网络算法
一、实验目的与要求
目的:熟悉BP神经网络主要思想,掌握BP神经网络算法过程和在预测方面的应用。
要求:上机运行,调试通过。
二、 实验设备:
计算机、Python语言软件
三、实验内容
下表所示为某地区公路运力的历史统计记录,利用BP神经网络建立相应的模型,并根据给出的2018和2019年的数据,预测相应的公路客运量和货运量。
表 某地区公路运力的历史统计
年份 人数/万人 机动数量/万辆 公路面积/万公里2 公路客运量/万人 公路货运量/万吨
1998 20.55 0.60 0.09 5126 1237
1999 22.44 0.75 0.11 6217 1379
2000 25.37 0.85 0.11 7730 1385
2001 27.13 0.90 0.14 9145 1399
2002 29.45 1.05 0.20 10460 1663
2003 30.10 1.35 0.23 11387 1714
2004 30.96 1.45 0.23 12353 1834
2005 34.06 1.60 0.32 15750 4322
2006 36.42 1.70 0.32 18304 8132
2007 38.09 1.85 0.34 19836 8936
2008 39.13 2.15 0.36 21024 11099
2009 39.99 2.20 0.36 19490 11203
2010 41.93 2.25 0.38 20433 10524
2011 44.59 2.35 0.49 22598 11115
2012 47.30 2.50 0.56 25107 13320
2013 52.89 2.60 0.59 33442 16767
2014 55.73 2.70 0.59 36836 18673
2015 56.76 2.85 0.67 40548 20724
2016 59.17 2.95 0.69 42927 20803
2017 60.63 3.10 0.79 43462 21804
2018 73.39 3.90 0.98
2019 75.55 4.10 1.02

四、实验原理
(1)BP神经网络原理
神经网络是指用大量的神经元构成的非线性系统,解决传统方法难以解决的问题,其中BP神经网络利用输出后的误差来估计输出层的直接前导误差,再用这个误差估计更前一层的误差,如此一层一层反转下去,就获得了所有层的误差估计。
(2)仿真过程或步骤
1.流程图
智能优化算法——神经网络算法小实践
图1
2.实验步骤
(1)原始数据的输入
(2)对数据进行归一化
(3)网络训练
(4)对原始数据进行仿真
(5)将原始数据仿真的结果与已知样本进行对比
(6)对新数据进行仿真

五、实验结果
可采用的训练函数:traingd、traingda、traingdm、trainlm、trainbfg、trainrp、traingdx、trainbr等。请至少使用前3种训练函数训练的BP神经网络进行预测。
本次实验分别用traingdm、traingd、traingda、trainrp、trainbfg五个训练函数进行训练,结果如下:
(1)traingdm梯度下降动量的BP算法训练函数
网络输出客运量 实际客运量
44663 44741
网络输出货运量 实际货运量
20655 20529
智能优化算法——神经网络算法小实践
图1-1.
智能优化算法——神经网络算法小实践
图1-2.
(2)traingd梯度下降的BP算法训练函数
45549 46448
19790 18739
智能优化算法——神经网络算法小实践
图2-1.
智能优化算法——神经网络算法小实践
图2-2.
(3)traingda梯度下降自适应Ir的BP算法训练函数
50719 51173
23407 23492
智能优化算法——神经网络算法小实践
图3-1.
智能优化算法——神经网络算法小实践
图3-2.
(4)trainbfg拟牛顿BP算法训练函数
44236.9 44230.3
22194.7 22195.3
智能优化算法——神经网络算法小实践
图4-1.
智能优化算法——神经网络算法小实践
图4-2.
(5)trainrp具有弹性的BP算法训练函数
52450.9 53022.3
21607.6 21618.4
智能优化算法——神经网络算法小实践
图5-1.
智能优化算法——神经网络算法小实践
图5-2.
六、思考BP网络中不同的关键参数(隐含层节点数、训练函数等)设置对实验结果的影响。
(1)traingdx梯度下降动量和自适应的Ir的BP算法训练函数(本次出图使用8个隐含结点数)
45196 44890
23058 24005
智能优化算法——神经网络算法小实践
图6-1.
智能优化算法——神经网络算法小实践
图6-2.
(第二次出图使用30个隐含结点数)
51552 52633
26883 27405
智能优化算法——神经网络算法小实践
图7-1.
智能优化算法——神经网络算法小实践
图7-2.
隐含层节点数对实验结果的影响:隐含节点的数量关系到训练结果的好坏,隐含节点越多,对图像的拟合程度就越好,对模型的预测能力就越强。
(2)训练函数对实验结果的影响:通过对多种训练函数的比较发现:traingdx——梯度下降动量和自适应的Ir的BP算法训练函数在此次实验中表现较为优秀。
(3)此外,影响实验结果的参数还有学习率,最大迭代次数,目标误差还有神经网络的隐含层的层数(本次实验中为单隐层),增加迭代次数,减小目标误差,增多隐层数量都可改善实验的性能和结果。
1.实验中学习率分别取值0.035和0.1时的实验结果
智能优化算法——神经网络算法小实践
图8-1.
智能优化算法——神经网络算法小实践
图8-2.
可以看出学习率较大的图像曲线拟合程度较高,从而改善了性能。

2.实验中迭代次数分别取值1000和2000时的实验结果
智能优化算法——神经网络算法小实践
图9-1.
智能优化算法——神经网络算法小实践
图9-2.
可以看出迭代次数较高的图像曲线拟合程度较高,预测结果也更较准确。

3.实验中目标误差分别取值1e-2和1e-3时的实验结果
智能优化算法——神经网络算法小实践
图10-1.
智能优化算法——神经网络算法小实践
图10-2.
可以看出目标误差较高的图像曲线拟合程度较高,目标误差较低的图像曲线拟合程度较差,预测能力也不好。