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

增加度量元的遷移學(xué)習(xí)跨項(xiàng)目軟件缺陷預(yù)測(cè)

2018-07-25 12:05:36婁豐鵬荊曉遠(yuǎn)
關(guān)鍵詞:模型

婁豐鵬,吳 迪,荊曉遠(yuǎn),吳 飛

(1.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210003;2.武漢大學(xué) 計(jì)算機(jī)學(xué)院 軟件工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430072;3.南京郵電大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210003)

0 引 言

軟件缺陷通常導(dǎo)致系統(tǒng)發(fā)生故障,進(jìn)而造成財(cái)政和金融損失。軟件在正式發(fā)布之前,可以通過不同級(jí)別的測(cè)試來檢驗(yàn)和刪除這些缺陷。因此,軟件缺陷預(yù)測(cè)是保證系統(tǒng)正常運(yùn)行的一個(gè)至關(guān)重要的步驟。

在軟件工程領(lǐng)域,軟件缺陷預(yù)測(cè)已經(jīng)成為一個(gè)重大的研究課題,引起了很多學(xué)者的高度重視[1-2]。近年來,已經(jīng)提出了許多有效的軟件缺陷預(yù)測(cè)方法[3-5]。這些方法是通過從軟件倉庫中挖掘數(shù)據(jù)集,然后使用機(jī)器學(xué)習(xí)分類器預(yù)測(cè)一個(gè)學(xué)習(xí)模型[6],通過該模型可以對(duì)軟件缺陷進(jìn)行預(yù)測(cè)[7]。近年來比較流行的機(jī)器學(xué)習(xí)分類器有很多,如決策樹(decision tree,DT)、隨機(jī)森林(random forest,RF)、邏輯回歸(logistic regression,LR)、支持向量機(jī)模型(support vector machine,SVM)[8-9]等。但是,大多數(shù)方法是在項(xiàng)目?jī)?nèi)部進(jìn)行評(píng)估的,新項(xiàng)目通常沒有足夠的缺陷數(shù)據(jù)來構(gòu)建預(yù)測(cè)模型。對(duì)于一個(gè)新項(xiàng)目或者是具有有限訓(xùn)練數(shù)據(jù)的新項(xiàng)目,最好通過使用現(xiàn)有源項(xiàng)目中足夠的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)預(yù)測(cè)模型,然后將模型應(yīng)用于某些目標(biāo)項(xiàng)目,稱之為跨項(xiàng)目。因此,跨項(xiàng)目缺陷預(yù)測(cè)是必要的。但是,由于源項(xiàng)目和目標(biāo)項(xiàng)目之間的特征分布差異,導(dǎo)致跨項(xiàng)目軟件缺陷預(yù)測(cè)的性能通常較差。

針對(duì)上述問題,文中采用遷移學(xué)習(xí)方法(transfer component analysis,TCA)[7]查找源項(xiàng)目與目標(biāo)項(xiàng)目的相似性,并提出一種通過增加度量元來提高基于遷移學(xué)習(xí)的跨項(xiàng)目缺陷預(yù)測(cè)性能的方法(MTCA)。該方法首先使用分類器對(duì)數(shù)據(jù)集進(jìn)行一次項(xiàng)目?jī)?nèi)快速預(yù)測(cè),將預(yù)測(cè)結(jié)果作為新的度量元加入數(shù)據(jù)集構(gòu)成新的數(shù)據(jù)集。然后,采用遷移學(xué)習(xí)將源項(xiàng)目中提取的知識(shí)轉(zhuǎn)移至目標(biāo)項(xiàng)目,并使用分類器預(yù)測(cè)目標(biāo)項(xiàng)目。最后在AEEEM數(shù)據(jù)庫[10]上進(jìn)行驗(yàn)證。

1 機(jī)器學(xué)習(xí)算法以及缺陷預(yù)測(cè)過程

1.1 機(jī)器學(xué)習(xí)分類器算法研究

邏輯回歸算法廣泛應(yīng)用于數(shù)據(jù)挖掘、數(shù)據(jù)分類,同時(shí)也在支持概率類型結(jié)果輸出的方面得到大量應(yīng)用。邏輯回歸算法是在線性回歸的基礎(chǔ)上,加入邏輯函數(shù),使用輸入變量線性加權(quán)實(shí)現(xiàn)分類,最終輸出概率估計(jì)。

支持向量機(jī)算法[8-9]是基于核的算法,主要是把輸入數(shù)據(jù)映射到一個(gè)高維空間,使輸入數(shù)據(jù)由線性不可分以最大化分類間隔構(gòu)建最優(yōu)分割超平面,從而提高學(xué)習(xí)機(jī)的泛化能力。對(duì)于分類,支持向量機(jī)算法根據(jù)空間中的樣本計(jì)算該空間的決策曲面,由此確定該空間中未知樣本的所屬類別。

隨機(jī)森林算法是多個(gè)決策樹分類器的集成,其輸出的類別是由個(gè)別決策樹輸出的類別的眾數(shù)決定的。隨機(jī)森林訓(xùn)練和預(yù)測(cè)速度快,對(duì)訓(xùn)練數(shù)據(jù)的容錯(cuò)能力可以進(jìn)行有效估計(jì),當(dāng)數(shù)據(jù)集中的數(shù)據(jù)缺失很多時(shí)依舊可以保持精度不變,能夠在分類過程中生成一個(gè)泛化誤差較小的內(nèi)部無偏估計(jì)。

近鄰算法中,所選擇的鄰居都是已經(jīng)得到正確分類的數(shù)據(jù)。該方法在定類決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類別來決定待分樣本所屬的類別,最近鄰樣本中的大多數(shù)屬于哪個(gè)類別,該樣本就屬于哪個(gè)類別。

1.2 缺陷預(yù)測(cè)過程

圖1是一般的軟件缺陷預(yù)測(cè)過程。

在項(xiàng)目?jī)?nèi)預(yù)測(cè)中,訓(xùn)練樣本集和測(cè)試樣本集來自同一個(gè)項(xiàng)目。對(duì)于跨項(xiàng)目預(yù)測(cè),訓(xùn)練樣本集來自一個(gè)項(xiàng)目(源),測(cè)試樣本集來自另一個(gè)項(xiàng)目(目標(biāo))。

圖1 軟件缺陷預(yù)測(cè)過程

如圖1所示,該過程首先是收集軟件并標(biāo)記每個(gè)軟件發(fā)布后的缺陷數(shù)量,如果一個(gè)軟件存在至少一個(gè)缺陷,則表明該軟件存在缺陷,否則為無缺陷。通過提取復(fù)雜度等度量用于機(jī)器模型訓(xùn)練分類器,然后通過分類器預(yù)測(cè)一個(gè)新的樣本的缺陷情況。

2 遷移學(xué)習(xí)與文中算法

2.1 遷移學(xué)習(xí)以及模型定義

近年來,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)引起了越來越多的關(guān)注[11]。在訓(xùn)練樣本和測(cè)試樣本具有相同的特征空間和分布時(shí),大多數(shù)機(jī)器學(xué)習(xí)方法可以獲得良好的性能[11]。當(dāng)特征空間和分布發(fā)生變化時(shí),學(xué)習(xí)模型需要重建。在這種情況下,有必要重新收集訓(xùn)練數(shù)據(jù)并再次標(biāo)記。通常,重建學(xué)習(xí)模型是昂貴的,并且標(biāo)注新的訓(xùn)練數(shù)據(jù)需要相當(dāng)大的努力。遷移學(xué)習(xí)通過轉(zhuǎn)移從相關(guān)但不同領(lǐng)域提取的知識(shí)來解決這些問題,這可以被認(rèn)為是相關(guān)性預(yù)測(cè)中的源項(xiàng)目,而在目標(biāo)領(lǐng)域建立精確的預(yù)測(cè)模型,可以被視為目標(biāo)項(xiàng)目[12]。

遷移學(xué)習(xí)的模型定義如下:

設(shè)XT為目標(biāo)樣本空間,XS為源樣本空間,目標(biāo)樣本空間也即目標(biāo)空間,就是想要去分類的樣本空間。設(shè)Y={0,1}為類空間,訓(xùn)練數(shù)據(jù)也就是:T?{(X=XS)×Y}。

2.2 TCA(transfer component analysis)

TCA是一種基于特征的遷移學(xué)習(xí)方法,使用MMD(maximum mean discrepancy)[13-14]將處于不同數(shù)據(jù)分布的源空間和目標(biāo)空間一起映射到一個(gè)高維的再生核希爾伯特空間。在該空間中,最小化源數(shù)據(jù)和目標(biāo)數(shù)據(jù)距離,同時(shí)最大程度地保留源數(shù)據(jù)和目標(biāo)數(shù)據(jù)各自的內(nèi)部屬性,那么跨空間的差異可能會(huì)大大降低。因此,通過這個(gè)高維空間中的新表示,可以應(yīng)用標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)方法來訓(xùn)練源空間中的分類器或回歸模型,以在目標(biāo)空間中使用。TCA算法描述如下:

輸入:源空間訓(xùn)練樣本集Ta,目標(biāo)空間測(cè)試樣本集Tb,訓(xùn)練數(shù)據(jù)M,測(cè)試數(shù)據(jù)N。

預(yù)處理:對(duì)樣本集進(jìn)行預(yù)處理(如歸一化、降維等)。

(1)構(gòu)造L矩陣。

(2)構(gòu)造H矩陣。

(3)構(gòu)造核函數(shù)矩陣K。

根據(jù)Ta和Tb,使用常用核函數(shù)計(jì)算K。

(4)構(gòu)造矩陣W。

求(KLK+μI)-1KHK的前m個(gè)特征值,即為W矩陣。

(5)映射樣本數(shù)據(jù):W'*T。

輸出:源訓(xùn)練樣本和目標(biāo)測(cè)試樣本的降維數(shù)據(jù)。

2.3 文中算法流程

在上一節(jié)的基礎(chǔ)上,得到降維之后的訓(xùn)練樣本數(shù)據(jù)運(yùn)用傳統(tǒng)機(jī)器學(xué)習(xí)方法訓(xùn)練源空間的分類器,并對(duì)目標(biāo)空間的測(cè)試數(shù)據(jù)進(jìn)行缺陷預(yù)測(cè)。結(jié)合前面介紹的方法,得到文中算法流程,如圖2所示。

圖2 文中算法流程

圖中第一階段代表第一次工程內(nèi)預(yù)測(cè),將預(yù)測(cè)結(jié)果作為工程的度量元加入數(shù)據(jù)集,通過數(shù)據(jù)集預(yù)處理得到新數(shù)據(jù)集作為第二階段的輸入數(shù)據(jù)[15];第二階段運(yùn)用TCA算法,結(jié)合復(fù)雜的分類模型進(jìn)行跨工程預(yù)測(cè),得到最終的預(yù)測(cè)結(jié)果。算法MTCA第二階段偽代碼描述如下:

輸入:源空間訓(xùn)練樣本集XS,目標(biāo)空間測(cè)試樣本集XT。

預(yù)處理:對(duì)樣本集進(jìn)行預(yù)處理(如歸一化、降維等)。

步驟2:使用SVM分類器對(duì)每一個(gè)測(cè)試樣本實(shí)例進(jìn)行預(yù)測(cè)分類。

輸出:目標(biāo)測(cè)試樣本的預(yù)測(cè)標(biāo)記。

3 實(shí) 驗(yàn)

3.1 實(shí)驗(yàn)數(shù)據(jù)庫

實(shí)驗(yàn)是在AEEEM[10]數(shù)據(jù)庫上進(jìn)行的,該數(shù)據(jù)庫包含5個(gè)工程,表1介紹了各個(gè)工程的靜態(tài)代碼度量和缺陷數(shù)等特征[16]。

表1 AEEEM數(shù)據(jù)集

3.2 評(píng)估度量

通過Precision(精確度)、Recall(召回率)以及F-measure(綜合評(píng)估)三個(gè)指標(biāo)來全面評(píng)估各個(gè)方法的性能,這三個(gè)指標(biāo)是評(píng)估分類模型最具代表性的度量[17],一個(gè)好的預(yù)測(cè)模型希望實(shí)現(xiàn)較高的Recall和Precision值。

根據(jù)表2,Precision和Recall可以定義為:

(1)

(2)

表2 四種預(yù)測(cè)結(jié)果

但是,Recall和Precision兩個(gè)指標(biāo)之間存在著權(quán)衡。因此,需要對(duì)召回率和精確度進(jìn)行綜合評(píng)估,則F-measure定義為:

(3)

這四種評(píng)價(jià)指標(biāo)值都在0~1之間,一個(gè)好的缺陷預(yù)測(cè)模型應(yīng)該會(huì)有較高的Precision、F-measure和Recall值。而且F-measure是綜合性評(píng)價(jià)指標(biāo),更加重要。

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

文中使用一對(duì)一的跨工程預(yù)測(cè)(即僅使用一個(gè)源項(xiàng)目預(yù)測(cè)一個(gè)目標(biāo)項(xiàng)目),使用AEEEM庫構(gòu)建一個(gè)跨項(xiàng)目組合,例如:EQ→JDT、EQ→LC、LC→PDE等。實(shí)驗(yàn)步驟為:首先是AEEEM庫中的5個(gè)工程各自做一次工程內(nèi)缺陷預(yù)測(cè),分類器分別是LR、RF、NN,將預(yù)測(cè)結(jié)果作為工程的度量元加入數(shù)據(jù)集,每個(gè)原始數(shù)據(jù)集加入一個(gè)特征,即構(gòu)成了三組新的數(shù)據(jù)集,即(EQ_LR、JDT_LR、ML_LR、LC_LR、JDT_LR)為一組新數(shù)據(jù)集,(EQ_RF、JDT_RF、ML_RF、LC_RF、JDT_RF)為一組新數(shù)據(jù)集,(EQ_NN、JDT_NN、ML_NN、LC_NN、JDT_NN)為一組新數(shù)據(jù)集。每組新數(shù)據(jù)集進(jìn)行跨項(xiàng)目組合并遷移,然后進(jìn)行跨工程的軟件缺陷再預(yù)測(cè),二次預(yù)測(cè)使用一個(gè)魯棒性更強(qiáng)的分類器,文中使用SVM,這一算法流程簡(jiǎn)稱MTCA。在對(duì)比算法TCA時(shí),為了保證實(shí)驗(yàn)的可靠性,使用SVM分類器。對(duì)TCA方法與MTCA方法做對(duì)比,TCA使用的是原始數(shù)據(jù)集,MTCA使用的是EQ、JDT、LC、ML、PDE三組新數(shù)據(jù)集,隨機(jī)進(jìn)行20次求平均,結(jié)果如表3所示。

表3 在AEEEM數(shù)據(jù)庫上的實(shí)驗(yàn)結(jié)果

分析表3可知,MTCA在各個(gè)數(shù)據(jù)庫上的缺陷預(yù)測(cè)效果普遍好于TCA,尤其是F-measure評(píng)價(jià)指標(biāo),相較其他方法優(yōu)勢(shì)明顯。F-measure作為綜合評(píng)價(jià)指標(biāo),從該值的觀測(cè)中就能看出算法的總體性能,而MTCA在F-measure上較TCA要高出很多,也說明了該方法的優(yōu)勢(shì)。但是,也存在一些結(jié)果相比較低的,原因是加入新的度量元時(shí)可能引入了過多的錯(cuò)誤數(shù)據(jù),導(dǎo)致缺陷預(yù)測(cè)模型向著錯(cuò)誤的方向構(gòu)建。總體上結(jié)果還是普遍較好。

4 結(jié)束語

針對(duì)當(dāng)前軟件缺陷預(yù)測(cè)模型中機(jī)器學(xué)習(xí)算法對(duì)預(yù)測(cè)模型性能的影響問題,提出了一種通過增加度量元來提高基于遷移學(xué)習(xí)的跨項(xiàng)目缺陷預(yù)測(cè)性能的方法。首先使用分類器對(duì)數(shù)據(jù)集進(jìn)行一次項(xiàng)目?jī)?nèi)預(yù)測(cè),并將預(yù)測(cè)結(jié)果作為新的度量元加入數(shù)據(jù)集;然后采用遷移學(xué)習(xí)方法將源項(xiàng)目中提取的知識(shí)轉(zhuǎn)移至目標(biāo)項(xiàng)目,并使用分類器預(yù)測(cè)目標(biāo)項(xiàng)目,從而提高了跨項(xiàng)目軟件缺陷預(yù)測(cè)效率。通過對(duì)比驗(yàn)證了該方法的有效性。如何合理選擇分類器以進(jìn)一步提高缺陷預(yù)測(cè)模型的性能指標(biāo)是下一步研究的問題。

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久99国产综合精品1| 亚洲免费人成影院| 欧洲精品视频在线观看| 99视频在线免费观看| 岛国精品一区免费视频在线观看| 日韩无码精品人妻| 国产免费久久精品44| 91蝌蚪视频在线观看| 免费A级毛片无码免费视频| 成人国产一区二区三区| 无码有码中文字幕| 国产一级妓女av网站| 在线观看国产网址你懂的| 中文字幕无码av专区久久| 久久熟女AV| 日韩小视频在线播放| 亚洲乱伦视频| 国产成人免费视频精品一区二区| 91精品国产自产91精品资源| 久久久久中文字幕精品视频| 在线视频亚洲欧美| 激情综合五月网| 久久国产毛片| 国产精品yjizz视频网一二区| 国产69精品久久久久孕妇大杂乱 | 欧美午夜网| 久青草免费在线视频| 欧美亚洲欧美| 欧美区一区| 看看一级毛片| 美女被操91视频| 亚洲男人天堂久久| 99久久精品国产麻豆婷婷| 五月婷婷激情四射| 亚洲天堂久久新| 国产亚洲欧美日韩在线一区| 91精品国产无线乱码在线| 国产亚卅精品无码| 2020久久国产综合精品swag| 国产精品毛片一区| 国产精品伦视频观看免费| 视频二区国产精品职场同事| 最新加勒比隔壁人妻| 亚洲制服丝袜第一页| 欧美午夜性视频| 国产精品任我爽爆在线播放6080| 亚洲天堂久久| 蜜芽国产尤物av尤物在线看| 97在线视频免费观看| 国产第一色| 日韩欧美高清视频| 人妻丰满熟妇AV无码区| 国产精品午夜电影| 在线看国产精品| 99视频精品在线观看| 自拍偷拍欧美日韩| 日韩国产精品无码一区二区三区| 国产青榴视频在线观看网站| 欧美 国产 人人视频| 国产精品成人不卡在线观看 | 一区二区三区精品视频在线观看| 天堂在线www网亚洲| 国产伦片中文免费观看| 在线视频精品一区| 欧美日韩专区| 色综合热无码热国产| 韩日免费小视频| 国产手机在线小视频免费观看| 蜜桃臀无码内射一区二区三区| 在线a视频免费观看| 人妻中文字幕无码久久一区| 波多野结衣国产精品| 国产精品毛片一区| 国产一级毛片网站| 国产精品污污在线观看网站| 国产h视频免费观看| 色噜噜久久| 亚洲国产AV无码综合原创| 国产精品白浆无码流出在线看| 毛片在线播放网址| 亚洲欧美成人影院| 国产精品亚洲综合久久小说|