李毓剛 張龍飛



【摘 要】應用PSO優化算法代替BP算法中的梯度下降法訓練神經網絡的參數,可以達到全局尋優和快速高效的目的,并且可以避免局部極小問題。本文應用定量與定性相結合的方法,應用基于PSO神經網絡數字模型,建立了數字參考咨詢服務評價模型,并利用該體系指標對高校圖書館的參考咨詢服務評價進行了實證研究。
【關鍵詞】數字參考咨詢;PSO;神經網絡;評價
1數字參考咨詢服務評價體系綜述
根據數字參考咨詢服務以用戶為中心的原則,參照目前國內外的評價體系建立評價數字參考咨詢服務的指標體系。本文把指標體系劃分成數字參考源、參考咨詢服務、用戶滿意度、技術平臺、咨詢隊伍5個一級指標,再分別根據其特征進行指標的二級和三級細分。如表1所示:
2粒子群神經網絡算法
2.1評價方法的選取
利用BP神經網絡建立數字參考咨詢評價體系也已有研究。鑒于BP神經網絡算法處理信息能力強,可以并行處理數據,自身還具有學習、聯想和記憶能力,這種算法不但可以避免選取權重和相關系數時人為因素的干擾,而且評價結果也更加客觀。但BP神經網絡應用的是最速梯度下降法修正權值,也存在著一些弱點:①學習收斂速度慢;②容易陷入局部極小值;③網絡結構不確定。而粒子群優化算法是用PSO算法替代BP算法中的梯度下降法訓練神經網絡的參數(即權值和閾值),可以彌補BP算法的缺點,改善神經網絡性能,加快搜索速度,并且能夠防止BP算法的過早收斂,使其不易陷入局部極小,增強了網絡的泛化性能。因此本文提出了一種利用粒子群算法訓練神經元網絡的模型,來解決數字參考咨詢服務評價的問題。
2.2粒子群神經網絡優化算法原理
粒子群優化算法(PSO) 通過模擬鳥類覓食行為而發展起來的一種群體智能算法。每個個體能夠記住自己當前所找到的最好位置;此外,還記住群體中所有鳥中找到的最好位置。這兩個最有變量使得鳥在某種程度上朝這個方向努力。將這種思想抽象成數學模型就是:設N個粒子組成的一個群落,搜索空間為D維,第i個粒子的位置表示為向量(xi1,xi2,…, xid);第i個粒子“飛行”歷史中最優位置(即該位置對應解最優) pbest為(pi1,pi2,…,pid)。其中整個粒子群迄今為止搜索到最優位置gbest為(pg1,…,pgd)。第i個粒子的速度為向量Vi=(Vi1,vi2,…,vid)。每個粒子的位置按如下公式進行迭代變化(“飛行”):
vid(t+1)= ωVid(t)+c1r1[Pid-Xid(t)]+c2r2[Pgd-Xid(t)] (1)
Xid(t+1)=Xid(t)+Vid(t+1) (2)
其中ω為慣性權重。c1,c2為正常數,被稱為加速因子,通常c1=c2=2。r1 和r2為[0,1]區間服從均勻分布的隨機數。粒子群的規模N也可以根據搜索空間的維數D用下面公式計算:
另外,粒子在不斷根據速度調整自己的位置時,還要受到最大速度Vmax的限制,當vi超過Vmax時將被限制為Vmax。粒子群初始位置和速度隨機產生,然后按式(1)和式(2)進行迭代,直至滿足終止條件。
公式(1)由三部分組成,第一部分為粒子先前的速度,說明粒子的目前狀態;第二部分為“認知”部分,表示粒子本身的思考,鼓勵其飛向自身曾經發現的最佳位置;第三部分為“社會”部分,表示粒子間的信息共享與相互合作,鼓勵其飛向整個粒子群曾經發現的最佳位置。三個部分共同決定了粒子的空間搜索能力。
2.3粒子群優化神經網絡(PSO-BP)算法步驟
BP神經網絡的訓練過程是根據樣本集對神經元之間的連接權值、閥值進行調整的過程。基于粒子群優化神經網絡訓練過程亦如此,先將神經元之間的所有連接權值、閾值編碼成實數向量來表示種群中的個體;隨機生成這些向量的群體,接著按照算法原步驟迭代;迭代中新生成的個體向量還原為神經網絡權值和閥值。計算所有樣本通過神經網絡產生的均方差指標(適應度),如果均方差小于系統指定的誤差精度ε,則訓練過程停止,否則迭代繼續進行,直到達到最大迭代次數。用PSO算法訓練BP神經網絡的具體流程如下:
Stepl:首先初始化網絡結構。設定網絡的輸入層、隱含層、輸出層的神經元個數。
Step2:初始化種群的規模N,慣性權重ω、加速因子c1和c2、最大速度Vmax、最大迭代次數nmax、精度要求ε;
初始速度Vid,初始位置Xid。
Step3: 根據適應度函數計算每個粒子的適應度值(即神經網絡的輸出均方誤差MES)
2.3.1訓練集中每個樣本都有一個輸出值,按照當前網絡的結構和權值、閾值,計算出每個樣本的輸出值。
2.3.2通過公式:
Step4: 對每個粒子,用它的適應度值和個體極值pBest的適應度值比較,如果較好,則替代pBest;對每個粒子,用它的適應度值和全局極值gBest的適應度值比較,如果較好,則替換gBest;
Step5: 考察粒子的適應度和當前的最大迭代次數,若MES>ε或未到達最大循環次數nmax,進入下一步;否則退出;
Step6: 根據公式1和2更新粒子的速度和位置,生成下一代粒子;
Step7: 迭代次數加1,同時調整慣性權重ω;回到Step3。
Step8: 輸出一組全局最優粒子映射為神經網絡的權值和閥值。
Step9: 訓練結束。
3實證研究
3.1評價指標的標準化
根據設置好的參數選取為訓練樣本。首先將訓練樣本數據歸一化處理,將處理后的數據帶入優化后的神經網絡模型進行仿真,再把測試樣本進行歸一化處理,訓練結束得到的結果就是數字參考咨詢服務綜合評價結果。
結合中國地質大學圖書館的數字參考咨詢服務做了問卷調查。考察師生對數字參考咨詢服務的評價情況,請師生對參考咨詢各項指標打分,并給出綜合評價分。共收回70份問卷,其中有效問卷40份。選取37個樣本作為訓練樣本,其他三個樣本數據作為驗證樣本。并將所有有效樣本的數字參考咨詢服務評價各指標均值作為測試樣本(數據如下表2)。綜合測試樣本測試后的結果作為中國地質大學圖書館數字參考咨詢服務評價最終結果。
3.2模型建立
基于PSO優化BP神經網絡的算法流程,應用Matlab7進行編程實驗。本文應用一個隱層的BP神經網絡拓撲結構。因為在數字參考咨詢服務的評價模型中有29個三級指標,所以網絡輸入層的神經元個數為29。模型的建立最終需要對數字參考咨詢進行綜合評價,所以輸出層的神經元個數為1。隱含層節點數根據經驗,確定為8。應用s型函數Sigmoid作為激活函數。
粒子長度D為30*8+8+1=249;粒子群的個數N設置為40個;學習因子c1=c2=2;設置粒子最大迭代次數nmax設置為300次,粒子最大速度Vmax設置為0.5,最小誤差ε為0.00l。在本文中,引用了慣性權重線性下降的粒子群改進算法。故需要確定慣性權重的最大值為wmax=0.90;wmin=0.30。
按照粒子群優化神經網絡(PSO-BP)算法步驟,訓練完畢后得到的前全局最優粒子映射為網絡的權值和閾值。首先將訓練樣本數據歸一化處理,將處理后的數據帶入優化后的神經網絡模型進行仿真,然后把仿真結果進行歸一化處理。最后,把所有樣本的均值作為綜合測試樣本,訓練后得到中國地質大學圖書館參考咨詢最后綜合得分。
根據設置好的參數,分別應用BP神經網絡模型和PSO-BP神經網絡模型對實驗數據進行實驗。傳統BP 神經網絡的收斂速度為 2121步,而用改進粒子群優化的BP神經網絡的收斂速度僅為150 步,說明用PSO 算法訓練BP 神經網絡權值可以顯著提高網絡的收斂速度。
4結論
應用PSO優化算法代替BP算法中的梯度下降法訓練神經網絡的參數,可以達到全局尋優和快速高效的目的,并且可以避免局部極小問題。該算法不但具有全局搜索能力,而且提高了局部搜索能力。從而極大地改善了結果通過模型得出的數字參考咨詢服務的綜合評價結果。更加客觀真實地反映了數字參考咨詢服務的質量情況,為新時期圖書館整體服務質量的評估提供了客觀依據。
參考文獻:
[1]楊菊枝.數字環境下高校圖書館的參考咨詢及其評價[J].圖書館學刊,2005(5):83-84.
[2]白涵穎.數字參考咨詢評價體系研究[J].圖書館學研究,2007(6):70-72.
作者簡介:
李毓剛(1980.4~),男,漢,南海,副高(國家網絡規劃師),軟件工程。