黄珍珍 毛亚楠 高萌
摘 要 本文主要基于BP神经网络对图书馆读者流量进行预测,建立BP神经网络模型,从输入层输入数据,逐层传递,将输出层输出的预测值与实际值比较得出相对误差,并以此为根据不断调整网络的权值和阈值,以获得最小误差。利用Matlab仿真模型对数据及预测结果误差进行分析,结果表明BP神经网络对图书馆读者流量进行预测具有较好的效果。
关键词 BP神经网络 读者流量预测 Matlab仿真
0 引言
图书馆以其丰富的图书资源,强大的文献检索功能,为人们的工作、生活提供了极大的方便,使人们能够快速及时地掌握最新科研成果、政治事件以及文化娱乐方面的信息。对图书馆读者流量进行预测,能够帮助图书馆工作人员及时掌握读者流量数据,合理分配任务,从而在人群高发时期能做好准备应对一些突发应急事件。
然而,图书馆的读者流量受到天气、交通、地理位置和节假日等多种因素影响,因此读者流量数据没有规律和稳定性。考虑到读者流量预测具有的“黑箱”和非线性的特征,为提高预测结果的准确性,本文采用BP神经网络对流量进行预测,并在预测数据基础上结合实际数据进行验证。
1 BP神经网络算法基本原理
BP神经网络是误差反向传播的多层前馈神经网络,是模拟大脑的工作方式,通过许多简单的神经元组成的一种非线性系统,具有非线性映射能力、泛化能力和容错能力的特点,主要应用于非线性建模、函数逼近、模式分类等方面。BP神经网络基本结构为:输入层、一个或多个隐含层和输出层。
同层之间的神经元互相独立,不进行数据的传输。输入数据从输入层输入,逐层传递,且每层的输出值通过连接权系数传至下一层,输入数据为前层输出值的加权和。将输出层数据即预测值与实际值比较得出相对误差,利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层地反传下去,就获得了所有其他各层的误差估计,并以此为根据不断调整网络的权值和阈值,以获得最小误差。
2 读者流量预测模型
2.1 数据的预处理
本文以某图书馆2011年10月1日至30日的读者流量为数据样本,做出读者流量折线图(如图1所示)。
图1 某图书馆1至30日读者流量折线图
为使数据规范化对数据进行归一化处理,采用公式(1)进行计算。
= (1)
可以得到数据如表1。
表1 1至30日的读者流量(千人)
2.2 预测模型
对读者流量进行迭代预测,即以10月1日至6日的实际数据流量预测7日至12日的流量,再以7日至12日的实际数据预测未来六天的流量,依次迭代。这样便将所有数据分为五组,每组数据六个值,输出六个值,即输入层神经元数为6,输出层神经元数为6,根据经验公式(2)
=+(2)
其中为输入层神经元数,为输出层神经元数,为隐含层神经元数, 为1~10之间的整数。取 = 2,得出隐含层神经元数 = 5,则形成结构为6—5—6的BP神经网络模型。
3 预测结果与分析
本文通过Matlab建立仿真模型,网络的中间层采用S型正切函数tansig()作为神经元传递函数,输出层神经元的传递函数采用纯线性函数purelin(),训练函数用trainlm()。训练参数为:训练次数3000,训练目标0.0002。
在网络输入层输入5组实际数据作为训练样本,经过仿真模拟输出层的预测值如表2。
表2 10月7日至11月5日读者流量预测值(千人)
将预测值反归一化处理后与实际值进行比较的误差曲线分别如图2所示。
图2 7日至19日预测值与实际值的误差曲线
可见本文设计的方法对于读者流量的预测还是比较准确的,和实际值差别不大,基本达到了设计目的。
4 结束语
通过本文研究可知,BP神经网络能够较好地进行图书馆读者流量预测,且神经网络具有很强的非线性映射能力和柔性的网络结构,灵活性强、精度高。由于读者流量不具有周期稳定性,因此采用BP神经网络预测方法能最大限度地减小误差。本文的研究结果对于图书馆的科学管理有着重要的实用价值。