陳珂 何箐



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