国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GWO-BP算法的軟件缺陷預測模型

2018-12-28 03:08于淑香溫一軍
關鍵詞:灰狼權值公式

于淑香,溫一軍

(沙洲職業(yè)工學院,江蘇 張家港 215600)

一、引言

隨著信息技術的快速發(fā)展,各行業(yè)都在廣泛應用各種軟件,軟件的質(zhì)量和可靠性也受到人們更多的重視。軟件缺陷預測技術對提高軟件質(zhì)量和可靠性、降低軟件開發(fā)和維護成本起著關鍵作用。軟件缺陷預測可以在軟件開發(fā)編程的早期檢測出系統(tǒng)的有缺陷模塊并對其進行修正,從而實現(xiàn)精準定位軟件缺陷且準確修改,最終提高軟件的質(zhì)量和可靠性。

現(xiàn)階段,軟件缺陷預測模型大致分以下幾類:邏輯回歸、貝葉斯統(tǒng)計方法、聚類分析、馬爾科夫模型、支持向量機、人工神經(jīng)網(wǎng)絡、線性判別分析等[1]。眾多研究人員已經(jīng)對以上模型開展了各種分析和研究,但是這些模型在軟件缺陷預測中的還存在一定問題,難以達到理想的效果。

本文提出了基于GWO-BP算法的軟件缺陷預測模型,目的在于提高軟件測試中缺陷預測的準確性。首先利用GWO算法優(yōu)化BP神經(jīng)網(wǎng)絡的參數(shù)值。其次,建立并不斷優(yōu)化基于該算法的軟件缺陷預測模型。最后通過實驗,驗證該模型對軟件缺陷模塊預測的效果。

二、BP和GWO算法

(一)BP算法

BP (Back—Propagation)神經(jīng)網(wǎng)絡是由Rumelhart,McClelland提出的概念,其結(jié)構簡單、可操作性強,具有非線性映射能力,是目前應用最廣泛的人工神經(jīng)網(wǎng)絡。但BP算法存在收斂速度慢、容易陷入局部最優(yōu)等缺陷,在很大程度上影響了預測結(jié)果[2]。BP模型如圖1所示,該模型包括輸入層、隱層、輸出層,其中W、V為連接權矩陣,跨層的神經(jīng)元之間則不連接[3]。

圖1 BP神經(jīng)網(wǎng)絡結(jié)構圖

BP神經(jīng)網(wǎng)絡算法由信號的正向傳播和誤差的反向傳播兩個過程組成。正向傳播,輸入信號通過隱含層處理,經(jīng)過非線性變換,轉(zhuǎn)向輸出層產(chǎn)生輸出信號,若輸出值與期望值不符,則轉(zhuǎn)入反向傳播過程。誤差反傳是將輸出誤差信號通過隱含層向輸入層逐層反傳,通過修改各神經(jīng)元的權值,使誤差沿梯度方向下降,這樣反復學習訓練,直到輸出的誤差達到要求或者達到最大迭代次數(shù),訓練停止。

1.權值初始化

將網(wǎng)絡中的所有權值隨機初始化。

2.根據(jù)實例的輸入,計算輸出層每個單元的輸出。

網(wǎng)絡的實際輸出及隱層單元的狀態(tài)Okj,由公式(1)計算:

公式中,θj是閾值,一般可采用Sigmoid函數(shù),即公式(2)作為激勵函數(shù)作用于它。

3.計算網(wǎng)絡各層誤差信號

對于輸出層的每個單元k,誤差δk,由公式(3)計算:

Ok是單元k的實際輸出值,Ok(1-Ok)是Logistic函數(shù)的導數(shù),而Tk是基于k給定訓練元組的已知目標值。

而對于隱藏層單元h的誤差由公式(4)計算:

4.調(diào)整各層的權值

公式(5)是權值的更新公式,公式(6)閾值的更新公式。

5.核查算法是否符合結(jié)束條件

如果網(wǎng)絡總誤差滿足設定的精度要求或符合結(jié)束條件,訓練過程結(jié)束。否則,繼續(xù)進行下一輪訓練。

(二)GWO算法

GWO算法是Mirjalili[4]等人2014年提出的一種新型群智能優(yōu)化算法,該算法通過模擬自然界中灰狼的狩獵跟蹤、追捕、包圍和攻擊等建立一個數(shù)學模型,進而完成最優(yōu)化工作[5]。整個狼群按照適應度值被分為最優(yōu)灰狼α、次優(yōu)灰狼β、第三優(yōu)灰狼β和其他狼ω四個等級。在捕食過程中α、β、δ灰狼追捕獵物,ω狼追隨前三者進向著目標搜索。捕食過程中,灰狼個體與獵物的距離為:

公式中 t表示迭代次數(shù);Xp(t)是獵物的位置,X(t)表示第t代時灰狼的位置,D表示獵物與灰狼之間的距離,C=2r1。

灰狼位置更新為:

其中,a是收斂因子,取值[0,2],max是最大迭代次數(shù);r2和 r2均是[0,1]的隨機數(shù):當|A|>1 時,灰狼群體將搜索范圍擴大,進行全局搜索;|A|<1時,灰狼群體將包圍圈縮小,進行局部搜索。

在狼群中,利用α、β、δ這三頭狼的位置跟蹤獵物的數(shù)學描述如下:

式(12)和式(13)定義了狼群內(nèi)ω與α、β、δ的距離關系。

式 (13)根據(jù)α、β、δ的位置計算ω狼的最終位置。

三、GWO-BP算法

(一)軟件缺陷預測模型設計

BP算法有收斂速度慢,易陷入局部最優(yōu),對初始化參數(shù)依賴性大等不足,而灰狼優(yōu)化算法具有收斂速度快,全局搜索能力強,避免陷入局部最優(yōu)等性能[5],二者結(jié)合恰好可以揚長補短,克服傳統(tǒng)BP算法的缺陷。提出基于GWO-BP算法模型用于預測的軟件缺陷,如圖2所示。其中,模型的預測準確率達到預先設置的值或循環(huán)次數(shù)達到最大值時終止優(yōu)化循環(huán)。

1.收集數(shù)據(jù)集。

2.建立基于BP的軟件缺陷預測模型。

3.利用GWO算法優(yōu)化BP算法的權值和閾值。

4.判斷模型的結(jié)束條件,如果預測結(jié)果滿足終止條件,則結(jié)束。否則返回步驟3,繼續(xù)實行優(yōu)化。

圖2 GWO-BP軟件缺陷預測模型流程圖

(二)GWO優(yōu)化BP神經(jīng)網(wǎng)絡

由于BP神經(jīng)網(wǎng)絡采用均方誤差梯度下降方向進行收斂,因此容易陷入局部最優(yōu),且收斂速度慢,而且BP神經(jīng)網(wǎng)絡對初始化參數(shù)中的權值和閥值具有較大的敏感性。本文采用GWO優(yōu)化BP神經(jīng)網(wǎng)絡,以達到克服BP算法的缺陷,避免陷入局部最優(yōu),而且使收斂加速。

用GWO優(yōu)化BP神經(jīng)網(wǎng)絡,即將灰狼的位置信息作為BP神經(jīng)網(wǎng)絡的權重和閾值,灰狼不斷對獵物的位置進行判斷和更新,相當于在不斷更新BP神經(jīng)網(wǎng)絡的閾值和權重,通過多次迭代,最終計算全局最優(yōu)結(jié)果[5]。優(yōu)化BP神經(jīng)網(wǎng)絡具體步驟:

1.初始化參數(shù)。包括灰狼種群大小、灰狼個體位置信息的維度、灰狼維度的上界和下界,最大迭代次數(shù)、隨機初始化灰狼位置。

2.將灰狼的位置映射給BP神經(jīng)網(wǎng)絡,按照公式計算適應度

3.適應度值的計算:狼群內(nèi)部按照等級被分為最優(yōu)、次優(yōu)、第三優(yōu)、和普通狼四組,并根據(jù)與的位置,用公式(11)~(13)更新的位置信息,并更新參數(shù)a、A和C的值。

4.判斷灰狼個體的每一維度越界情況,如有越界,把灰狼維度的上界或下界設置為越界的值。

5.判斷迭代次數(shù):如果小于最大迭代次數(shù),重復步驟2-步驟5,繼續(xù)下一次迭代,直到滿足條件;否則結(jié)束算法。

四、基于GWO-BP算法的軟件缺陷預測實驗

(一)實驗數(shù)據(jù)

實驗數(shù)據(jù)采用了美國國家航空航天局(NASA)提供數(shù)據(jù)包[6]中的4個數(shù)據(jù)集,這些數(shù)據(jù)集均為真實軟件項目,由常見的開發(fā)語言編寫。其相關參數(shù)如表1所示。

表1 實驗數(shù)據(jù)相關參數(shù)

根據(jù)數(shù)據(jù)集中Error_Count屬性,對軟件模塊進行缺陷分類,如數(shù)據(jù)集中屬性Error_Count≥1的模塊為有缺陷模塊,否則為無缺陷模塊[7]。

(二)評價標準

為了驗證本文模型的預測能力,采用十字交叉驗證行實驗,即將每個數(shù)據(jù)集平均分成10份,將其中9份輪流做訓練,剩余的1份做預測,取10次預測結(jié)果的均值作為對算法預測能力的評價[7]。

本文采用通用的準確率、查準率、查全率[7][8]三個指標來評價模型的預測能力,根據(jù)文獻[7][8]中的交叉矩陣,定義出模型評價指標,如表2所示[9]。

表2 模型評價指標定義

其中,實際正例數(shù)量P=TP+FN,實際負例數(shù)量N=FP+TN,實驗實例總數(shù)C=P+N。

(三)結(jié)果與分析

為了更好地對算法進行評價分析,將本文算法與PSO-BP[7],SA-BP[2]方法建立的軟件缺陷預測模型進行比較,基于CM1,JM1,KC1和PC1測試集的模型軟件缺陷預測結(jié)果比較如圖3-圖6。

圖3 數(shù)據(jù)集的CM1預測結(jié)果

圖4 數(shù)據(jù)集JM1的預測結(jié)果

圖5 數(shù)據(jù)集KC1的預測結(jié)果

圖6 數(shù)據(jù)集PC1的預測結(jié)果

分析實驗結(jié)果圖3-圖6可以看出,本文提出的GWO-BP算法與PSO-BP和SA-BP在四個數(shù)據(jù)集的軟件缺陷預測比較中有較高的性能,在準確率,查準率和查全率方面均優(yōu)于其他兩種算法且有較大的提高。但BP網(wǎng)絡需要較大的訓練樣本,計算成本較大,如何減少計算成本是今后的研究中需要注意的問題。

五、結(jié)語

基于GWO-BP的軟件缺陷預測模型能將GWO算法很好地與BP算法結(jié)合,成功地應用于軟件測試中。建立基于BP神經(jīng)網(wǎng)絡算法模型,使用灰狼優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡的參數(shù)值,解決其參數(shù)設置依賴性問題。該模型充分利用灰狼優(yōu)化算法的隨機搜索、全局優(yōu)化能力,避免了傳統(tǒng)BP算法的收斂速度慢和易陷入局部最優(yōu)的不足,解決了其對初始化權值和閥值參數(shù)設置的依賴性問題。采用交叉驗證的方式進行實驗,實驗結(jié)果表明,本文基于GWOBP算法的軟件缺陷預測模型優(yōu)于現(xiàn)有BP優(yōu)化算法。

猜你喜歡
灰狼權值公式
一種融合時間權值和用戶行為序列的電影推薦模型
組合數(shù)與組合數(shù)公式
排列數(shù)與排列數(shù)公式
灰狼和山羊
基于5G MR實現(xiàn)Massive MIMO權值智能尋優(yōu)的技術方案研究
等差數(shù)列前2n-1及2n項和公式與應用
谷谷雞和小灰狼
灰狼的大大噴嚏
例說:二倍角公式的巧用
強規(guī)劃的最小期望權值求解算法?
普定县| 碌曲县| 敦化市| 嘉义县| 松滋市| 勐海县| 车险| 新干县| 大竹县| 德钦县| 和静县| 永康市| 颍上县| 连平县| 大姚县| 南部县| 那坡县| 汝州市| 启东市| 正蓝旗| 安宁市| 山东省| 赤城县| 麟游县| 阳春市| 根河市| 白水县| 红桥区| 莱西市| 格尔木市| 东阳市| 洪雅县| 宜君县| 舟曲县| 盐源县| 区。| 南宫市| 宣化县| 禄丰县| 扬州市| 乡宁县|