劉俊男,陳占芳,姜曉明,朱利莞
(長春理工大學 計算機科學技術(shù)學院,長春 130022)
網(wǎng)絡(luò)的飛速發(fā)展使人類的生活和工作變得十分快捷,如網(wǎng)絡(luò)聊天、智能辦公和智慧城市等,但是隨之而來的是日益突出的網(wǎng)絡(luò)安全問題[1-2]。在網(wǎng)絡(luò)環(huán)境快速發(fā)展的今天,面對安全威脅和攻擊手段多元化、規(guī)范化發(fā)展的趨勢,利用有效的防護措施防止網(wǎng)絡(luò)被攻擊成為研究熱點。
傳統(tǒng)的網(wǎng)絡(luò)安全預(yù)測方法存在以下問題,如:BPNN算法運算慢,存在局部極值問題;證據(jù)理論算法處理的數(shù)據(jù)只能是獨立的而且不能利用先驗知識合成不同數(shù)據(jù);馬爾可夫鏈算法由于公式復(fù)雜導(dǎo)致運算時間過長,在建立模型時存在困難。支持向量機(SVM)與其他算法相比,具有算法簡單、運算效率高、不易陷入局部極值的優(yōu)點,但是其參數(shù)的選取是隨機指定或者通過經(jīng)驗積累指定,所以預(yù)測模型的精確度相對較差,因此選取合適的算法進行參數(shù)的優(yōu)化成為改善預(yù)測精準度的關(guān)鍵。當解決包括參數(shù)調(diào)整問題的優(yōu)化問題時,群智能算法[3-5]被用于與SVM結(jié)合,提高模型的精確度。文獻[6]使用蝙蝠算法(BA)尋找SVM最優(yōu)值參數(shù),降低分類誤差。文獻[7]使用粒子群優(yōu)化(PSO)和離散PSO來進化FCRBFNN,進行結(jié)構(gòu)和參數(shù)的聯(lián)合優(yōu)化。文獻[8]提出SVM和PSO優(yōu)化技術(shù)結(jié)合的模型,用于預(yù)測飛機發(fā)動機的剩余使用年限。PSO算法存在早熟收斂和容易陷入局部極值的缺點,BA算法具有較強的全局搜索能力,但其收斂速度慢,因此二者與SVM結(jié)合用以預(yù)測時仍存在精度不足的問題。綜上所述,為解決預(yù)測精度不足的問題,本文提出一種基于模擬退火與高斯擾動的粒子群算法(SAGPSO)優(yōu)化SVM參數(shù)的預(yù)測模型。
針對PSO算法容易陷入局部極值的問題,引入模擬退火(SA)思想避免陷入局部極值,最終趨于全局最優(yōu),利用高斯擾動的變異運算再對最優(yōu)的個體進行進一步調(diào)整。本文提出了SAGPSO算法,執(zhí)行過程如下:先通過隨機的方式初始化種群,然后隨機搜索產(chǎn)生一組速度和位置,設(shè)置一個起始溫度,運用模擬退火算法得到一個值用以替代全局最優(yōu)值,保留被發(fā)現(xiàn)概率較小的粒子速度和位置,同時隨機改變發(fā)現(xiàn)概率較大的粒子的速度和位置,得到一組新的粒子速度和位置,然后采用高斯擾動對個體較優(yōu)的位置進行調(diào)整,展開進一步的搜索。
在每一次進化過程中,都使用高斯擾動對變異運算進行影響,并將原來的位置替換成高斯擾動后的位置,即
其中,ε和Xt是同階的隨機矩陣,每個元素εij~N(0,1);a為常數(shù),⊕為點乘。為了避免ε隨機取值范圍過大,導(dǎo)致粒子群活動位置偏離過大,用a來調(diào)節(jié)ε的搜索范圍。
算法具體步驟如下:
(1)對每個粒子的位置和速度進行初始化操作。確定粒子種群大小N和維數(shù)D,設(shè)置最大迭代次數(shù)M。
(2)對種群中每一個粒子的適應(yīng)度進行評價。計算種群內(nèi)所有粒子目前所在的位置和適應(yīng)值,將當前各個粒子的適應(yīng)度值存放于Pi中,將所有粒子的最優(yōu)適應(yīng)度值存放在Pg中。
(3)設(shè)置初始溫度。
(4)計算加入模擬退火影響后的適配值。使用式(2)計算此時各個粒子的適配值,替代全局最優(yōu)解的概率為:
(5)采用輪盤賭算法,從種群的各個粒子中隨機選取一個粒子作為全局最優(yōu)的替代值pbest',然后利用式(3)對每一個粒子的速度和位置同時進行更新。
(6)計算各個粒子新位置的值,并對各個粒子的相對較優(yōu)位置進行更新,使用高斯擾動對以上較優(yōu)位置進行一次調(diào)整,最后將擾動前后的位置進行比較,確定全局最優(yōu)位置pbest和該位置的最優(yōu)值。
(7)進行退溫操作。
(8)如果運行結(jié)果滿足程序的停止條件(運算達到一定精準度或者當前迭代次數(shù)達到最大迭代次數(shù)M)就停止本次搜索并輸出最終結(jié)果,否則轉(zhuǎn)到步驟(4)。
本文采用的起始溫度和退溫方式為:
其中,λ為[0.9,1]之間的冷卻系數(shù)。
選取某公司2018年5月1日至6月30日的網(wǎng)絡(luò)安全防護數(shù)據(jù)為原始數(shù)據(jù)源。首先每天對數(shù)據(jù)進行采樣,然后將采樣后的數(shù)據(jù)通過層次化安全態(tài)勢評估量化方法進行量化計算,得到106個原始安全態(tài)勢值,最后將其進行一次累加處理并且歸一化數(shù)據(jù),得到新值作為樣本集。
本文將SAGPSO算法與SVM相結(jié)合形成一種新的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型,為了檢驗此模型的精準性和優(yōu)化性,選取歸一化后的數(shù)據(jù)分別輸入到PSO-SVM模型、模擬退火粒子群(SAPSO)與SVM結(jié)合的SAPSO-SVM模型和本文提出的預(yù)測模型中進行預(yù)測,并對比預(yù)測結(jié)果。首先將數(shù)據(jù)樣本分為兩類,即訓(xùn)練集(用于構(gòu)建模型和方法訓(xùn)練)和測試集(用于將預(yù)測結(jié)果和實際值作對比),將前80個數(shù)據(jù)點稱為訓(xùn)練樣本集,后26個稱為測試樣本集。然后在SVM中輸入訓(xùn)練樣本進行學習,采用本文提出的算法對SVM的兩個參數(shù)(懲罰系數(shù)C和核參數(shù)g)進行優(yōu)化,最后將所獲得的兩個參數(shù)應(yīng)用到本文提出的模型中,再將測試樣本輸入到模型中進行學習、訓(xùn)練得到預(yù)測結(jié)果,此時的得到預(yù)測結(jié)果是數(shù)據(jù)經(jīng)過累加之后的結(jié)果,因此需將此結(jié)果進行還原操作并且進行反歸一化處理,從而得到最終結(jié)果。
圖1為本文預(yù)測模型的預(yù)測結(jié)果與未改進的PSO-SVM預(yù)測結(jié)果、SAPSO-SVM預(yù)測結(jié)果和原始安全態(tài)勢值進行對比。如圖所示,本文的預(yù)測結(jié)果總體上與實際值更加接近。
圖1 安全態(tài)勢值對比圖
圖2將三種模型預(yù)測結(jié)果分別與實際值進行對比,得到各個模型預(yù)測值與實際值之間的誤差值。如圖所示,本文模型的誤差值相對更小。
圖2 誤差對比圖
為將本文算法的可行性更加直觀的表現(xiàn),采用平均相對誤差
和均方根誤差
表1 三種模型預(yù)測結(jié)果的平均相對誤差和均方根誤差對比
網(wǎng)絡(luò)安全態(tài)勢預(yù)測是網(wǎng)絡(luò)安全態(tài)勢感知中的關(guān)鍵技術(shù),本文提出了一種SAGPSO-SVM預(yù)測模型。通過實驗數(shù)據(jù)對比表明,此模型相對于傳統(tǒng)SVM-PSO模型和SAPSO-SVM模型的預(yù)測結(jié)果更接近于實際值,能夠使預(yù)測精度達到更高,精準地刻畫出網(wǎng)絡(luò)的整體安全情況,提供安全防護的理論依據(jù),方便管理者可以及時發(fā)現(xiàn)網(wǎng)絡(luò)安全威脅,做好防護準備,實現(xiàn)主動防御。