黃珍珍 毛亞楠 高萌
摘 要 本文主要基于BP神經網絡對圖書館讀者流量進行預測,建立BP神經網絡模型,從輸入層輸入數據,逐層傳遞,將輸出層輸出的預測值與實際值比較得出相對誤差,并以此為根據不斷調整網絡的權值和閾值,以獲得最小誤差。利用Matlab仿真模型對數據及預測結果誤差進行分析,結果表明BP神經網絡對圖書館讀者流量進行預測具有較好的效果。
關鍵詞 BP神經網絡 讀者流量預測 Matlab仿真
0 引言
圖書館以其豐富的圖書資源,強大的文獻檢索功能,為人們的工作、生活提供了極大的方便,使人們能夠快速及時地掌握最新科研成果、政治事件以及文化娛樂方面的信息。對圖書館讀者流量進行預測,能夠幫助圖書館工作人員及時掌握讀者流量數據,合理分配任務,從而在人群高發(fā)時期能做好準備應對一些突發(fā)應急事件。
然而,圖書館的讀者流量受到天氣、交通、地理位置和節(jié)假日等多種因素影響,因此讀者流量數據沒有規(guī)律和穩(wěn)定性??紤]到讀者流量預測具有的“黑箱”和非線性的特征,為提高預測結果的準確性,本文采用BP神經網絡對流量進行預測,并在預測數據基礎上結合實際數據進行驗證。
1 BP神經網絡算法基本原理
BP神經網絡是誤差反向傳播的多層前饋神經網絡,是模擬大腦的工作方式,通過許多簡單的神經元組成的一種非線性系統(tǒng),具有非線性映射能力、泛化能力和容錯能力的特點,主要應用于非線性建模、函數逼近、模式分類等方面。BP神經網絡基本結構為:輸入層、一個或多個隱含層和輸出層。
同層之間的神經元互相獨立,不進行數據的傳輸。輸入數據從輸入層輸入,逐層傳遞,且每層的輸出值通過連接權系數傳至下一層,輸入數據為前層輸出值的加權和。將輸出層數據即預測值與實際值比較得出相對誤差,利用輸出后的誤差來估計輸出層的直接前導層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層地反傳下去,就獲得了所有其他各層的誤差估計,并以此為根據不斷調整網絡的權值和閾值,以獲得最小誤差。
2 讀者流量預測模型
2.1 數據的預處理
本文以某圖書館2011年10月1日至30日的讀者流量為數據樣本,做出讀者流量折線圖(如圖1所示)。
圖1 某圖書館1至30日讀者流量折線圖
為使數據規(guī)范化對數據進行歸一化處理,采用公式(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神經網絡能夠較好地進行圖書館讀者流量預測,且神經網絡具有很強的非線性映射能力和柔性的網絡結構,靈活性強、精度高。由于讀者流量不具有周期穩(wěn)定性,因此采用BP神經網絡預測方法能最大限度地減小誤差。本文的研究結果對于圖書館的科學管理有著重要的實用價值。