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

增加度量元的遷移學習跨項目軟件缺陷預測

2018-07-25 12:05:36婁豐鵬荊曉遠
計算機技術與發展 2018年7期
關鍵詞:模型

婁豐鵬,吳 迪,荊曉遠,吳 飛

(1.南京郵電大學 計算機學院,江蘇 南京 210003;2.武漢大學 計算機學院 軟件工程國家重點實驗室,湖北 武漢 430072;3.南京郵電大學 自動化學院,江蘇 南京 210003)

0 引 言

軟件缺陷通常導致系統發生故障,進而造成財政和金融損失。軟件在正式發布之前,可以通過不同級別的測試來檢驗和刪除這些缺陷。因此,軟件缺陷預測是保證系統正常運行的一個至關重要的步驟。

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

針對上述問題,文中采用遷移學習方法(transfer component analysis,TCA)[7]查找源項目與目標項目的相似性,并提出一種通過增加度量元來提高基于遷移學習的跨項目缺陷預測性能的方法(MTCA)。該方法首先使用分類器對數據集進行一次項目內快速預測,將預測結果作為新的度量元加入數據集構成新的數據集。然后,采用遷移學習將源項目中提取的知識轉移至目標項目,并使用分類器預測目標項目。最后在AEEEM數據庫[10]上進行驗證。

1 機器學習算法以及缺陷預測過程

1.1 機器學習分類器算法研究

邏輯回歸算法廣泛應用于數據挖掘、數據分類,同時也在支持概率類型結果輸出的方面得到大量應用。邏輯回歸算法是在線性回歸的基礎上,加入邏輯函數,使用輸入變量線性加權實現分類,最終輸出概率估計。

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

隨機森林算法是多個決策樹分類器的集成,其輸出的類別是由個別決策樹輸出的類別的眾數決定的。隨機森林訓練和預測速度快,對訓練數據的容錯能力可以進行有效估計,當數據集中的數據缺失很多時依舊可以保持精度不變,能夠在分類過程中生成一個泛化誤差較小的內部無偏估計。

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

1.2 缺陷預測過程

圖1是一般的軟件缺陷預測過程。

在項目內預測中,訓練樣本集和測試樣本集來自同一個項目。對于跨項目預測,訓練樣本集來自一個項目(源),測試樣本集來自另一個項目(目標)。

圖1 軟件缺陷預測過程

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

2 遷移學習與文中算法

2.1 遷移學習以及模型定義

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

遷移學習的模型定義如下:

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

2.2 TCA(transfer component analysis)

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

輸入:源空間訓練樣本集Ta,目標空間測試樣本集Tb,訓練數據M,測試數據N。

預處理:對樣本集進行預處理(如歸一化、降維等)。

(1)構造L矩陣。

(2)構造H矩陣。

(3)構造核函數矩陣K。

根據Ta和Tb,使用常用核函數計算K。

(4)構造矩陣W。

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

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

輸出:源訓練樣本和目標測試樣本的降維數據。

2.3 文中算法流程

在上一節的基礎上,得到降維之后的訓練樣本數據運用傳統機器學習方法訓練源空間的分類器,并對目標空間的測試數據進行缺陷預測。結合前面介紹的方法,得到文中算法流程,如圖2所示。

圖2 文中算法流程

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

輸入:源空間訓練樣本集XS,目標空間測試樣本集XT。

預處理:對樣本集進行預處理(如歸一化、降維等)。

步驟2:使用SVM分類器對每一個測試樣本實例進行預測分類。

輸出:目標測試樣本的預測標記。

3 實 驗

3.1 實驗數據庫

實驗是在AEEEM[10]數據庫上進行的,該數據庫包含5個工程,表1介紹了各個工程的靜態代碼度量和缺陷數等特征[16]。

表1 AEEEM數據集

3.2 評估度量

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

根據表2,Precision和Recall可以定義為:

(1)

(2)

表2 四種預測結果

但是,Recall和Precision兩個指標之間存在著權衡。因此,需要對召回率和精確度進行綜合評估,則F-measure定義為:

(3)

這四種評價指標值都在0~1之間,一個好的缺陷預測模型應該會有較高的Precision、F-measure和Recall值。而且F-measure是綜合性評價指標,更加重要。

3.3 實驗結果與分析

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

表3 在AEEEM數據庫上的實驗結果

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

4 結束語

針對當前軟件缺陷預測模型中機器學習算法對預測模型性能的影響問題,提出了一種通過增加度量元來提高基于遷移學習的跨項目缺陷預測性能的方法。首先使用分類器對數據集進行一次項目內預測,并將預測結果作為新的度量元加入數據集;然后采用遷移學習方法將源項目中提取的知識轉移至目標項目,并使用分類器預測目標項目,從而提高了跨項目軟件缺陷預測效率。通過對比驗證了該方法的有效性。如何合理選擇分類器以進一步提高缺陷預測模型的性能指標是下一步研究的問題。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产成人精品高清不卡在线 | 天堂网亚洲系列亚洲系列| 自拍偷拍欧美| 精品一区二区三区无码视频无码| 欧美日韩综合网| 青草视频网站在线观看| 99无码熟妇丰满人妻啪啪 | 亚洲国产精品不卡在线| 伊人久久久久久久| 亚洲精品综合一二三区在线| 五月天香蕉视频国产亚| 99久久精品国产综合婷婷| 日韩少妇激情一区二区| 91年精品国产福利线观看久久 | 青草精品视频| 啪啪免费视频一区二区| 无码啪啪精品天堂浪潮av| 国产成人乱无码视频| 国产白浆视频| 超碰91免费人妻| 毛片网站在线看| 国产精品13页| 亚洲精品国产综合99| 白浆视频在线观看| 婷婷六月在线| 欧美在线一级片| 国产激爽大片高清在线观看| 综合人妻久久一区二区精品| 国产成人精品一区二区三在线观看| 亚洲Av综合日韩精品久久久| 国产99在线| 69av免费视频| 91成人在线观看| 免费99精品国产自在现线| 成人精品午夜福利在线播放| 欧洲一区二区三区无码| 蜜桃视频一区| 欧洲成人免费视频| 亚洲热线99精品视频| 天天做天天爱天天爽综合区| 久久精品国产亚洲AV忘忧草18| 欧美在线视频不卡| 精品国产自在现线看久久| 丰满少妇αⅴ无码区| 国产成人无码AV在线播放动漫 | 精品人妻一区二区三区蜜桃AⅤ| 精品伊人久久久大香线蕉欧美| 国产在线小视频| 国产成人精品免费av| 91丝袜在线观看| 亚洲欧洲日韩综合色天使| 亚洲欧美日韩精品专区| 国产欧美日本在线观看| 亚洲欧美成人网| 凹凸精品免费精品视频| 成人国产一区二区三区| 国产嫩草在线观看| 亚洲第一天堂无码专区| 久久久久国产精品熟女影院| 国产精品三级专区| 欧美日韩中文国产| 91亚洲精选| 日韩精品久久无码中文字幕色欲| 欧美丝袜高跟鞋一区二区| 婷婷开心中文字幕| 尤物精品视频一区二区三区| 在线播放真实国产乱子伦| 色窝窝免费一区二区三区 | 九色国产在线| 永久天堂网Av| 国产偷国产偷在线高清| 久久久久久尹人网香蕉 | 欧美日本激情| 亚洲欧美成人| 亚洲视频在线青青| 草逼视频国产| 久久伊人色| 国产凹凸一区在线观看视频| 国产在线观看成人91| 久久人人97超碰人人澡爱香蕉| 日韩欧美在线观看| 亚洲av日韩av制服丝袜|