陳春玲,陳 紅,余 瀚
(南京郵電大學 計算機學院,江蘇 南京 210003)
隨著互聯網的飛速發展,移動終端和智能手機的普及使得用戶能夠更加快速方便地獲取信息,同時人們對移動網絡服務的質量要求也越來越高。傳統模式只是通過簡單的局部數據來對移動用戶的行為進行建模分析,其準確度和可信度較差,導致開發出的移動應用只能滿足少數用戶的行為習慣,而無法根據不同的移動用戶的行為習慣來實現個性化的服務[1]。因此,尋求一種優質的網絡預測模型具有重要的研究意義。
BP(back propagation)神經網絡作為一種單向傳播的多層前向網絡,其主要目的是反復修正權值和閾值,使得誤差函數達到最小值。由于BP神經網絡具有獨特的非線性映射能力和很強的自適應能力,通常被作為建模的有效工具,因此,文中采用BP神經網絡模型對移動用戶行為進行預測分析。但該模型也有收斂速度慢、預測精度不高、易陷入局部極值等缺點[2]。針對這些問題,提出了很多改進方法。例如,文獻[3]通過采用遺傳算法優化BP神經網絡的權值和閾值,并通過“試錯法”確定神經元數,該算法能達到預設目標的次數更多,實現全局最優,但是穩定性不高。文獻[4]采用改進的PSO(particle swarm optimization)算法優化BP神經網絡預測模型,在該算法中粒子群采用改進自適應慣性權重和改進自適應加速因子來優化BP神經網絡模型初始時的權值和閾值,改進算法明顯提高了模型的收斂速度,但是后期陷入局部極值的問題仍未得到解決。文獻[5]基于改進粒子群算法和BP神經網絡算法構建了網絡輿情預測模型,該模型在預測性能上有一定的優越性,但在效率上處于劣勢。
在此基礎上,文中采用基于改進的PSO算法和GA(genetic algorithm)算法的BP神經網絡模型對移動用戶行為進行預測,并通過實驗對算法性能進行驗證。
BP神經網絡(back propagation neural network)[6]是一種具有三層或三層以上的通過權值連接的網絡,包含輸入層、隱含層和輸出層。隱含層又有單層和多層之分,上下層之間的節點通過權值相互連接,而同一層之間的節點無連接。隱含層與輸出層中的各節點均有一個權值和閾值[7]。訓練的過程是通過誤差信號調節網絡的連接權值和閾值,這個調節過程是反復進行的,直到訓練次數達到最大值或者誤差達到要求的精度,則訓練結束,即找到全局最優解[8]。
文中采用多隱層BP神經網絡進行設計[9]。BP神經網絡結構對移動用戶行為進行預測的實質是利用移動用戶的行為參數(通話行為和網絡行為)構成的樣本數據作為輸入值,通過隱含層不斷地學習、判斷、更新,從輸出層得到移動用戶當前的操作行為的預測結果,并及時做出決策。步驟如下:
(1)采集用戶真實行為數據作為樣本數據,將樣本數據分為兩部分,一部分作為訓練數據,一部分作為測試數據;
(2)數據預處理;
(3)構建BP神經網絡的隱層數,迭代次數,目標函數;
(4)使用訓練數據訓練BP神經網絡模型;
(5)用測試數據測試訓練后網絡模型;
(6)分析預測數據與期望數據之間的誤差。
BP網絡預測模型見圖1。

圖1 BP網絡預測模型
粒子群算法(particle swarm: optimization,PSO)[10]是一種智能優化算法,通過模擬鳥類的覓食過程實現尋優。作為一種高效并行優化算法,可用于解決大量非線性、不可微的復雜優化命題,且具有實現簡單、容易理解、收斂速度較快等優點[11]。同其他群體智能優化算法一樣,PSO算法容易產生早收斂、全局收斂性能差的問題[12]。原因是在粒子尋優過程中,速度更新公式會對尋優結果產生直接的影響,速度較大可以增加算法的全局搜索能力,速度較小可以增加算法的局部搜索能力,如何平衡PSO算法全局和局部搜索能力是PSO算法改進的核心。為進一步提高PSO算法的全局搜索能力,避免陷入局部最優解,同時又不錯過全局最優解,文中提出對慣性權重進行非線遞減的優化公式。改進后的算法減弱了粒子優化早期和后期變化不穩定的問題,防止搜索過程中引起強烈振蕩,從而提高了PSO算法的性能。
(1)
其中,ωmax和ωmin分別為最大和最小權重;λ為控制因子,控制慣性權重和加速因子同時變化引起的振蕩;t為當前迭代次數;s為最大迭代次數。
遺傳算法(genetic algorithm,GA)[13]是通過模擬自然界中生物進化規則而實現的一種搜索算法,具有操作簡便、非線性、全局尋優以及并行性好等優點[14]。文中引入遺傳算法的交叉、變異操作來增加優化后期粒子的多樣性,從而擴大粒子搜索空間,防止陷入局部最優解。
交叉操作是產生新個體的重要操作,在二進制編碼過程中,使用單點交叉法[15],從兩個雙親子串中隨機選擇一點k作為交叉點,通過復制交叉點產生兩個新的后代,每個后代的第k位從它的某個雙親的第k位復制得來,交叉點在第k位進行交叉操作的方法為:
(2)
變異操作是維持種群的多樣性和提高算法局部尋優能力的重要手段。依據變異概率將個體編碼串中的某些基因值用其他基因值來替換,從而形成一個新的個體。對于變異方式,文中采用單點變異[16]。
交叉概率pc和變異概率pm對遺傳算法的優化性能起著重要的作用。為了避免種群發散和陷入局部極值,概率采用自適應變化[17]的遺傳概率,在保證種群多樣性的情況下不破壞適應度值高的種群。當種群在進化過程中由于陷入局部搜索空間而不能跳出時,可通過增加pm來擺脫這種情況,當種群在解空間比較分散時,pc和pm可適當減小。
(3)
(4)

文中利用PSO算法收斂較快和GA算法全局搜索能力較強兩方面的優勢來彌補BP神經網絡預測模型的不足。本質上是將BP神經網絡的訓練誤差作為PSO算法和GA算法的待優化目標函數,通過不斷地評價粒子的適應度值來更新并尋找最優粒子所在的位置,直到達到預設的最大迭代次數或最小誤差,最后將得到的最優值作為BP神經網絡的較優初始連接權值和閾值,從而提高該預測模型的收斂速度和準確性。
(1)確定BP網絡拓撲結構,初始化PSO維度、速度、位置、慣性權重、學習因子、最大迭代次數等參數。
(2)根據適應度函數計算每個粒子的適應度值,將粒子當前所處的位置當作自身最優位置pib,將初始種群中粒子最優位置當作全局最優位置pgb。適應度函數為:
f(Xi)=E(Xi)-1
(5)
其中,E(Xi)見式8
(3)按以下公式更新每個粒子的速度和位置。


(6)
(7)
其中,r1,r2為0~1之間的隨機數;c1,c2為學習因子;n為粒子數;d為解空間維度。
(4)更新粒子群算法的慣性權重ω(同式1),隨著算法迭代次數的非線性變化結果為:
其中,最大權重ωmax=0.9;最小權重ωmin=0.1;λ為控制因子,控制慣性權重和加速因子同時變化引起的振蕩,為了保證在整個搜索過程中輸出誤差平穩遞減,λ通常取3。
(5)再次計算粒子適應度值,根據交叉、變異規則選擇適當的粒子進行交叉、變異操作,更新種群。
(6)重復步驟2~5,采用改進的PSO算法和GA算法的交叉、變異操作優化BP神經網絡的權值和閾值,直至達到預設的目標,則停止搜索,將優化后的權值和閾值作為BP神經網絡訓練的初始權值和閾值。
(7)進行BP神經網絡訓練,通過公式計算誤差,直至達到預設的最大訓練次數或者滿足最小誤差,訓練結束。
(8)
(9)

(8)將優化后的BP神經網絡用于對移動用戶的行為預測。
數據來源:徐州移動分公司2017年第一季度鼓樓區4G移動用戶數據。
數據處理:對數據進行提煉、轉換,獲取該區域1 000名4G用戶的行為特征,主要分為兩類,即通話行為和網絡行為。通話行為分為:通話時長、通話次數、短呼次數、長呼次數、漫游(主叫或被叫)呼叫次數、周末或工作日呼叫次數、短信收發條數等。網絡行為分為:視頻聊天時長、網上購物次數、網頁瀏覽頻率等,所有的行為屬性為數值性屬性。
參數設置:BP神經網絡采用多隱層網絡結構,隱含層傳遞函數設置為“logsig”,輸出層函數選用purelin,迭代數取100,訓練目標1.0e-005。遺傳參數設置為:種群規模40,進化代數100,交叉概率0.7,變異概率0.01。粒子群算法參數設為:種群規模40,進化代數100,加速因子c1=c2=2,粒子最大速度vmax=0.5,慣性權重取值區間[0.2,0.9]。


(10)
(11)
(12)
(13)
在Matlab2011a環境下,使用Matlab語言編程,構建三種預測模型,即:BP神經網絡預測模型(BP)、基于標準PSO算法的BP神經網絡預測模型(PSO-BP)和基于改進的PSO算法和GA算法的BP神經網絡預測模型(IPSO-GA-BP)。通過這三種模型分別對移動用戶行為進行預測。
采用Matlab進行實驗仿真,對徐州移動分公司提供的測試數據進行預處理,得到符合模型要求的數據類型,然后輸入到基于Matlab實現的BP神經網絡移動用戶行為分析模型中,最后得出輸出的移動用戶操作行為和實際移動用戶操作行為的結果。圖2~4是將測試數據分別輸入到BP、PSO-BP和IPSO-GA-BP得到的預測結果。圖5是三種網絡預測模型的輸出與實際用戶行為值的誤差對比圖。表1是三種模型的誤差指標比對。

圖2 BP網絡模型預測輸出

圖3 PSO-BP網絡模型預測輸出

圖4 IPSO-GA-BP網絡模型預測輸出

圖5 三種網絡模型預測誤差

算法MSEEMSEerr BP0.000 117 5330.010 841 2790.000 127PSO-BP1.49E-050.003 860 0520.000 016IPSO-GA-BP0.000 0030.001 732 0510.000 003
通過仿真結果,對比圖2~4可知,基于BP神經網絡算法的網絡預測模型輸出擬合度最差,其次是PSO-BP網絡預測模型。從圖4可明顯看出,基于IPSO-GA-BP算法的網絡預測模型的預測結果更接近目標值,原因是IPSO-GA-BP算法融合了IPSO算法和GA算法的優勢,彌補了BP神經網絡算法易陷入局部極值、收斂速度慢、尋優精度低的缺陷。從圖5和表1可知,IPSO-GA-BP算法比BP算法和PSO-BP算法更穩定、可靠。因此,文中提出的IPSO-GA-BP算法的網絡預測模型在預測移動用戶行為的準確性和可靠性方面具有較高的應用價值。
采用BP神經網絡模型對移動用戶行為進行預測,針對BP神經網絡算法存在易陷入局部最優解、尋優精度低、收斂速度慢的問題,提出一種基于改進的PSO算法和GA算法的BP神經網絡混合算法,即IPSO-GA-BP算法。該算法在BP神經網絡算法的基礎上融合了PSO算法和GA算法的優勢,仿真結果表明,算法在對移動用戶行為預測的精確度和穩定性上均有所提高。