亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于蟻群算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)

        2023-11-29 10:37:04朱嘉豪鄭巍楊豐玉樊鑫肖鵬
        計(jì)算機(jī)應(yīng)用 2023年11期
        關(guān)鍵詞:網(wǎng)絡(luò)結(jié)構(gòu)權(quán)值閾值

        朱嘉豪,鄭巍,楊豐玉,樊鑫,肖鵬

        基于蟻群算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)

        朱嘉豪1,2*,鄭巍1,2,楊豐玉1,2,樊鑫1,2,肖鵬1,2

        (1.南昌航空大學(xué) 軟件學(xué)院,南昌 330063; 2.南昌航空大學(xué) 軟件測(cè)評(píng)中心,南昌 330063)( ? 通信作者電子郵箱 zhujiahao_nchu@126.com)

        針對(duì)基于反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)的軟件質(zhì)量預(yù)測(cè)模型存在收斂慢、模型精度不高的問(wèn)題,提出一種基于蟻群算法優(yōu)化BPNN的軟件質(zhì)量預(yù)測(cè)(SQP-ACO-BPNN)方法。首先,選擇軟件質(zhì)量評(píng)價(jià)指標(biāo),確立軟件質(zhì)量評(píng)價(jià)體系;其次,采用BPNN構(gòu)建初始軟件質(zhì)量預(yù)測(cè)模型,并利用蟻群優(yōu)化(ACO)算法確定若干網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)初始連接權(quán)值和閾值;再次,給出網(wǎng)絡(luò)結(jié)構(gòu)評(píng)價(jià)函數(shù),選擇神經(jīng)網(wǎng)絡(luò)模型的最佳結(jié)構(gòu)、網(wǎng)絡(luò)初始連接權(quán)值和閾值;最后,通過(guò)BP算法訓(xùn)練該網(wǎng)絡(luò),得到最終的軟件質(zhì)量預(yù)測(cè)模型。在機(jī)載嵌入式軟件質(zhì)量預(yù)測(cè)數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的BPNN模型有效提高了預(yù)測(cè)的準(zhǔn)確率、精確率、召回率和F1值,并且模型能夠更快收斂,驗(yàn)證了SQP-ACO-BPNN方法的有效性。

        軟件質(zhì)量預(yù)測(cè);蟻群優(yōu)化算法;反向傳播神經(jīng)網(wǎng)絡(luò);網(wǎng)絡(luò)結(jié)構(gòu)評(píng)價(jià)

        0 引言

        近年來(lái),軟件企業(yè)之間的競(jìng)爭(zhēng)日益激烈,市場(chǎng)環(huán)境復(fù)雜多變,軟件的數(shù)量呈指數(shù)增長(zhǎng)[1-2],軟件的質(zhì)量越來(lái)越難得到保證[3-4]。以對(duì)安全性和可靠性要求較高的機(jī)載軟件為例,因?yàn)檐浖|(zhì)量問(wèn)題導(dǎo)致的缺陷和軟件失效可能對(duì)飛行器產(chǎn)生重大影響,甚至可能造成墜機(jī)等重大事故。因此,研究軟件質(zhì)量具有十分重大的意義。軟件質(zhì)量是個(gè)復(fù)雜又抽象的概念[5-7],如何客觀準(zhǔn)確地預(yù)測(cè)軟件質(zhì)量是軟件質(zhì)量領(lǐng)域的重點(diǎn)課題。隨著技術(shù)逐漸成熟,神經(jīng)網(wǎng)絡(luò)成了構(gòu)造經(jīng)驗(yàn)?zāi)P偷氖走x方法,它強(qiáng)大的非線性映射能力能有效地?cái)M合軟件各方面的特征與軟件質(zhì)量之間的關(guān)系。

        目前,國(guó)內(nèi)外對(duì)基于神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)已經(jīng)有了一些研究,但這些研究都人為地確定網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)初始連接權(quán)值和閾值也都被賦予隨機(jī)值,存在模型收斂慢、性能不高的問(wèn)題。在軟件質(zhì)量預(yù)測(cè)模型中,如何選擇最佳的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、初始連接權(quán)值和閾值成了研究難題。相較于傳統(tǒng)優(yōu)化算法,群體智能算法在沒(méi)有明確的問(wèn)題和條件描述、存在多極值問(wèn)題的情況下均表現(xiàn)出了明顯的優(yōu)勢(shì)。在群體智能算法中,蟻群優(yōu)化(Ant Colony Optimization, ACO)算法和粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法的應(yīng)用最廣泛,其中:ACO算法主要用于離散優(yōu)化問(wèn)題的求解,而PSO算法主要用于連續(xù)優(yōu)化問(wèn)題的求解。在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、初始連接權(quán)值和閾值的尋優(yōu)過(guò)程中,尋找的是不同參數(shù)集合中的離散個(gè)體,所以ACO算法在求解問(wèn)題時(shí)具有更大的優(yōu)勢(shì)。

        基于以上分析,本文提出一種基于ACO算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)(Software Quality Prediction based on Back Propagation neural network improved by ACO, SQP-ACO-BPNN)方法,基于反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network, BPNN),對(duì)網(wǎng)絡(luò)層數(shù)、每層網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)、網(wǎng)絡(luò)初始連接權(quán)值以及閾值進(jìn)行自定義編碼,并設(shè)計(jì)模型評(píng)價(jià)函數(shù),采用ACO算法尋優(yōu),根據(jù)評(píng)價(jià)函數(shù)為模型確定最佳的網(wǎng)絡(luò)結(jié)構(gòu)、初始連接權(quán)值和閾值,再利用BP算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到收斂更快、性能更好的軟件質(zhì)量預(yù)測(cè)模型。

        1 相關(guān)工作

        1.1 基于神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)

        人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)最早由心理學(xué)家McCulloch等[8]提出,并構(gòu)建了一種基于簡(jiǎn)單邏輯運(yùn)算的計(jì)算機(jī)制。Karunanithi等[9]在1992年第一次將ANN技術(shù)應(yīng)用于軟件質(zhì)量預(yù)測(cè)中,將故障歷史作為輸入預(yù)測(cè)未來(lái)故障,因?yàn)樯窠?jīng)網(wǎng)絡(luò)會(huì)自主調(diào)整模型復(fù)雜度以匹配故障歷史數(shù)據(jù)的復(fù)雜度,所以比傳統(tǒng)回歸模型更準(zhǔn)確。1999年,Sitte等[10]根據(jù)經(jīng)驗(yàn)比較了兩種不同的軟件可靠性預(yù)測(cè)方法的預(yù)測(cè)性能:“神經(jīng)網(wǎng)絡(luò)”和“參數(shù)模型的重新校準(zhǔn)”,使用了通用的數(shù)據(jù)集,研究表明,神經(jīng)網(wǎng)絡(luò)不僅使用更加簡(jiǎn)便,而且能取得更好的結(jié)果,進(jìn)一步證明了神經(jīng)網(wǎng)絡(luò)技術(shù)在軟件質(zhì)量預(yù)測(cè)上的有效性。2007年,Su等[11]使用神經(jīng)網(wǎng)絡(luò)方法構(gòu)建動(dòng)態(tài)加權(quán)組合模型,在隱藏層中使用了與傳統(tǒng)可靠性增長(zhǎng)模型不同的激活函數(shù),在真實(shí)的軟件故障數(shù)據(jù)集上通過(guò)實(shí)驗(yàn)驗(yàn)證了模型具有準(zhǔn)確的預(yù)測(cè)能力。2014年,宮麗娜等[12]提出了一種PSO算法優(yōu)化的BPNN預(yù)測(cè)軟件質(zhì)量方法,采用PSO算法對(duì)BPNN進(jìn)行優(yōu)化,有效解決了BPNN出現(xiàn)的收斂速度慢和容易陷入局部最優(yōu)的問(wèn)題。2021年,田川等[13]考慮了一種軟件質(zhì)量評(píng)價(jià)體系,并采用主成分分析方法篩選樣本,利用鴿群優(yōu)化算法改進(jìn)徑向基網(wǎng)絡(luò)的權(quán)值和閾值,改進(jìn)網(wǎng)絡(luò)模型逼近精度,提升了模型的收斂速度。但是這些網(wǎng)絡(luò)結(jié)構(gòu)都是由人工選擇,取決于學(xué)者對(duì)于數(shù)據(jù)和網(wǎng)絡(luò)的理解,很難得到網(wǎng)絡(luò)的最佳結(jié)構(gòu),網(wǎng)絡(luò)的初始連接權(quán)值和閾值都是初始隨機(jī)值,容易因?yàn)槟P徒Y(jié)構(gòu)和初始參數(shù)不優(yōu)導(dǎo)致模型精度不足,通過(guò)ACO算法可以有效地解決存在的問(wèn)題。

        1.2 蟻群算法

        蟻群在不同的環(huán)境下外出覓食,總能尋找到到達(dá)食物的最短路徑,受此現(xiàn)象的啟發(fā),意大利學(xué)者Colorni等[14]于1991年提出螞蟻系統(tǒng)。蟻群的個(gè)體之間通過(guò)信息素進(jìn)行交流,通過(guò)簡(jiǎn)單個(gè)體組成群體完成復(fù)雜的工作,能達(dá)到尋找最優(yōu)解的目的,因此最開(kāi)始被用來(lái)解決旅行商問(wèn)題,再經(jīng)過(guò)Dorigo和Gambardella等學(xué)者改進(jìn)后被稱為蟻群算法。

        蟻群算法的應(yīng)用場(chǎng)景很多,如Li等[15]提出了一種新的蟻群優(yōu)化算法以解決訓(xùn)練徑向基神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn)的連續(xù)鏈接權(quán)重問(wèn)題;Mavrovouniotis等[16]和Abdelbar等[17]通過(guò)ACO算法結(jié)合梯度下降算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),解決了網(wǎng)絡(luò)訓(xùn)練過(guò)程中陷入局部最優(yōu)解的問(wèn)題;龐清樂(lè)等[18]將ACO算法用于確定神經(jīng)網(wǎng)絡(luò)上每層網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)以及最優(yōu)的網(wǎng)絡(luò)初始連接權(quán)值和閾值,但仍存在模型網(wǎng)絡(luò)層數(shù)需要人為確定的問(wèn)題。

        2 SQP?ACO?BPNN方法

        SQP-ACO-BPNN方法的流程如圖1所示,主要分為指標(biāo)選擇、網(wǎng)絡(luò)結(jié)構(gòu)編碼和網(wǎng)絡(luò)尋優(yōu)三個(gè)部分。

        圖1 軟件質(zhì)量預(yù)測(cè)方法流程

        2.1 軟件質(zhì)量指標(biāo)選擇

        參考ISO/IEC9126軟件質(zhì)量度量標(biāo)準(zhǔn),可將軟件質(zhì)量特性分為功能性、可靠性、易用性、效率、可維護(hù)性和可移植性,根據(jù)軟件質(zhì)量特性將軟件質(zhì)量結(jié)果劃分為優(yōu)秀、良好、一般和差四種不同類型,由于這些軟件質(zhì)量特性無(wú)法直接度量,所以需要利用軟件的其他內(nèi)部屬性來(lái)間接得到。本文挑選出可以直接度量的軟件質(zhì)量指標(biāo)如表1所示。將這些軟件質(zhì)量指標(biāo)作為軟件質(zhì)量預(yù)測(cè)模型的輸入以得到軟件質(zhì)量預(yù)測(cè)值,從而反映軟件質(zhì)量特性。

        表1 軟件質(zhì)量指標(biāo)

        不同評(píng)價(jià)指標(biāo)之間的量綱并不相同,數(shù)值之間的差距較大,不進(jìn)行處理容易導(dǎo)致神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中收斂困難,因此在使用數(shù)據(jù)前需要將數(shù)據(jù)進(jìn)行歸一化處理,而歸一化方法能夠很好地解決此類問(wèn)題,讓不同維度之間的數(shù)據(jù)在數(shù)值上有一定比較性,從而大幅提高分類器的準(zhǔn)確性和模型的收斂速度。比較常用的有Min-Max歸一化和Z-Score標(biāo)準(zhǔn)化兩種方法,Min-Max歸一化將原數(shù)據(jù)映射到[0,1],不改變?cè)紨?shù)據(jù)的分布,而Z-Score則將原數(shù)據(jù)處理成符合正態(tài)分布。對(duì)于數(shù)據(jù)較為穩(wěn)定、不存在極端最大最小值的情況,采用Min-Max歸一化方法;當(dāng)數(shù)據(jù)存在較多異常值、噪聲較多的情況采用Z-Score標(biāo)準(zhǔn)化方法。根據(jù)實(shí)際數(shù)據(jù)情況,本文采用Min-Max歸一化方法,處理方法如式(1)所示。

        其中:min()為最小值,max()為最大值。

        2.2 網(wǎng)絡(luò)結(jié)構(gòu)編碼

        2.2.1BPNN

        BPNN的輸出結(jié)果采用前向傳播,誤差采用反向傳播。以三層神經(jīng)網(wǎng)絡(luò)為例,如圖2所示,BPNN包含輸入層、隱含層和輸出層三層結(jié)構(gòu)。當(dāng)前向傳播時(shí),數(shù)據(jù)從輸入層輸入,傳遞給隱含層,經(jīng)過(guò)隱含層處理后再傳遞給輸出層,此時(shí)完成一次正向傳播過(guò)程。當(dāng)輸出結(jié)果與真實(shí)數(shù)據(jù)不符時(shí),進(jìn)入反向傳播階段,誤差采用梯度下降的方式從后往前依次修正各層網(wǎng)絡(luò)連接權(quán)值和閾值[19]。

        在神經(jīng)網(wǎng)絡(luò)正向傳播時(shí),上一層的輸出直接作為下一層的輸入,每層之間都是線性關(guān)系,神經(jīng)網(wǎng)絡(luò)的擬合能力較弱,為了使得神經(jīng)網(wǎng)絡(luò)具備更好的擬合能力,可在網(wǎng)絡(luò)之間加入激活函數(shù),經(jīng)過(guò)實(shí)驗(yàn)研究,通常采用S型(Sigmoid)函數(shù)作為激活函數(shù)。而在反向傳播過(guò)程中,損失函數(shù)能衡量網(wǎng)絡(luò)模型的輸出與真實(shí)標(biāo)簽之間的差距,為模型提供一個(gè)優(yōu)化的目標(biāo),對(duì)于多分類任務(wù),采用最為廣泛的交叉熵函數(shù)作為損失函數(shù),函數(shù)如式(2)所示。

        其中:Tp為目標(biāo)輸出,Dp為實(shí)際輸出;n為輸出層節(jié)點(diǎn)數(shù),即軟件質(zhì)量分類數(shù)。

        2.2.2編碼方式

        將不同結(jié)構(gòu)的BPNN的網(wǎng)絡(luò)層數(shù)、每層網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)、節(jié)點(diǎn)之間相連接的權(quán)值和閾值進(jìn)行拆分。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)ST包含網(wǎng)絡(luò)層數(shù)和每層網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)信息,設(shè)定網(wǎng)絡(luò)層數(shù)最小為3層,最大為5層,輸入層節(jié)點(diǎn)數(shù)為12(軟件質(zhì)量指標(biāo)數(shù)),輸出層節(jié)點(diǎn)為4(軟件質(zhì)量類型數(shù),分別為優(yōu)秀、良好、一般和差),第一隱含層與第三隱含層節(jié)點(diǎn)數(shù)最大為16,第二隱含層節(jié)點(diǎn)數(shù)最大為32,所以權(quán)值和閾值的最大數(shù)量總和為1 348,如表2所示。

        表2 BPNN結(jié)構(gòu)參數(shù)

        2.3 ACO優(yōu)化BPNN方法

        圖3 ACO算法流程

        ACO算法具體步驟如下:

        步驟3 所有螞蟻均在每個(gè)集合中選擇了一個(gè)元素,即為找到了食物,根據(jù)螞蟻選擇的參數(shù)構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,輸入訓(xùn)練數(shù)據(jù),按式(4)計(jì)算交叉熵值,即每只螞蟻?zhàn)哌^(guò)的路徑長(zhǎng)度。

        其中:T為目標(biāo)輸出,D為實(shí)際輸出,為輸出層節(jié)點(diǎn)數(shù)。

        步驟4 選擇路徑最短的只螞蟻,原路返回巢穴進(jìn)行信息素更新,螞蟻所經(jīng)歷的時(shí)間為,則按照式(5)更新螞蟻所選擇的信息素濃度。

        其中:為信息素?fù)]發(fā)因子;ΔτI)表示第只螞蟻在本輪次中在集合I中第個(gè)元素上留下的信息素,計(jì)算如式(6)所示。

        其中:為常數(shù),用于控制信息素的增長(zhǎng)速度;當(dāng)路徑越小時(shí),增長(zhǎng)的信息素越多。

        步驟5 重復(fù)步驟2~4,直至算法中所有螞蟻收斂到同一路徑或者達(dá)到最大循環(huán)次數(shù)停止。

        3 實(shí)驗(yàn)與結(jié)果分析

        3.1 評(píng)價(jià)指標(biāo)

        為了從ACO算法中得到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),需要定義評(píng)價(jià)函數(shù)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行評(píng)價(jià),因?yàn)槟P蛯訑?shù)越多、節(jié)點(diǎn)越多,模型越復(fù)雜,在模型訓(xùn)練后越容易擬合數(shù)據(jù),所以建立評(píng)價(jià)函數(shù)如式(7)所示。

        為了更全面地評(píng)價(jià)本文SQP-ACO-BPNN方法的性能,選用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值對(duì)模型進(jìn)行評(píng)價(jià),并使用ACO算法對(duì)在多分類任務(wù)上效果較好的支持向量機(jī)和加權(quán)樸素貝葉斯模型進(jìn)行優(yōu)化,分別對(duì)比ACO算法優(yōu)化后的BPNN模型、未優(yōu)化過(guò)的BPNN模型、ACO算法優(yōu)化支持向量機(jī)模型(Ant Colony Optimization improved Support Vector Machine, ACO-SVM)和ACO算法優(yōu)化加權(quán)樸素貝葉斯(Ant Colony Optimization improved Weighted Naive Bayes, ACO-WNB)模型的性能。

        3.2 實(shí)驗(yàn)結(jié)果

        根據(jù)研究經(jīng)驗(yàn)設(shè)置神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)h1,max=16,h2,max=32,h3,max=16,學(xué)習(xí)率為0.01,最大迭代次數(shù)為700。設(shè)置網(wǎng)絡(luò)結(jié)構(gòu)評(píng)價(jià)函數(shù)參數(shù),常數(shù)=1.0,第一隱含層影響系數(shù)1=1.5,第二隱含層影響系數(shù)2=1.3,第三隱含層影響系數(shù)3=1.0。

        3.2.1ACO算法超參數(shù)選取

        為了得到更好的實(shí)驗(yàn)效果,首先根據(jù)經(jīng)驗(yàn)設(shè)置初始信息素=1.0,信息素常量=10,再通過(guò)實(shí)驗(yàn)對(duì)ACO算法的螞蟻數(shù)量,信息素?fù)]發(fā)因子,信息啟發(fā)式因子,期望啟發(fā)式因子以及最大迭代次數(shù)max等超參數(shù)進(jìn)行選擇。分別進(jìn)行多次實(shí)驗(yàn),當(dāng)相鄰兩次迭代中的最優(yōu)解的差值小于0.001則停止迭代。

        在研究螞蟻數(shù)量對(duì)ACO算法的影響過(guò)程中,其他超參數(shù)選擇為:信息素?fù)]發(fā)因子=0.5,信息啟發(fā)式因子=1.0,期望啟發(fā)式因子=2.0。結(jié)果如表3所示,可知螞蟻數(shù)量增大后,搜索的隨機(jī)性得到了增強(qiáng),但是收斂減慢,在螞蟻數(shù)量增長(zhǎng)到50以后,最優(yōu)路徑長(zhǎng)度并無(wú)明顯變化,但是迭代次數(shù)增多,所以螞蟻數(shù)量選擇為50較為合理。

        在研究信息素?fù)]發(fā)因子對(duì)ACO算法的影響時(shí),設(shè)置螞蟻數(shù)量=50,信息啟發(fā)式因子=1.0,期望啟發(fā)式因子=2.0。結(jié)果如表4所示,不難看出,當(dāng)信息素?fù)]發(fā)因子較小時(shí),算法搜索的隨機(jī)性減弱,算法收斂很快,但是容易陷入局部最優(yōu),綜合考慮算法的全局搜索能力和收斂速度兩項(xiàng)指標(biāo),選擇信息素?fù)]發(fā)因子=0.5較為合理。

        最后研究啟發(fā)式因子對(duì)ACO算法的影響,設(shè)置螞蟻數(shù)量=50,信息素?fù)]發(fā)因子=0.5。結(jié)果如表5所示,適當(dāng)選擇和的取值,使得ACO算法能得到較好的搜索結(jié)果和較少的迭代次數(shù),通過(guò)實(shí)驗(yàn)結(jié)果可知選擇=1.0,=2.0較好。

        綜上所述,根據(jù)實(shí)驗(yàn)結(jié)果可知,選取螞蟻數(shù)量=50,信息素?fù)]發(fā)因子=0.5,信息啟發(fā)式因子=1.0,期望啟發(fā)式因子=2.0,最大迭代次數(shù)max=50,初始信息素=1.0,信息素常量=10使ACO算法能得到較好的實(shí)驗(yàn)結(jié)果。

        表5 啟發(fā)式因子對(duì)ACO的影響

        3.2.2網(wǎng)絡(luò)結(jié)構(gòu)

        為了選出最好的網(wǎng)絡(luò)結(jié)構(gòu)模型,分別進(jìn)行了50次實(shí)驗(yàn),選出最好的10個(gè)網(wǎng)絡(luò)模型,實(shí)驗(yàn)結(jié)果如表6所示。根據(jù)評(píng)價(jià)函數(shù)值可知,最好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為(12,15,10,4),即4層神經(jīng)網(wǎng)絡(luò),輸入層神經(jīng)元節(jié)點(diǎn)數(shù)量為12,第一隱含層神經(jīng)元數(shù)量為15,第二隱含層神經(jīng)元節(jié)點(diǎn)數(shù)量為10,輸出層神經(jīng)元節(jié)點(diǎn)數(shù)量為4。

        表6 網(wǎng)絡(luò)模型結(jié)構(gòu)結(jié)果

        3.2.3收斂效果

        將選出的最優(yōu)結(jié)構(gòu)BPNN模型(12,15,10,4)與基礎(chǔ)BPNN模型(12,16,32,16,4)分別進(jìn)行模型訓(xùn)練,訓(xùn)練過(guò)程如圖4所示,可見(jiàn),經(jīng)過(guò)ACO算法優(yōu)化的BPNN結(jié)構(gòu)模型比基礎(chǔ)BPNN模型能夠更快收斂,并且誤差更小。

        圖4 模型訓(xùn)練過(guò)程

        3.2.4實(shí)驗(yàn)精度

        為了檢驗(yàn)本文方法的實(shí)際效果,采用機(jī)載嵌入式軟件質(zhì)量預(yù)測(cè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),將軟件質(zhì)量類別分為四類(優(yōu)、良、一般和差),在測(cè)試某類別的預(yù)測(cè)效果時(shí),將該類別當(dāng)作正類,其他類別當(dāng)作負(fù)類,數(shù)據(jù)按照7∶3隨機(jī)分為訓(xùn)練集和測(cè)試集。

        分別訓(xùn)練SQP-ACO-BPNN、未優(yōu)化的BPNN、ACO-SVM和ACO-WNB。在SVM中,選擇徑向基函數(shù)作為核函數(shù),通過(guò)ACO算法對(duì)正則化系數(shù)和徑向基函數(shù)帶寬進(jìn)行尋優(yōu),根據(jù)模型準(zhǔn)確率來(lái)更新信息素,不斷優(yōu)化正則化系數(shù)和徑向基函數(shù)帶寬。在WNB中,權(quán)重的選擇直接關(guān)系到分類的效果,為了提高分類的準(zhǔn)確性,同樣引入ACO算法根據(jù)模型準(zhǔn)確率來(lái)更新信息素,對(duì)特征權(quán)值進(jìn)行迭代和全局尋優(yōu),獲得最優(yōu)權(quán)值。在ACO算法優(yōu)化BPNN過(guò)程中,利用ACO算法對(duì)網(wǎng)絡(luò)結(jié)構(gòu)、初始連接權(quán)值和閾值進(jìn)行尋優(yōu),選用交叉熵函數(shù)作為個(gè)體適應(yīng)度函數(shù),通過(guò)計(jì)算交叉熵值來(lái)更新信息素,相較于ACO-SVM和ACO-WNB,采用交叉熵值作為個(gè)體適應(yīng)度值比采用模型準(zhǔn)確率更精確、更苛刻。ACO-SVM只對(duì)正則化系數(shù)和徑向基函數(shù)帶寬兩個(gè)參數(shù)進(jìn)行優(yōu)化,ACO-WNB同樣只優(yōu)化了特征權(quán)值,依然存在太多的不可控性,而SQP-ACO-BPNN不僅優(yōu)化了網(wǎng)絡(luò)層數(shù)、每層網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量,還對(duì)網(wǎng)絡(luò)初始連接權(quán)值和閾值進(jìn)行了優(yōu)化,設(shè)計(jì)了適合ACO算法尋優(yōu)的網(wǎng)絡(luò)編碼方式,本文中的ACO算法與傳統(tǒng)ACO算法不同,根據(jù)網(wǎng)絡(luò)的前向傳播特性設(shè)計(jì)了專用于神經(jīng)網(wǎng)絡(luò)尋優(yōu)的適應(yīng)度函數(shù),并且在每個(gè)輪次中,只選擇部分效果較好的螞蟻更新路徑上的信息素濃度,提高了ACO算法的收斂速度。SQP-ACO-BPNN比ACO-SVM和ACO-WNB在ACO算法優(yōu)化過(guò)程中優(yōu)化的可控參數(shù)更多,優(yōu)化過(guò)程更嚴(yán)謹(jǐn),個(gè)體適應(yīng)度函數(shù)選用更好。

        實(shí)驗(yàn)結(jié)果如圖5(a)~(d)所示??梢钥闯觯?jīng)過(guò)ACO算法優(yōu)化后的BPNN結(jié)構(gòu)、初始連接權(quán)值和閾值后的SQP-ACO-BPNN相較于未優(yōu)化的BPNN在準(zhǔn)確率、精確率、召回率和F1值上均取得了較大的提升。未優(yōu)化的BPNN在四種分類上預(yù)測(cè)的平均準(zhǔn)確率、精確率、召回率和F1值分別為89.9%、91.6%、91.3%和91.4%,經(jīng)過(guò)ACO算法優(yōu)化后的SQP-ACO-BPNN預(yù)測(cè)的平均準(zhǔn)確率、精確率、召回率和F1值分別為95.2%、95.4%、95.1%和95.7%。在準(zhǔn)確率、精確率、召回率和F1值上分別提高了5.3、3.8、3.8和4.3個(gè)百分點(diǎn)。同樣由圖5可知,SQP-ACO-BPNN相較于ACO-SVM和ACO-WNB同樣具有更高的準(zhǔn)確率、精確率、召回率和F1值。

        綜上所述,采用ACO算法優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、初始連接權(quán)值和閾值后,對(duì)于軟件質(zhì)量預(yù)測(cè)性能具有一定的提升。

        圖5 不同方法的性能對(duì)比

        4 結(jié)語(yǔ)

        針對(duì)傳統(tǒng)基于神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)方法的不足,本文提出了一種基于ACO優(yōu)化BPNN的軟件質(zhì)量預(yù)測(cè)方法??紤]到不同指標(biāo)數(shù)據(jù)量綱不同對(duì)模型訓(xùn)練的影響,為解決此問(wèn)題,對(duì)數(shù)據(jù)進(jìn)行歸一化,按照7∶3分為訓(xùn)練集和測(cè)試集;考慮到神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)初始連接權(quán)值和閾值對(duì)訓(xùn)練后模型性能的影響,將網(wǎng)絡(luò)結(jié)構(gòu)(包括網(wǎng)絡(luò)層數(shù)和每層網(wǎng)絡(luò)節(jié)點(diǎn)數(shù))、網(wǎng)絡(luò)初始連接權(quán)值和閾值進(jìn)行編碼,采用ACO算法對(duì)網(wǎng)絡(luò)進(jìn)行尋優(yōu),選擇出最佳的網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)初始連接權(quán)值和閾值,解決了網(wǎng)絡(luò)結(jié)構(gòu)不確定、網(wǎng)絡(luò)初始連接權(quán)值和閾值不穩(wěn)定導(dǎo)致模型收斂慢、性能不高的問(wèn)題。在機(jī)載嵌入式軟件質(zhì)量預(yù)測(cè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,SQP-ACO-BPNN比未優(yōu)化的BPNN在訓(xùn)練過(guò)程中能夠更快收斂,并且比未優(yōu)化的BPNN、ACO-SVM和ACO-WNB在測(cè)試集上具有更高的準(zhǔn)確率、精確率、召回率和F1值。

        目前的實(shí)驗(yàn)中仍然根據(jù)經(jīng)驗(yàn)設(shè)置激活函數(shù)和學(xué)習(xí)率,可能存在特殊場(chǎng)景下不適用的情況,后續(xù)研究將考慮如何優(yōu)化選擇激活函數(shù)和學(xué)習(xí)率等參數(shù)。

        [1] RODRIGUEZ M, PIATTINI M, EBERT C. Software verification and validation technologies and tools[J]. IEEE Software, 2019, 36(2): 13-24.

        [2] KLOTINS E, UNTERKALMSTEINER M, GORSCHEK T. Software engineering antipatterns in start-ups[J]. IEEE Software, 2018, 36(2): 118-126.

        [3] RAJAPAKSHA D, TANTITHAMTHAVORN C, JIARPAKDEE J, et al. SQAPlanner: Generating data-informed software quality improvement plans[J]. IEEE Transactions on Software Engineering, 2021, 48(8): 2814-2835.

        [4] BOGNER J, FRITZSCH J, WAGNER S, et al. Microservices in industry: insights into technologies, characteristics, and software quality[C]// Proceedings of the 2019 IEEE International Conference on Software Architecture Companion. Piscataway: IEEE, 2019: 187-195.

        [5] LIU Y, KHOSHGOFTAAR T M, SELIYA N. Evolutionary optimization of software quality modeling with multiple repositories[J]. IEEE Transactions on Software Engineering, 2010, 36(6): 852-864.

        [6] ZHOU Z Q, XIANG S, CHEN T Y. Metamorphic testing for software quality assessment: a study of search engines[J]. IEEE Transactions on Software Engineering, 2015, 42(3): 264-284.

        [7] AZUMA M. Software products evaluation system: quality models, metrics and processes — International Standards and Japanese practice[J]. Information and Software Technology, 1996, 38(3): 145-154.

        [8] McCULLOCH W S, PITTS W. A logical calculus of the ideas immanent in nervous activity[J]. The Bulletin of Mathematical Biophysics, 1943, 5(4): 115-133.

        [9] KARUNANITHI N, WHITLEY D, MALAIYA Y K. Using neural networks in reliability prediction[J]. IEEE Software, 1992, 9(4): 53-59.

        [10] SITTE R. Comparison of software-reliability-growth predictions: neural networks vs parametric-recalibration[J]. IEEE Transactions on Reliability, 1999, 48(3): 285-291.

        [11] SU Y S, HUANG C Y. Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models[J]. Journal of Systems and Software, 2007, 80(4): 606-615.

        [12] 宮麗娜,馬懷志.粒子群算法優(yōu)化的BP網(wǎng)絡(luò)預(yù)測(cè)軟件質(zhì)量[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(23):65-68.(GONG L N,MA H Z. Software quality prediction of BP network based on PSO [J]. Computer Engineering and Applications, 2014,50(23):65-68.)

        [13] 田川,王闖,劉燦,等.基于鴿群改進(jìn)RBF網(wǎng)絡(luò)的軟件質(zhì)量預(yù)測(cè)方法[J].航空計(jì)算技術(shù),2021,51(5):24-28.(TIAN C, WANG C, LIU C,et al. Software quality prediction based on PIO-RBF [J]. Aeronautical Computing Technique, 2021,51(5):24-28.)

        [14] COLORNI A, DORIGO M, MANIEZZO V. Distributed optimization by ant colonies[C]// Proceedings of the 1st European Conference on Artificial Life. Cambridge, MA: MIT Press, 1991: 134-142.

        [15] LI J, LIU X, JIANG H, et al. Melt index prediction by adaptively aggregated RBF neural networks trained with novel ACO algorithm[J]. Journal of Applied Polymer Science, 2012, 125(2): 943-951.

        [16] MAVROVOUNIOTIS M, YANG S. Training neural networks with ant colony optimization algorithms for pattern classification [J]. Soft Computing, 2015, 19(6): 1511-1522.

        [17] ABDELBAR A M, SALAMA K M. A gradient-guided ACO algorithm for neural network learning[C]// Proceedings of the 2015 IEEE Symposium Series on Computational Intelligence. Piscataway: IEEE, 2015: 1133-1140.

        [18] 龐清樂(lè),劉新允.基于蟻群神經(jīng)網(wǎng)絡(luò)的財(cái)務(wù)危機(jī)預(yù)警方法[J].數(shù)理統(tǒng)計(jì)與管理,2011,30(3):554-561.(PANG Q L,LIU X Y. Ant colony algorithms and neural network based early-warning system for enterprise financial distress [J]. Journal of Applied Statistics and Management, 2011, 30(3):554-561.)

        [19] 王李進(jìn),吳保國(guó),鄭德祥.基于人工神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評(píng)價(jià)[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(12):133-134,150.(WANG L J,WU B G,ZHENG D X. Software quality evaluation based on artificial neural network[J]. Computer Applications and Software, 2008, 25(12): 133-134, 150.)

        Software quality prediction based on back propagation neural network optimized by ant colony optimization algorithm

        ZHU Jiahao1,2*, ZHENG Wei1,2, YANG Fengyu1,2, FAN Xin1,2, XIAO Peng1,2

        (1,,330063,;2,,330063,)

        Concerning the problems of slow convergence and low accuracy of software quality prediction model based on Back Propagation Neural Network (BPNN), a Software Quality Prediction method based on BPNN optimized by Ant Colony Optimization algorithm (SQP-ACO-BPNN) was proposed. Firstly, the software quality evaluation factors were selected and a software quality evaluation system was determined. Secondly, BPNN was adopted to build initial software quality prediction model and ACO algorithm was used to determine network structures, initial connection weights and thresholds of network. Then, an evaluation function was given to select the best structure, initial connection weights and thresholds of the network. Finally, the network was trained by BP algorithm, and the final software quality prediction model was obtained. Experimental results of predicting the quality of airborne embedded software show that the accuracy, precision, recall and F1 value of the optimized BPNN model are all improved with faster convergence, which indicates the validity of SQP-ACO-BPNN.

        software quality prediction; Ant Colony Optimization (ACO) algorithm; Back Propagation Neural Network (BPNN); network structure evaluation

        1001-9081(2023)11-3568-06

        10.11772/j.issn.1001-9081.2022101600

        2022?10?25;

        2022?12?17;

        總裝預(yù)研基金項(xiàng)目(JZX7J202202ZL002000)。

        朱嘉豪(1998—),男,江西豐城人,碩士研究生,CCF會(huì)員,主要研究方向:軟件可靠性、軟件質(zhì)量預(yù)測(cè); 鄭巍(1982—),男,江西萍鄉(xiāng)人,教授,博士,CCF會(huì)員,主要研究方向:復(fù)雜網(wǎng)絡(luò)、軟件可靠性; 楊豐玉(1980—),男,江西九江人,副教授,碩士,CCF會(huì)員,主要研究方向:大數(shù)據(jù)分析; 樊鑫(1981—),男,湖北荊州人,副教授,碩士,CCF會(huì)員,主要研究方向:軟件測(cè)試; 肖鵬(1988—),男,江西吉安人,講師,博士,CCF會(huì)員,主要研究方向:軟件測(cè)試。

        TP311.5; TP18

        A

        2022?12?26。

        This work is partially supported by Assemble Pre-Research Foundation of China (JZX7J202202ZL002000).

        ZHU Jiahao, born in 1998, M.S. candidate. His research interests include software reliability, software quality prediction.

        ZHENG Wei, born in 1982, Ph.D., professor. His research interests include complex network, software reliability.

        YANG Fengyu, born in 1980, M.S., associate professor. His research interests include big data analysis.

        FAN Xin, born in 1981, M.S., associate professor. His research interests include software testing.

        XIAO Peng, born in 1988, Ph.D., lecturer. His research interests include software testing.

        猜你喜歡
        網(wǎng)絡(luò)結(jié)構(gòu)權(quán)值閾值
        一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
        CONTENTS
        小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
        基于自適應(yīng)閾值和連通域的隧道裂縫提取
        比值遙感蝕變信息提取及閾值確定(插圖)
        河北遙感(2017年2期)2017-08-07 14:49:00
        基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
        室內(nèi)表面平均氡析出率閾值探討
        基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
        知識(shí)網(wǎng)絡(luò)結(jié)構(gòu)維對(duì)于創(chuàng)新績(jī)效的作用機(jī)制——遠(yuǎn)程創(chuàng)新搜尋的中介作用
        滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實(shí)證分析
        国产成人无码区免费网站| 久久精品亚洲熟女av蜜謦 | 手机福利视频| 少妇人妻在线视频| 91情侣在线精品国产免费| 在线看亚洲一区二区三区| 精品国产天堂综合一区在线| 欧妇女乱妇女乱视频| 麻豆久久五月国产综合 | 久久国产成人亚洲精品影院老金| 国产视频在线播放亚洲| 日本亚洲精品一区二区三| 国产无套内射久久久国产| 精品四虎免费观看国产高清| 一本色道久久综合亚州精品| 日本精品视频免费观看| 亚洲欧美一区二区三区在线| 无码熟妇人妻AV影音先锋| 日本岛国视频在线观看一区二区| 色大全全免费网站久久| 无码骚夜夜精品| 国产精品国产三级国产专播| 中文字幕熟女激情50路| 国产又猛又黄又爽| 久热在线播放中文字幕| 久久久亚洲精品免费视频| 久久99精品国产麻豆| 激情综合色综合啪啪五月丁香| 亚洲中文av一区二区三区| 偷拍熟女露出喷水在线91| 国产精品高清一区二区三区不卡| 亚洲av无码男人的天堂在线| 久久国产精品超级碰碰热| 精品国产一区二区三区av免费| 色偷偷偷久久伊人大杳蕉| 精品国产18禁久久久久久久| 偷拍美女一区二区三区视频| 亚洲成av人片乱码色午夜| 久久婷婷国产剧情内射白浆| 亚洲一区二区三区中文视频| 女同视频一区二区在线观看|