鄧敏, 盧寧
(廣東科學技術職業學院, a.圖書館, b.計算機工程技術學院(人工智能學院), 廣東, 珠海 519000)
圖書借閱量是衡量館藏文獻利用率的重要指標,對評估圖書館業務、提升圖書館管理和服務水平具有重要意義,得到了國內外從業人員的廣泛關注[1-3]。目前常用的圖書館借閱量預測方法為線性回歸分析模型和灰色理論模型,其中線性回歸分析模型以多元線性回歸分析、指數平滑、滑動自回歸等方法為代表,具有理論清晰和計算簡單的優點,但是在面對圖書館借閱量這種復雜隨機過程時,線性回歸分析模型的預測精度較低[4-6]。灰色理論是以常微分方程為原型的一種統計模型,通過累加和累減運算將數據中隱含的規律提取出來,在小樣本、貧信息條件下表現出了較強的適應性,但誤差累積問題的存在導致灰色理論僅適合對數據進行短時預測[7-8]。
BP神經網絡是一種經典的非線性、非平穩時間序列分析方法,能夠高精度逼近于任意非線性函數,且具有自適應、自學習能力,被廣泛應用于非線性估計領域[9-10]。文獻[11]利用BP神經網絡建立了圖書館借閱量預測模型,并對某高校圖書館2018年圖書借閱量進行預測,結果表明BP神經網絡能夠較好地描述借閱量變化趨勢,且預測精度較高,但是存在模型復雜、實時性較低的問題。
實際生活中,圖書館借閱量不僅與圖書館自身位置、館藏圖書情況有關,也與附近居民的年齡、專業、受教育程度等密切相關,是一種復雜的非線性、非平穩隨機過程,直接對原始數據進行建模分析會導致模型復雜和過擬合等問題的發生[12-13]。因此,如何對歷史數據進行分析,提取其中與借閱量密切相關的因素并剔除冗余信息,從而降低模型復雜度、提升預測性能是本文的關注點。
基于數據挖掘理論和思想,本文提出一種基于因子分析(FA)模型聯合粒子群(PSO)優化BP神經網絡的圖書館借閱量預測模型,首先利用FA對原始數據進行降維分析,提取與借閱量相關性較高的公共因子,然后將其作為BP神經網絡輸入進而建立預測模型,同時考慮到BP神經網絡模型初值設置難題,提出改進的PSO算法對其全局尋優,提升預測性能。最后開展仿真實驗對所提方法的預測性能進行評估,并將結果與傳統方法進行對比分析。
因子分析(FA)是機器學習理論中一種經典的數據降維分析方法,通過線性變換的方式利用少數幾個公共因子對原始高維數據進行描述,這些公共因子包含了原始數據中絕大部分的有用信息,因此利用FA在實現數據降維的同時不會造成信息損失。對于圖書館借閱量歷史數據y=[y1,y2,…,yN]T,利用FA對其進行分析的數學模型可以表示為
yi=a1x1+a2x2+…+aKxK+εi
(1)
其中,xk(k=1,…,K)為K維公共因子,εi為噪聲分量,ak(k=1,…,K)為因子系數。
將式(1)寫為矩陣形式可以表示為
y=Ax+ε
(2)
其中,A∈RN×K為因子加載矩陣,x=[x1,x2,…,xK]T為公共因子向量,ε=[ε1,ε2,…,εN]T為噪聲向量。
對于式(2)所示的FA模型,其求解過程如下。
計算歷史數據與公共因子向量的協方差矩陣Σ:
Σ=cov(x,y)
(3)
其中,cov()為求向量協方差矩陣運算符。
對協方差矩陣進行特征分解,得到特征值和特征向量:
(4)
其中,λk(k=1,…,K)為特征值,uk(i=1,…,K)為對應的特征向量。
根據式(5)計算因子加載矩陣:
(5)
得到因子加載矩陣后,利用式(2)可以計算得到公共因子,從而將原始N維數據轉化為K維(K?N)低維數據。
利用Thompson回歸法計算每個公共因子的得分:
s=ATΣ-1x
(6)
其中,s=[s1,s2,…,sK]T,sk為第k個公共因子的得分。
BP神經網絡是當前理論最為成熟、應用最為廣泛的一種人工神經網絡(ANNs)模型,采用多層前向反饋結構在輸入和輸出神經元之間建立任意非線性映射函數,因此適合對圖書館借閱量數據進行建模預測。
圖1為典型的三層網絡結構模型。第一層為輸入層,其神經元的個數由所要描述的具體問題決定;第二層為隱含層,通常采用徑向基函數將輸入層神經元映射至輸出層;最后一層為輸出層,實現對輸入神經元的響應。BP神經網絡具有自適應和自學習能力,其網絡迭代過程主要包括前向傳播和反向傳播2個階段。前向傳播指的是輸入層神經元經隱含層神經元映射至輸出層神經元的傳播過程,反向傳播指的是輸出層神經元與預期輸出之間的誤差經隱含層神經元向輸入層神經元傳播時對權值修正的過程。

圖1 三層BP神經網絡結構
本文將通過FA得到的公共因子,作為BP神經網絡的輸入神經元,則輸入層神經元向隱含層神經元映射的過程可以表示為
(7)
其中,wk為權值,θj為閾值,f()為徑向基函數,其具體形式為
(8)
其中,c為變量中心,σ為節點寬度。
隱含層神經元進一步向輸出層映射的過程可以表示為
(9)
其中,el(l=1,…,M)為輸出層神經元,M為輸出層神經元個數,ωl為對應的權值。

(10)
在式(10)的基礎上,BP神經網絡的反向傳播采用梯度下降法,按照Δ減小的方向對權值wj、ωl和閾值θj進行更新。
雖然BP神經網絡具有結構簡單、運算效率高、對非線性問題建模能力強等優點,但是由于采用梯度下降法求解,其預測性能對模型參數初值選取依賴性較大,因此如何確定最優初值是BP神經網絡面臨的一個難題。PSO是通過對自然界中鳥群覓食過程進行抽象而得到的一種智能仿生優化算法。其基本思想是將鳥群中的每個個體抽象為具有位置和速度信息的運動粒子,群體中所有粒子能夠共享信息。開始時,所有粒子的搜索方向都是隨機的,之后的每次迭代粒子都按照特定速度向群體中當前處于最優位置的粒子靠攏。隨著迭代的進行,整個群體由最初的無序逐漸向有序轉變,最終獲得最優解[14]。
PSO算法的搜索性能受慣性因子h影響較大,當h取較大值時,算法的全局搜索能力較強而局部搜索能力較弱,反之,當h取較小值時,算法的局部搜索能力較強而全局搜索能力較弱。傳統方法采用固定慣性因子的PSO算法存在易早熟、易陷入局部最優的問題[15],因此本文對其進行優化改進,將h的取值與當前迭代次數關聯,在初期迭代次數較小時,使h取較大值從而加快收斂速度,隨著迭代的進行,迭代次數逐漸變大,使h取值逐漸減小從而保證算法精度。優化后的慣性因子h可以表示為
(11)
其中,hmin和hmax為h取值的最小值和最大值,max_it為最大迭代次數。
圖2為基于數據挖掘的圖書館借閱量預測算法流程。主要包含以下幾個步驟。

圖2 基于數據挖掘的借閱量預測算法流程
步驟1 搜集圖書館借閱量歷史數據,歷史數據中包含借閱人性別、年齡、專業、受教育程度、婚姻狀況、職業、距離、交通方式、圖書館館藏數量、書本質量,借閱時間,借閱量等多種信息,并將其用1、2、3等數字量化表示。
步驟2 利用FA對歷史數據進行建模分析,進而得到與借閱量相關性較大的公共因子。
步驟3 將FA獲得的公共因子作為輸入神經元,建立BP神經網絡模型。
步驟4 初始化PSO模型,包含種群數量、最大迭代次數、參數取值空間等。
步驟5 利用PSO對BP神經網絡模型初值進行全局尋優,得到最優參數集合。
步驟6 結合步驟3和步驟5得到的結果,建立最優BP神經網絡預測模型,對圖書館未來借閱量進行預測。
步驟7 建立預測誤差等指標對預測結果進行定量評估。
為了驗證本文模型的有效性,選取某高校圖書館的借閱量數據作為研究對象,借閱量數據記錄周期為1 d。實驗時間內連續730 d的借閱量數據變化曲線如圖3所示。

圖3 借閱量數據曲線
由圖3可以看出,該圖書館借閱量數據變化較為復雜,是一種典型的非線性、非平穩隨機過程。實驗中,將前365期數據作為訓練樣本用于實現預測模型訓練,將剩余365期數據作為測試樣本用于預測性能評估。表1為本文搜集到的與借閱量相關的11個維度歷史數據,包括借閱人性別、年齡、專業、受教育程度、婚姻狀況、職業、距離、交通方式、圖書館館藏數量、書本質量和借閱時間,分別對其作出數值標號以便后續分析。

表1 借閱量相關維度
按照圖2所示流程,首先利用FA模型對歷史借閱量數據進行分析。圖4為通過Thompson回歸法計算得到的公共因子得分情況。由圖4可以看出,借閱人受教育程度、距離和書本質量3項公共因子得分較高,表明其與借閱量相關性較高;而借閱人性別、年齡、婚姻狀況、交通方式和借閱時間5項公共因子得分較低,表明其與借閱量不相關;剩余專業、職業和圖書館館藏數量3項公共因子與借閱量具有一定的相關性。因此,將借閱人受教育程度、距離、書本質量、專業、職業和圖書館館藏數量6項公共因子作為BP神經網絡的輸入層神經元,進而建立預測模型。

圖4 不同因子得分
圖5為利用改進PSO算法、傳統PSO算法對BP神經網絡模型初值進行全局尋優得到的最優參數變化曲線。由圖5可以看出,傳統PSO由于采用固定慣性因子,在迭代后期出現了振蕩現象,經過21次迭代才實現收斂,而改進PSO將慣性因子與迭代步長關聯,只需要7次迭代即實現了收斂,收斂速度提升了3倍。

圖5 最優參數變化曲線
圖6為利用所提方法、文獻[11]方法對365期測試數據進行預測得到的預測結果和誤差曲線。由圖6可以看出,本文方法得到借閱量預測結果變化曲線與實際借閱量較為一致,預測精度較高,而文獻[11]方法在初期預測精度較高,但是隨著時間的延長,預測精度逐漸下降。圖7為以季度為單位的2種方法的預測結果對比。由圖7可以看出,本文方法的預測精度均優于文獻[11]方法。究其原因在于,文獻[11]方法利用全部歷史數據構建訓練模型,然而如圖4所示,歷史數據中借閱人性別、年齡、婚姻狀況、交通方式和借閱時間等信息與借閱量之間的關聯性較低,不僅不會對提升預測性能帶來幫助,反而會增加模型復雜度,降低預測性能。而本文方法通過FA分解提取相關性較高的公共因子,避免了冗余信息對預測模型的影響,因此預測精度較高。

圖6 不同方法預測結果

圖7 不同季度預測結果
將圖書館中不同類別數據進行劃分,并分類統計2種方法預測結果得到的預測誤差,如表2所示。由表2可以看出,本文方法的預測誤差均小于2.2%,且預測精度均優于文獻[11]方法。而文獻[11]方法對于體育和教育類圖書借閱量的預測結果超過5%,進一步驗證了本文方法的有效性。

表2 不同類別圖書預測誤差
圖書館借閱量數據具有非線性、非平穩和高維度特征,其變化趨勢與借閱人受教育程度、專業、職業、距離、圖書館館藏數量、書本質量等眾多因素相關。由于傳統基于線性回歸和灰色理論的預測模型精度較低,本文將FA引入圖書館借閱量數據分析領域,利用FA提取與借閱量密切相關的6項公共因子,并將其作為BP神經網絡模型的輸入,進而建立PSO優化的BP神經網絡預測模型對某高校圖書館借閱量數據進行建模分析。結果表明,本文模型不僅能夠準確預測圖書館總借閱量,同時也可以對不同類別圖書借閱量進行準確預測,相對于對比方法具有收斂速度快、預測精度高的優勢,有利于支撐圖書館科學、高效和精細化的管理。