陳珂 何箐
摘要:預(yù)測模型參數(shù)的選取對其泛化能力和預(yù)測準(zhǔn)確度,起著至關(guān)重要作用。基于徑向基核函數(shù)的最小二乘支持向量機參數(shù)主要涉及懲罰因子和核函數(shù)參數(shù),這兩個參數(shù)的選擇將直接影響最小二乘支持向量機的學(xué)習(xí)和泛化能力。為了提高最小二乘支持向量機的預(yù)測結(jié)果,文章用灰狼優(yōu)化算法對其參數(shù)尋優(yōu),建立軟件老化預(yù)測模型。通過實驗證明了該模型,對軟件老化的預(yù)測表現(xiàn)出很好的效果。
關(guān)鍵詞:軟件老化預(yù)測;最小二乘支持向量機;灰狼優(yōu)化算法
遺留在軟件中的缺陷會隨軟件系統(tǒng)長期持續(xù)運行造成計算機內(nèi)存泄漏、舍入誤差積累、文件鎖未釋放等現(xiàn)象發(fā)生,導(dǎo)致系統(tǒng)性能衰退甚至崩潰。這些軟件老化現(xiàn)象的發(fā)生不僅降低了系統(tǒng)可靠性,嚴(yán)重時還會危害人的生命財產(chǎn)安全。為了減輕軟件老化帶來的危害,對軟件老化趨勢進行預(yù)測,采取抗衰策略避免軟件老化現(xiàn)象的發(fā)生尤為重要[1]。
國內(nèi)外很多科研機構(gòu),如貝爾實驗室、IBM、南京大學(xué)、武漢大學(xué)[2]、西安交通大學(xué)[3]等,都對軟件老化展開了深入研究,并取得了一些成果。他們研究的主要方向是通過對軟件老化趨勢的預(yù)測,找到軟件抗衰策略最佳執(zhí)行時機。
本文以Tomcat服務(wù)器為研究對象,監(jiān)測Tomcat運行情況,收集系統(tǒng)性能參數(shù),建立基于灰狼優(yōu)化算法的最小二乘支持向量機軟件老化預(yù)測模型。預(yù)測軟件運行狀態(tài),確定軟件抗衰策略執(zhí)行時機。
1 最小二乘支持向量機
支持向量機(Support Vector Machine,SVM)是由Cortes和Vapnik[4]提出的。SVM以VC維理論和結(jié)構(gòu)風(fēng)險最小化原理為基礎(chǔ),可以很好地解決小樣本、非線性、高維數(shù)和局部極小值等問題。
當(dāng)訓(xùn)練樣本數(shù)目越多,SVM求解二次規(guī)劃問題越復(fù)雜,模型訓(xùn)練時間過長。Snykens等[5]提出最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM),艮P在SVM的基礎(chǔ)上用等式約束條件代替不等式約束,將二次規(guī)劃問題轉(zhuǎn)化為線性方程組問題,很大程度上的避免了 SVM大量的復(fù)雜計算,降低了訓(xùn)練難度。近年來LSSVM廣泛應(yīng)用于回歸估計和非線性建模等領(lǐng)域,取得了良好的預(yù)測效果。
本文采用徑向基核函數(shù)作為LSSVM模型的核函數(shù)?;趶较蚧撕瘮?shù)的LSSVM算法參數(shù)主要涉及懲罰因子C和核函數(shù)參數(shù)〃,本文采用灰狼優(yōu)化算法對LSSVM的參數(shù)尋優(yōu)。
2 灰狼優(yōu)化算法
2014年,Mirjalili等[6]提出灰狼優(yōu)化(Grey WolfOptimizer,GWO)算法,GWO算法通過模擬自然界灰狼的等級制度和捕食策略,尋找最優(yōu)值。GWO算法以快速收斂性、調(diào)節(jié)參數(shù)少,在求解函數(shù)優(yōu)化問題中表現(xiàn)出更加優(yōu)越性而備受關(guān)注。該方法在全局搜索性、收斂性等方面優(yōu)于粒子群優(yōu)化算法、差分進化算法和引力搜索算法,并在特征子集選擇、表面波參數(shù)優(yōu)化等領(lǐng)域廣泛應(yīng)用。
2.1 灰狼優(yōu)化算法原理
灰狼個體間通過協(xié)同合作來實現(xiàn)種群的繁榮發(fā)展,尤其是在捕獵過程中灰狼群體有著嚴(yán)格的金字塔式社會等級制度。等級最高的狼為α,剩下的灰狼個體被依次被標(biāo)記為β,δ,ω,它們協(xié)同合作進行捕食。
在整個灰狼群體中,α狼扮演捕獵過程中領(lǐng)導(dǎo)者的角色,負(fù)責(zé)狩獵過程中的決策及管理整個狼群;β狼和δ狼是適應(yīng)度次佳的群體,它們協(xié)助α狼對整個狼群進行管理,在狩獵過程中擁有決策權(quán);剩余灰狼個體被定義為ω,協(xié)助α,β,δ對獵物進行攻擊。
2.2 灰狼優(yōu)化算法描述
GWO算法模仿狼群狩獵行為將整個狩獵的過程分為包圍、追捕、攻擊3個階段,捕獲獵物的過程就是尋找最優(yōu)解的過程。假設(shè)灰狼所處的解空間是V維,灰狼群體X由N個灰狼個體組成,即X=[Xi;X2,…,XN];對于灰狼個體Xi(1≤i≤N)來說,它在V維空間中的位置Xi=[Xi1;Xi2,…,XiV],該灰狼個體位置與獵物所處位置的距離由適應(yīng)度來衡量,距離越小適應(yīng)度越大。GWO算法尋優(yōu)過程如下。
2.2.1 包圍
首先對獵物進行包圍,在此過程中獵物與灰狼之間的距離用數(shù)學(xué)模型表示為:
其中:Xp(m)為第m次迭代后獵物位置,X(m)為灰狼位置,D為灰狼和獵物之間的距離,A和C分別是收斂因子和擺動因子,計算公式為:
2.2.2 追捕
GWO算法的尋優(yōu)過程是根據(jù)α,β和δ的位置,來定位獵物位置。ω狼在α,β,δ狼的引導(dǎo)下對獵物進行追捕,根據(jù)當(dāng)前最佳搜索單位的位置更新它們各自位置,并根據(jù)更新后α,β,δ位置重新確定獵物位置。狼群個體位置會隨獵物的逃跑而改變,此階段更新過程的數(shù)學(xué)描述為:
2.2.3 攻擊
狼群對獵物進行攻擊并捕獲獵物,得到最優(yōu)解。該過程通過式(2)中遞減實現(xiàn)。當(dāng)1≤∣A∣,表明狼群會更加接近獵物,這時狼群就會縮小搜索范圍進行局部搜索;當(dāng)1<∣A∣,狼群就會朝遠(yuǎn)離獵物方向分散開,擴大搜索范圍進行全局搜索。
基于GWO-LSSVM預(yù)測模型流程如圖1所示。
3 實驗
3.1 實驗環(huán)境搭建和數(shù)據(jù)采集
本文使用兩臺計算機構(gòu)建實驗環(huán)境,一臺安裝Tomcat服務(wù)器響應(yīng)Web請求,并用JDK自帶的JConsole對JVM內(nèi)存進行監(jiān)控;另一臺安裝Jmeter應(yīng)用程序作為服務(wù)器的負(fù)載生成器以及性能監(jiān)控器,不斷地向服務(wù)器發(fā)送負(fù)載,定時收集系統(tǒng)性能參數(shù)。
軟件響應(yīng)時間的預(yù)測是判斷軟件是否老化的重要指標(biāo)。通過Jmeter壓力測試工具對Tomcat服務(wù)器進行訪問,對系統(tǒng)性能參數(shù)吞吐量、請求量、已用內(nèi)存、平均響應(yīng)時間和每秒接收的數(shù)據(jù)量進行采集建立預(yù)測模型,通過該模型來預(yù)測軟件的平均響應(yīng)時間,判斷軟件運行狀態(tài),從而確定最佳的軟件抗衰操作執(zhí)行時間。本文是對Tomcat服務(wù)器軟件老化的研究,因此,平均響應(yīng)時間閾值設(shè)定為1 s。通過對Tomcat服務(wù)器進行監(jiān)測,采集500條數(shù)據(jù)作為訓(xùn)練集樣本,10條數(shù)據(jù)作為測試集樣本。
3.2 實驗結(jié)果分析
基于Matlab R2016a及LSSVM工具箱,編程構(gòu)建4個輸入和1個輸出的GWO-LSSVM模型,訓(xùn)練集數(shù)據(jù)對模型進行訓(xùn)練,得到基于GWO-LSSVM的軟件老化預(yù)測模型。為了減少隨機性對預(yù)測結(jié)果的影響,求50次預(yù)測結(jié)果平均值進行對比,如表1所示。
表1中的第一列為10個測試集樣本數(shù)據(jù)的序號,第二列為10個測試集樣本數(shù)據(jù)中軟件平均響應(yīng)時間的原始值,第三列為GWO-LSSVM模型預(yù)測軟件平均響應(yīng)時間的平均值。由表1可知,GWO-LSSVM模型在對軟件平均響應(yīng)時間的預(yù)測上都表現(xiàn)出了很好的預(yù)測效果,在對軟件老化狀態(tài)的判斷沒有出現(xiàn)誤判,表現(xiàn)出很高的預(yù)測準(zhǔn)確度。
4 結(jié)語
本文選用GWO算法來對LSSVM中的懲罰因子和核函數(shù)參數(shù)進行尋優(yōu),并建立基于GWO-LSSVM的軟件老化預(yù)測模型。通過實驗證明了GWO-LSSVM軟件老化預(yù)測模型,在對軟件老化的預(yù)測上表現(xiàn)出很好的預(yù)測結(jié)果。
[參考文獻(xiàn)]
[1]梁佩.基于WEB技術(shù)的軟件老化趨勢預(yù)測研究[D].哈爾濱:哈爾濱工程大學(xué),2013.
[2]鄭偉,郭成城.一種提高集群系統(tǒng)可用性的方法及其應(yīng)用[J].計算機應(yīng)用,2003(10):67-69.
[3]杜小智,齊勇,魯慧民,等.視頻點播系統(tǒng)的軟件老化估計和預(yù)測[J].計算機研究與發(fā)展,2011(11):2139-2146.
[4]VAPNIK V N.Universal learning technology:support vector machines[J].Nec Journal of Advanced Technology, 2005(2):137-144.
[5]SUYKENS J A K,GESTEL T V,BRABANTER J D,et al.1.east squares support vector machines[J].International Journal of CircuitTheory & Applications, 2015(6):605-615.
[6]MIRJALILI S, MIRJALILI S M, LEWIS A.Grey wolf optimizer[J].Advances in Engineering Software, 2014(3):46-61.