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

基于遺傳算法和BP人工神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價模型研究

2016-03-24 08:12:54張丹宋曉秋
中國新通信 2016年4期

張丹 宋曉秋

【摘要】 針對軟件質(zhì)量評價的問題,提出了一種基于遺傳算法和BP人工神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價方法,建立了軟件質(zhì)量評價模型,提高軟件質(zhì)量評價的準(zhǔn)確性。利用遺傳算法的全局隨機搜索能力彌補了網(wǎng)絡(luò)容易陷入局部最優(yōu)解的問題。最后通過實驗得到的數(shù)據(jù)結(jié)果,證明了該方法能夠更加準(zhǔn)確的評估軟件質(zhì)量。

【關(guān)鍵詞】 遺傳算法 BP神經(jīng)網(wǎng)絡(luò) 軟件質(zhì)量評價

隨著云計算、大數(shù)據(jù)等新理念、新技術(shù)被應(yīng)用到了軟件當(dāng)中,人們對軟件質(zhì)量的要求變得越來越高。對于軟件產(chǎn)品來說,越早的獲得軟件產(chǎn)品的質(zhì)量水平,就能夠越早的減少軟件產(chǎn)品開發(fā)維護(hù)的失敗因素。而軟件質(zhì)量評價[1]也漸漸成為保證軟件質(zhì)量的一個重要手段。軟件質(zhì)量評價是一個復(fù)雜的系統(tǒng)工程,如何深入研究軟件質(zhì)量評價的模型和方法,尋找一個準(zhǔn)確性高的軟件質(zhì)量評價方法是十分重要的,也是對軟件質(zhì)量進(jìn)行更深理解和更好控制的重要手段之一,是控制軟件開發(fā)、提高軟件質(zhì)量的有效保證。

軟件質(zhì)量要求的提高增加了軟件評價技術(shù)研究的重要性,因為只有能夠被定性評價的軟件才是可被控制的。目前對軟件質(zhì)量評價的方法過于主觀性,如層次分析法、模糊綜合評價法,或通過簡單的數(shù)學(xué)運算來評價軟件質(zhì)量,忽略了各度量元和軟件質(zhì)量之間的非線性的關(guān)系,這樣會有很大的主觀因素的干擾,所得到的結(jié)果也難以真正的反應(yīng)軟件的質(zhì)量的好壞。在傳統(tǒng)的軟件質(zhì)量度量方法中,當(dāng)度量的數(shù)據(jù)量很大時,無法得到精確地評價結(jié)果且計算過程復(fù)雜,求解繁瑣,這些方法也缺乏自學(xué)習(xí)的能力。

人工神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)自適應(yīng)的能力,可以解決傳統(tǒng)方法無法解決的問題,但由于神經(jīng)網(wǎng)絡(luò)自身存在很多的限制和不足,如網(wǎng)絡(luò)的訓(xùn)練時間較長、易收斂于局部極小值等。本文將用遺傳算法[3]對神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)[4],將改進(jìn)后的BP人工神經(jīng)網(wǎng)絡(luò)應(yīng)用到軟件質(zhì)量的評價中,通過研究軟件質(zhì)量評價的特征,建立了基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價系統(tǒng)[5] [6],先通過遺傳算法對神經(jīng)網(wǎng)絡(luò)的初始權(quán)值閾值進(jìn)行訓(xùn)練確定,然后再利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行精確的訓(xùn)練,最后獲得結(jié)果。實驗證明該方法能夠科學(xué)準(zhǔn)確的對軟件的質(zhì)量進(jìn)行定量的評估,也能夠克服BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、易陷入局部最小值的缺陷。

一、軟件質(zhì)量評價指標(biāo)體系

軟件質(zhì)量評價是為了揭示當(dāng)前狀態(tài)的軟件質(zhì)量[7] [8],為軟件質(zhì)量的管理提供有力的手段。軟件質(zhì)量評價是使用合適的技術(shù)對被評價軟件的質(zhì)量特性、子特性等進(jìn)行度量并對度量的結(jié)果進(jìn)行評估,從而給出軟件產(chǎn)品能否滿足特定需求的評價結(jié)果。軟件質(zhì)量評價可以定量的給出軟件的質(zhì)量水平,可以根據(jù)軟件質(zhì)量的評價結(jié)果數(shù)據(jù)對軟件進(jìn)行相應(yīng)的管理和質(zhì)量改進(jìn)。

BP神經(jīng)網(wǎng)絡(luò)具有很強的非線性映射和自適應(yīng)的學(xué)習(xí)能力,但由于BP神經(jīng)網(wǎng)絡(luò)是基于梯度的算法,收斂速度慢,因此將遺傳算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,解決BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間長和易陷入局部最優(yōu)的缺點,有效地克服傳統(tǒng)軟件質(zhì)量度量方法的不足之處[9]。

軟件質(zhì)量的評價是一個復(fù)雜的過程,評價指標(biāo)涉及面廣、不確定性因素多、難以量化,因此至今沒有一個統(tǒng)一的標(biāo)準(zhǔn)。作為軟件質(zhì)量評價模型,需要通過對一組軟件質(zhì)量度量元指標(biāo)進(jìn)行監(jiān)測分析,以此來綜合反映軟件質(zhì)量的情況,因此建立科學(xué)地軟件質(zhì)量評價指標(biāo)是建立軟件質(zhì)量評價模型的重要環(huán)節(jié)。

本文在設(shè)計軟件質(zhì)量評價指標(biāo)體系時,綜合考慮了基于設(shè)計分析、軟件測試和軟件內(nèi)部結(jié)構(gòu)等多方面的部分對軟件可靠性與安全性進(jìn)行評價技術(shù)的研究。在參考《軍用軟件安全性設(shè)計指南》、《C/C++語言編程安全子集》、軟件代碼結(jié)構(gòu)的指標(biāo)及軟件測試相關(guān)信息的基礎(chǔ)上,初步構(gòu)建了航天系統(tǒng)軟件質(zhì)量評價指標(biāo)體系,如圖1所示。

針對航天系統(tǒng)軟件質(zhì)量評價指標(biāo)體系,將各個因素自上而下劃分為三個層次,最高層即目標(biāo)層為軟件質(zhì)量綜合評價,作為神經(jīng)網(wǎng)絡(luò)的輸出層;中間層為基于設(shè)計分析的評價、基于軟件內(nèi)部結(jié)構(gòu)的評價和基于軟件測試的評價;準(zhǔn)則層為圖中的評價指標(biāo),作為神經(jīng)網(wǎng)絡(luò)的輸入。

創(chuàng)建一個三層的BP神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的輸入變量是上述指標(biāo)體系中的所有指標(biāo),網(wǎng)絡(luò)的輸出層結(jié)點數(shù)為1。采用樣本數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練完畢后得到滿足訓(xùn)練精度的權(quán)重系數(shù)矩陣,便可通過所得到的權(quán)重系數(shù)矩陣,利用待測軟件的數(shù)據(jù)信息對軟件進(jìn)行質(zhì)量評價,得到的軟件質(zhì)量評價結(jié)果減少了主觀隨意性和思維上的不確定性,結(jié)果更加科學(xué)、準(zhǔn)確。

二、人工神經(jīng)網(wǎng)絡(luò)

人工神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的一個重要分支,是由大量稱為神經(jīng)元的信息單元連接組成的復(fù)雜網(wǎng)絡(luò),可以模擬人腦神經(jīng)網(wǎng)絡(luò)對信息處理機制的智能式的計算模式。它有著很強的自適應(yīng)性和自組織能力。對軟件質(zhì)量評價模型的構(gòu)造主要是根據(jù)已知的軟件數(shù)據(jù),對軟件質(zhì)量評價模型中的各種因素之間的相互關(guān)系進(jìn)行分析研究。

BP網(wǎng)絡(luò)[10]是使用最多的一種神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)由D.Ruvmelhar和McClelland于1985年提出,是一種基于誤差反向傳遞算法的前向多層神經(jīng)網(wǎng)絡(luò)。 BP神經(jīng)網(wǎng)絡(luò)通常由一個輸入層、一層或多層隱含層和一個輸出層構(gòu)成,各層神經(jīng)元間由連接權(quán)重相連接在一起。每一層內(nèi)神經(jīng)元的輸出均傳送到下一層,這種傳送由連接權(quán)來達(dá)到增強、減弱或抑制這些輸出地作用,除了輸入層的神經(jīng)元之外,隱蔽層和輸出層神經(jīng)元的凈輸入是前一層神經(jīng)元輸出地加權(quán)和。

在設(shè)計BP網(wǎng)絡(luò)時,一般考慮設(shè)計一個隱層,當(dāng)一個隱層節(jié)點很多仍不能改善網(wǎng)絡(luò)性能時,才考慮再增加一層。BP神經(jīng)網(wǎng)絡(luò)每次學(xué)習(xí)訓(xùn)練過程都是由每一階段對權(quán)重和閾值的更新組成,其目的就是將目標(biāo)輸出與實際輸出所得到的輸出誤差的平方和最小化。

BP神經(jīng)網(wǎng)絡(luò)是一種梯度下降算法[11],在實際的應(yīng)用中還存在很多不足:①BP神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)是一種沿梯度下降方向的單點搜索算法,很容易陷入局部極小值;②BP神經(jīng)網(wǎng)絡(luò)初始參數(shù)的隨機性會導(dǎo)致網(wǎng)絡(luò)收斂速度慢,訓(xùn)練容易陷入癱瘓狀態(tài);③BP神經(jīng)網(wǎng)絡(luò)的初始結(jié)構(gòu)參數(shù)隨機,對權(quán)值學(xué)習(xí)的結(jié)構(gòu)也會存在一定的隨機性。

基于上述原因,將遺傳算法引入到BP神經(jīng)網(wǎng)絡(luò)中,利用遺傳算法高效的自動過程設(shè)計輔助神經(jīng)網(wǎng)絡(luò)。

三、基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)軟件質(zhì)量度量

3.1算法的簡介

遺傳算法是一種基于自然選擇和群體遺傳進(jìn)行尋優(yōu)的算法,它模擬了自然選擇和遺傳過程中的繁殖、雜交和突變的現(xiàn)象,將遺傳算法與神經(jīng)網(wǎng)絡(luò)結(jié)合,利用遺傳算法的多點搜索性可使其具有全局搜索型,從而可使搜索結(jié)果免于收斂于局部最優(yōu)解,獲得全局最優(yōu)解。利用遺傳算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò),可彌補BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極小值和收斂速度慢等缺陷[12]。

編碼方法:將要構(gòu)建的神經(jīng)網(wǎng)絡(luò)中的所有權(quán)值作為一組染色體。編碼長度為N,基為1-N的實數(shù)按順序排列,如N=5,則一個染色體可表示為:[5.2,2.11,4.435,1.598,2.456]。

交叉算法:將交叉算子作用于群體,以某概率相互交換某個個體之間的部分染色體,采用單點交叉的方法進(jìn)行隨機配對。在染色體上隨機產(chǎn)生兩個點,將兩個染色體的兩個位點之間的基因片段進(jìn)行交換。

變異算法:變異算法是針對個體的某個或某些基因位上的基因值按某較小的概率進(jìn)行改變,從而產(chǎn)生新的個體。

精英保留:選取m個最優(yōu)的染色體作為精英庫,每次迭代當(dāng)代種群中的最優(yōu)染色體,如果比精英庫中的染色體更優(yōu),則將其存入庫中替代精英庫中最差的染色體,然后隨機選擇一個染色體替代為當(dāng)代種群中的最差染色體,實現(xiàn)精英保留。

自適應(yīng):采用線性遞增公式計算變異率,采用線性遞減公式計算交叉率。

其中Pm1,Pm2為變異率最小值和最大值。Pc1,Pc2為交叉率最小值和最大值。gen為當(dāng)前迭代次數(shù),maxgen為最大迭代次數(shù)。

3.2 算法的設(shè)計與實現(xiàn)

該算法的主要思想是將遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,通過遺傳算法對神經(jīng)網(wǎng)絡(luò)的初始權(quán)重和閾值進(jìn)行求解,在求解過程中采用自適應(yīng)算法計算變異率和交叉率,并在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中采用精英保留的方法進(jìn)行訓(xùn)練。具體算法過程如下:

步驟1:讀取算例數(shù)據(jù)。

步驟2:設(shè)置遺傳算法的參數(shù)。

步驟3:初始化染色體,令i=1。

步驟4:執(zhí)行第i次迭代。

步驟5:采用自適應(yīng)算法計算變異率和交叉率。

步驟6:對染色體進(jìn)行變異操作。

步驟7:對染色體進(jìn)行交叉操作。

步驟8:對染色體進(jìn)行解碼。

步驟9:用染色體基因?qū)P神經(jīng)網(wǎng)絡(luò)的初始權(quán)重和閾值進(jìn)行賦值。

步驟10:訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。

步驟11:計算訓(xùn)練誤差,并以此為目標(biāo)函數(shù)。

步驟12:以目標(biāo)函數(shù)為評價準(zhǔn)則,更新精英庫并保留精英。

步驟13:如果i<迭代次數(shù),那么i=i+1,,轉(zhuǎn)4,否則轉(zhuǎn)14。

步驟14:輸出結(jié)果,算法結(jié)束。

算法的流程圖如圖2所示:

四、 實驗

通過以上研究及理論分析,我們將通過一些實際的實驗來驗證研究的結(jié)論。利用Matlab工具箱函數(shù)設(shè)計改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型,對軟件的質(zhì)量數(shù)據(jù)進(jìn)行學(xué)習(xí),誤差基本上能達(dá)到0.01的精度,BP網(wǎng)絡(luò)輸入層到隱含層的傳遞函數(shù)采用transig函數(shù),隱含層到輸出層的傳遞函數(shù)采用purelin函數(shù),網(wǎng)絡(luò)的精度為0.000000001,訓(xùn)練次數(shù)為1000,訓(xùn)練誤差小于目標(biāo)誤差訓(xùn)練結(jié)束。遺傳算法的運行參數(shù)為:遺傳算法種群規(guī)模為50,迭代次數(shù)為200,交叉概率范圍0.5~0.85,變異概率范圍為0.05~0.15。

首先從3個不同的航天系統(tǒng)軟件中選擇140個樣本作為仿真的數(shù)據(jù),其中測試樣本40,訓(xùn)練樣本100個,導(dǎo)入建立的評價模型中,然后初始化BP網(wǎng)絡(luò),并設(shè)置訓(xùn)練的各項參數(shù),接著進(jìn)行樣本學(xué)習(xí),進(jìn)行測試并輸出評估結(jié)果。

將未結(jié)合遺傳算法的神經(jīng)網(wǎng)絡(luò)作為對比模型,對于未引入遺傳算法的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果和將遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合改進(jìn)后的軟件質(zhì)量的預(yù)測結(jié)果如圖3所示。

對于對于未引入遺傳算法的BP神經(jīng)網(wǎng)絡(luò)和將遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合改進(jìn)后的軟件質(zhì)量的相對誤差和絕對誤差結(jié)果如圖4所示。

從實際的評價結(jié)果來看,建立的基于遺傳算法和神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價系統(tǒng)的評價結(jié)果精度較單純的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果更為準(zhǔn)確可信在可接受范圍內(nèi),是一個合理可行的軟件質(zhì)量預(yù)測方法。

五、結(jié)束語

本文將BP神經(jīng)網(wǎng)絡(luò)與遺傳算法相結(jié)合建立了軟件質(zhì)量評價模型,充分發(fā)揮了二者的優(yōu)勢,克服了BP神經(jīng)網(wǎng)絡(luò)中局部極小的缺陷,評價結(jié)果相對準(zhǔn)確、客觀、科學(xué)、有一定的研究價值。利用MATLAB對實際的數(shù)據(jù)進(jìn)行實證分析,結(jié)果表明所建立的評價模型誤差小,評估更加準(zhǔn)確,具有較好的實際應(yīng)用效果。

參 考 文 獻(xiàn)

[1]廖錦舜,何锫.基于模糊神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價方法[D].計算機技術(shù)與發(fā)展,2006,2

[2] 袁曾任.人工神經(jīng)網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大13 學(xué)出版社,2000.

[3]王小平,曹立明.遺傳算法——理論、應(yīng)用于軟件設(shè)計實現(xiàn)[M].西安:西安交通大學(xué)出版社,2002

[4]蚩志鋒,閏珍珠,黃彪.基于遺傳算法與BP算法的水質(zhì)評價模型[J].重慶科技學(xué)院學(xué)報:自然科學(xué)版,2009,11(1):122—124.

[5]盧雯嘉,童杰等.基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的大電力客戶信用評價模型[J].重慶大學(xué)學(xué)報,2009,34(8).

[6]蚩志鋒。閏珍珠,黃彪.基于遺傳算法與BP算法的水質(zhì)評價模型[J].重慶科技學(xué)院學(xué)報:自然科學(xué)版,2009,11(1):122—124.

[7]楊愛民,張文祥.軟件質(zhì)量及其量化評價方法[J].計算機工程與設(shè)計,2006,27(21):39-88.

[8]黃錫滋.軟件可靠性安全性與質(zhì)量保證[M].北京:電子工業(yè)出版社,2002:32-65.

[9]王李進(jìn),吳保國,鄭德祥.基于人工神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價[J].計算機應(yīng)用與軟件,2008,25(12):134-150.

[10] 肖國榮.BP神經(jīng)網(wǎng)絡(luò)在基金價格預(yù)測中的應(yīng)用研究[J].計算機仿真,2011,28(3):120—123.

[11]李建珍.基于遺傳算法的人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].西北師范大學(xué)學(xué)報,2002,38(2).

[12]周明,李樹棟.遺傳算法原理及應(yīng)用[M].北京:國防工業(yè)出版社,1999.

主站蜘蛛池模板: 欧美a级完整在线观看| 亚洲区第一页| 一级不卡毛片| 中文成人在线视频| 日本AⅤ精品一区二区三区日| 国产精品九九视频| 强乱中文字幕在线播放不卡| 欧美A级V片在线观看| 毛片国产精品完整版| 91成人在线观看视频| 国产亚洲欧美在线视频| 青青操视频在线| 日本一本正道综合久久dvd| 黄网站欧美内射| 久久视精品| 日韩av无码DVD| 成人小视频网| 日本91视频| 成人午夜福利视频| 亚洲美女久久| 久久精品丝袜高跟鞋| 香蕉国产精品视频| av天堂最新版在线| 99国产精品免费观看视频| 国产成人精品男人的天堂| 国产精品片在线观看手机版| 日本影院一区| 国产爽爽视频| 国产精品污视频| 91极品美女高潮叫床在线观看| 国产91av在线| 97在线公开视频| lhav亚洲精品| 蝴蝶伊人久久中文娱乐网| 亚洲精品动漫| 精品福利国产| 国产精品一区二区在线播放| 五月婷婷导航| 色综合婷婷| 亚洲高清无码精品| 久久一本精品久久久ー99| 亚洲av日韩av制服丝袜| 亚洲欧美精品在线| 国产玖玖视频| 制服丝袜一区| 欧美国产综合色视频| 国产91精选在线观看| 制服丝袜 91视频| 欧美伦理一区| 97一区二区在线播放| 亚洲欧洲综合| 色一情一乱一伦一区二区三区小说| 精品国产中文一级毛片在线看| 亚洲妓女综合网995久久| 国产在线精品香蕉麻豆| 一级毛片网| 国产成人凹凸视频在线| 亚洲精品视频在线观看视频| 在线va视频| 亚洲精品午夜天堂网页| 中文字幕在线看| 波多野结衣无码中文字幕在线观看一区二区 | 亚洲国产精品无码久久一线| AV无码一区二区三区四区| 91麻豆国产精品91久久久| 欧美国产在线一区| 国产亚洲视频在线观看| 日韩黄色大片免费看| 亚洲永久免费网站| 91亚洲精选| 黑人巨大精品欧美一区二区区| 国产乱人伦偷精品视频AAA| 精品欧美视频| 国产欧美日韩在线一区| 黄色在线不卡| 欧美中出一区二区| 久久91精品牛牛| 久久99蜜桃精品久久久久小说| 久久综合色天堂av| 成年午夜精品久久精品| 亚洲欧美在线精品一区二区| 成年A级毛片|