999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

粒子群算法優化的BP網絡預測軟件質量

2014-08-03 15:23:10宮麗娜馬懷志
計算機工程與應用 2014年23期
關鍵詞:優化質量模型

宮麗娜,馬懷志

棗莊學院 信息科學與工程學院,山東 棗莊 277160

粒子群算法優化的BP網絡預測軟件質量

宮麗娜,馬懷志

棗莊學院 信息科學與工程學院,山東 棗莊 277160

對于軟件項目來說,越早地獲得軟件的質量級別,就會越大地減少軟件項目的開發和維護成本。質量預測建模技術是軟件質量評價體系中的關鍵技術,通過該技術可以建立起軟件中度量數據和質量要素間的非線性關系,這樣可以避免主觀因素的干擾,得到更加客觀的軟件質量級別,從而更有利于管理決策[1]。

目前國內外對質量預測建模技術已經有了一些研究。主要有兩方面:基于軟件錯誤測試報告或者軟件質量度量來預測軟件的缺陷數和基于軟件質量度量來預測軟件的可靠性。

在傳統的軟件質量預測建模技術中,主要采用回歸方法,基于軟件的規模、復雜度或者測試數據來預測軟件的缺陷數[2-3]。Khoshgoftaar和Seliya[4]提出了采用回歸樹(Regression Tree)預測軟件各模塊中的錯誤數的質量預測模型,Khoshgoftaar等提出了一種結合模糊聚類的質量預測模型[5]。我國的蔡開元教授提出了一種結合模糊方法的模糊軟件可靠性的確認模型[6-7]。

1992年,Karunanithi第一次將人工神經網絡技術應用于軟件質量預測模型中,他建立了基于一個實際項目的錯誤數據集合來估計累計錯誤數的質量預測模型,并采用三種不同的神經網絡進行實驗,得出了比傳統的方法更好的結果[8]。Nidhi Gupta和Manu Pratap Singh采用BP神經網絡建立基于執行時間來預測軟件可能發生的錯誤數的軟件質量預測模型[9]。俞立軍,賁可榮采用前向級聯神經網絡建立軟件質量預測模型[10]。Liang Tian和Afzel Noore利用遺傳算法優化的神經網

CNKI網絡優先出版:2013-05-21,http://www.cnki.net/kcms/detail/11.2127.TP.20130521.1027.002.html絡建立了軟件質量預測模型[11-12]。

基于以上研究,在軟件質量建模技術中,基于軟件質量度量利用神經網絡和改進的神經網絡成了主流,但是選擇哪些軟件質量度量指標作為模型的輸入,以及怎樣改進神經網絡都是研究的內容。基于此,本文提出了基于粒子群算法的BP神經網絡預測模型,該模型是以C&K度量指標表征面向對象軟件的度量屬性:CBO、RFC、DIT、LCOM、NOC、WMC作為輸入。

1 軟件度量和質量預測模型的關系

軟件度量就是對影響軟件質量的內部屬性進行量化測量[13]。而在量化的基礎上建立的質量預測模型能夠對用戶所關心的軟件質量特性進行客觀的評價。軟件的可靠性、功能性等這些質量要素是無法直接度量的,需要通過度量軟件的內部屬性來間接地得到。所以,軟件度量和軟件質量預測模型間的關系,如圖1所示[14]。

圖1 軟件度量和軟件預測模型間的關系

圖中可以直接度量的度量1,度量2,…,度量n作為軟件質量預測模型的輸入,通過這n個度量指標來得到度量n+1的預測值,從而反映出軟件的質量特性。

軟件質量預測模型的實質就是從歷史數據中尋找軟件度量與軟件質量要素之間的關系。

2 BP神經網絡

1985年,D.Ruvmelhar和McClelland提出了BP神經網絡,主要包含輸入層、隱含層和輸出層。圖2所示模型是只有一層隱含層的BP網絡。

圖2 BP網絡結構

BP網絡是誤差反傳誤差反向傳播算法的學習過程,分為正向傳播和反向傳播兩個階段。在正向傳播中,信息從輸入層傳遞給中間層(中間層可以設計為單隱層或者多隱層),經過中間層的處理傳遞給輸出層,完成一次學習的正向傳播處理過程。當實際輸出與期望輸出不符時,就會進入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權值,向隱層、輸入層逐層反傳。神經元節點的特性函數是S型函數,如公式(1)所示:

3 基于粒子群算法的BP神經網絡

3.1 粒子群優化算法

粒子群優化(Particle Swarm Optimizer,PSO)算法是通過模擬鳥群覓食行為而發展起來的一種基于群體協作的隨機搜索算法。PSO中,每個優化問題的潛在解就是搜索空間中的一只鳥,稱之為“粒子”,所有的粒子都有一個由被優化的函數決定的適應值,每個粒子還有一個速度決定它們飛翔的方向和距離,通過粒子間的相互作用在解空間中進行搜索,從而得到最優解。

粒子群算法的主要思想是初始化一群隨機粒子,然后通過迭代找到最優解,每次迭代中粒子跟蹤兩個極值來更新自己。其中粒子個數稱為種群規模m;第i個粒子在 d 維空間的速度表示為Vi=(Vi1,Vi2,…,Vid);位置表示為 Xi=(Xi1,Xi2,…,Xid)(i=1,2,…,m)。在每次迭代中,根據每一個粒子的適應度,更新每個粒子的個體最優 pbest=(p1,p2,…,pd)和全局最優值 gbest=(g1,g2,…,gd)粒子通過動態跟蹤個體極值和全局最優值來更新其速度和位置的公式如下:

式中 j=1,2,…,d ;t為迭代次數;C1,C2是學習因子;w為慣性權值;rand()是介于(0,1)之間的隨機數。

3.2 粒子群算法優化BP網絡

3.2.1 算法簡介

BP網絡采用的梯度下降法,使得權值收斂到某個值時,不能保證它是誤差平面的全局最小值,而PSO算法避免了梯度下降法中的缺點,可以避免BP網絡的缺陷,同時也可以縮短神經網絡的訓練時間。因此用粒子群算法代替梯度下降法訓練BP網絡的參數,可以改善BP算法性能[15-18]。優化的學習算法中,粒子向量 Xi= (Xi1,Xi2,…,Xid)各元素的值表示BP網絡中神經元的權值或閾值,其中d為BP網絡中的所有權值和閾值個數。粒子群算法中的粒子的適應度函數為式(5)所示:

式中,n表示樣本個數,popIndex=1,2,…,popSize,popSize表示粒子的個數,Yi,j表示第i個樣本的第 j個理想輸出值,yi,j表示第i個樣本的第 j個實際輸出值。算法的流程圖如圖3所示。

圖3 算法流程圖

3.2.2 算法設計與實現

該算法是將PSO替代BP網絡中的梯度下降法。該算法的主要思想是通過PSO算法優化BP神經網絡的連接權值和閾值,這樣能夠改善BP算法的性能。具體如下:

步驟1初始化BP網絡結構,主要初始化神經網絡各層的神經元個數以及隱含層的層數。

步驟2初始化粒子群,主要初始化粒子的位置向量、速度向量的維數(dimsize)、粒子群的規模(popSize)、學習因子C1,C2、慣性權重w、粒子群及每個粒子的速度和個體極值和全局最優值;確定適應度函數。

步驟3計算各粒子的適應度值。使用訓練樣本對每一粒子進行前向傳播計算訓練誤差,然后根據公式(5)計算粒子的適應度。

步驟4根據各粒子的適應度值更新個體極值和全局最優值。

步驟5根據個體極值和全局最優值更新各粒子速度和位置。

步驟6判斷算法停止條件。計算迭代產生的新的粒子群的適應度,判斷算法是否達到最大迭代次數或者達到規定的誤差標準,如果條件滿足則生成最優解。算法停止迭代;否則迭代次數增1后返回步驟3繼續迭代。

通過上述具體的該算法的步驟可以知道,該算法的復雜度為O(n),在訓練網絡模型時要比BP網絡節省很多時間。

4 基于PSO的BP網絡預測軟件質量實例

4.1 參數設置

本文采用該算法對面向對象的軟件的可靠性質量屬性進行實驗。采用C&K度量指標:CBO、NOC、DIT、LCOM、RFC、WMC作為預測模型的輸入變量,軟件的可靠性作為模型的輸出[19-22]。先通過訓練數據對該網絡模型進行訓練,得到 CBO、NOC、DIT、LCOM、RFC、WMC六個指標和軟件可靠性之間的非線性關系,然后通過訓練好的這個網絡模型,對需要驗證的軟件進行軟件可靠性預測。

本實驗基于美國宇航局的度量數據計劃中的KC1數據庫中的28個歷史數據,其中20個為訓練數據,8個為驗證數據。為了加快訓練速度,對歷史數據進行歸一化處理。

BP網絡結構中,隱含層數為1,輸入層節點數為6,隱層節點初始化12,輸出層節點數為1。PSO算法中粒子數為30;C1=2,C2=1.8;w隨迭代次數由0.9線性地減小為0.3。

本實驗的機器配置為CPU:Intel?CoreTMi5-2430M,內存:4 GB的聯想筆記本,采用C#語言進行代碼實現。

4.2 結果分析

實驗與BP算法進行了比較,兩個算法的誤差曲線如圖4,5所示。

圖4 BP網絡誤差曲線

圖5 基于PSO的BP網絡誤差曲線

由表1可知,BP網絡迭代2 049次達到預期結果,而PSO-BP網絡只迭代了100次就達到預期誤差由此可知訓練時間明顯縮短,收斂速度得到了提高,而訓練得到的MSE也更小。

表1 學習算法的比較

由圖6可知,基于PSO的BP網絡優于傳統的BP網絡,PSO-BP訓練出來的神經網絡能更好地對數據進行驗證。也就是說基于PSO的BP網絡建立的軟件質量預測模型能夠更好地反應軟件度量和質量要素之間的非線性關系。

圖6 驗證數據的曲線擬合

5 結束語

質量預測建模技術是軟件質量評價體系中的關鍵技術,本文將BP神經網絡和粒子群算法相結合,用粒子群算法替代BP網絡中的梯度下降法,并將該方法應用于軟件質量的可靠性預測中,建立了考慮6個度量元的軟件可靠性的預測模型,實驗表明,粒子群優化神經網絡模型能夠迅速而精確地預測軟件的質量,正確地描述軟件度量和質量要素之間的非線性關系。

[1]李虎,史曉華,楊海燕,等.軟件質量評價技術[J].計算機研究與發展,2002,39(1):61-67.

[2]Hatton L C.Safety related software development:standards,subsets,testing,metrics,legal issues[M].[S.l.]:McGraw-Hill,1994.

[3]Fenton N E,Lawrence S,Glass R.Science and substance:a challenge to software engineers[J].IEEE Software,1994:86-95.

[4]Khoshgoftaar T M,Seliya N.Tree-based software quality estimation models for fault prediction[C]//Proceedings of the 8th IEEE Symposium on Software Metrics,2002:203-214.

[5]Khoshgoftaar T M,Liu Y.Multiobjective module-order model for software quality enhancement[J].IEEE Transactions on Evolutionary Computation,2004,8(6):593-608.

[6]蔡開元.軟件可靠性工程基礎[M].北京:清華大學出版社,1995.

[7]蔡開元.一個模糊軟件可靠性確認模型[J].航空學報,1993(11):95-98.

[8]Karunanithi N,Whitley D,Malaiya Y K.Using neural networks in reliability prediction[J].IEEE Software,1992,9(4):53-59.

[9]Gupta N,Singh M P.Estimation of software reliability with execution time model using the pattern mapping technique ofartificialneuralnetwork[J].Computerand Operations Research,2005,32(1):187-199.

[10]俞立軍,賁可榮.基于神經網絡的軟件可靠性模型的實現與分析[J].計算技術與自動化,2002,21(3):1-4.

[11]Tian L,Noore A.Evolutionary neural modeling for software cumulative failure time prediction[J].Reliability Engineering and System Safety,2005,87(1):45-51.

[12]Tian L,Noore A.On-line prediction of software reliability using an evolutionary connectionist model[J].Journal of Systems and Software,2005,77(2):173-180.

[13]程杜平,錢紅兵.軟件質量與度量[J].計算機工程與應用,2002,38(7):80-83.

[14]陳起.軟件度量與評測技術研究及Java軟件度量與評測工具的實現[D].北京:北京航空航天大學,2001.

[15]陳樹,徐保國,王海霞,等.基于粒子群優化神經網絡算法在發酵過程控制中的研究[J].計算機與應用化學,2007,24(7):885-887.

[16]曾萬里,危韌勇,陳紅玲.基于改進PSO算法的BP神經網絡的應用研究[J].計算機技術與發展,2008,18(4):49-51. [17]葛哲學,孫志強.神經網絡理論與MATLAB R2007實現[M].北京:電子工業出版社,2007.

[18]劉洪波,王秀坤,孟軍.神經網絡基于粒子群優化的學習算法研究[J].小型微型計算機系統,2005,26(4):638-640.

[19]Thwin M M T,Quah T S.Application of neural network for predicting software development faults using object-oriented design metrics[C]//Proceedingsof9th InternationalConference on NeuralInformation Processing(ICONIP’02),2002,5:2312-2316.

[20]Quah J T S,Thwin M M T.Prediction of software readiness using neural network[C]//Proceedings of 1st International Conference on Information Technology&Applications(ICITA 2002),Australia,2002.

[21]Thwin M M T,Quah T S.Application of neural networks forsoftware quality prediction using objectoriented metrics[J].Journal of Systems and Software,2005,76(2):147-156.

[22]Kanmani S,Rhymend Uthariaraj V,Sankaranarayanan V,et al.Object oriented software quality prediction using generalregressionneuralnetworks[J].ACM SIGSOFT Software Engineering Notes,2004,29(5):1-6.

GONG Lina,MA Huaizhi

College of Information Science and Engineering,Zaozhuang University,Zaozhuang,Shandong 277160,China

The modeling technology of software which can find the nonlinear relationship between metric data and quality factors is the key technology in the software quality evaluation system.BP neural network is a kind of modeling method for the nonlinear relationship between metric data and quality factors,but there are some problems,such as slow convergence speed and easily getting into local minimum.So it proposes that using the optimized BP network based on PSO to establish the prediction model of software quality,which solves the problem of slow convergence speed and easily getting into local minimum well.In the basis of the evolutionary BP neural network,through the experiment with 28 groups of data,and by comparing with the result of BP model,the model is validated.

prediction model of software quality;software metrics;neural network;Particle Swarm Optimization(PSO)

預測軟件質量的技術中,軟件建模技術是軟件質量評價體系中的關鍵技術,它可以發現軟件中度量數據和軟件質量要素之間的非線性關系。BP神經網絡能夠很好地模擬度量數據和質量要素之間的非線性關系,但是BP網絡存在易于陷入局部極小和收斂速度慢的問題,所以提出了用粒子群算法優化BP神經網絡,通過優化的BP網絡建立軟件質量模型,這樣能很好地解決BP網絡收斂速度慢和局部極小的問題。在實現該進化BP神經網絡的基礎上,利用28組數據進行實驗,并通過與BP模型的結果的比較,驗證了該模型。

軟件質量預測模型;軟件度量;神經網絡;粒子群算法

A

TP311

10.3778/j.issn.1002-8331.1301-0180

GONG Lina,MA Huaizhi.Software quality prediction of BP network based on PSO.Computer Engineering and Applications,2014,50(23):65-68.

宮麗娜(1985—),女,助教,主要研究方向為軟件工程;馬懷志(1984—),男,助教,主要研究方向為模式識別。E-mail:390701387@qq.com

2013-01-16

2013-04-27

1002-8331(2014)23-0065-04

猜你喜歡
優化質量模型
一半模型
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
“質量”知識鞏固
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
質量守恒定律考什么
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做夢導致睡眠質量差嗎
主站蜘蛛池模板: 亚洲第一成年人网站| 尤物亚洲最大AV无码网站| 狠狠综合久久| 亚洲三级电影在线播放| 久久美女精品| 国产精品短篇二区| 亚洲视频四区| 无套av在线| 2018日日摸夜夜添狠狠躁| 国产精品污污在线观看网站| 日韩国产黄色网站| 亚洲国产成人精品青青草原| 国国产a国产片免费麻豆| 91丝袜乱伦| 91精品国产福利| 人妻一区二区三区无码精品一区| 亚洲区视频在线观看| 91福利免费视频| 国产成人精品18| 国产欧美精品专区一区二区| 欧美高清国产| 国产第一色| 二级毛片免费观看全程| www.亚洲天堂| 国产婬乱a一级毛片多女| 99ri国产在线| 欧日韩在线不卡视频| 男女性色大片免费网站| av在线人妻熟妇| 永久免费无码成人网站| 久久亚洲国产最新网站| 91成人在线免费视频| 伊大人香蕉久久网欧美| 国产精品成人不卡在线观看 | 欧美怡红院视频一区二区三区| 九九视频在线免费观看| 一级爱做片免费观看久久| 久久精品91麻豆| 热99re99首页精品亚洲五月天| 亚洲中文字幕国产av| 亚洲综合专区| 国产人在线成免费视频| 中文字幕调教一区二区视频| 992tv国产人成在线观看| 国产成人精品在线| www亚洲天堂| 一级全黄毛片| 国产AV毛片| 亚洲视频三级| 欧美a级在线| 亚洲国产成人在线| 最新日本中文字幕| 国产人妖视频一区在线观看| 亚洲精品动漫在线观看| 欧美午夜久久| 国产不卡在线看| 91成人免费观看| 国产va欧美va在线观看| 美女国内精品自产拍在线播放| 国产精品免费入口视频| a色毛片免费视频| 激情乱人伦| 欧美成人午夜影院| 精品一区国产精品| 亚洲精品午夜天堂网页| 69综合网| 三上悠亚在线精品二区| 日韩欧美国产成人| 国产在线自揄拍揄视频网站| 成人夜夜嗨| 亚洲人成网站在线观看播放不卡| 中文字幕精品一区二区三区视频| v天堂中文在线| 国产特级毛片aaaaaa| 国产精品视屏| 久久久亚洲色| 91精品最新国内在线播放| 欧美日韩国产系列在线观看| A级全黄试看30分钟小视频| 欧美视频在线播放观看免费福利资源| 色婷婷狠狠干| 亚洲无码高清一区|