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

        ?

        基于多核集成學習的跨項目軟件缺陷預測

        2019-06-14 07:36:16荊曉遠董西偉
        計算機技術與發(fā)展 2019年6期
        關鍵詞:分類

        黃 琳,荊曉遠,董西偉

        (南京郵電大學 自動化學院,江蘇 南京 210003)

        0 引 言

        軟件缺陷的產生往往是由于開發(fā)人員需求理解不正確或是經驗不足。而含有缺陷的軟件在運行時可能會產生意料之外的結果,嚴重的時候會給企業(yè)造成巨大的經濟損失,甚至會威脅到人們的生命安全。軟件缺陷預測(software defect prediction,SDP)是軟件工程中最重要的研究課題之一[1],吸引了學術界和工業(yè)界的廣泛關注?;诙攘康撵o態(tài)軟件缺陷預測技術借助于從已有的軟件模塊中獲得歷史數(shù)據(jù),對新的軟件模塊進行缺陷預測,來判斷它們是否存在缺陷,從而為軟件項目提供決策支持[2-4]。近年來,支持向量機(support vector machine,SVM)[5]、決策樹[6]、樸素貝葉斯[7-8]、代價敏感學習[9]和集成學習[10-11]這些機器學習技術已經被廣泛地用于軟件缺陷預測領域。最近,字典學習[12]、稀疏表示[13]等方法也被引入了軟件缺陷預測中。軟件缺陷預測的歷史數(shù)據(jù)具有樣本不足、結構復雜和類別分布不平衡的特點。為了解決這些問題,文中提出一種基于多核集成學習的跨項目軟件缺陷預測算法(cross-project software defect prediction based on multiple kernel ensemble learning,CMKEL)。

        1 相關工作

        1.1 跨項目缺陷預測

        軟件缺陷預測是當前大數(shù)據(jù)技術在軟件工程領域的重點研究方向之一[14]。在早期大多數(shù)的研究都是使用項目內已經標記的程序模塊,一部分樣本來構建預測模型,另一部分樣本作為預測。然而在實際應用中項目內的歷史數(shù)據(jù)是有限的。由于歷史數(shù)據(jù)的缺少,研究者們開始關注跨項目軟件缺陷預測的問題,跨項目就是使用其他項目的訓練數(shù)據(jù)來構建預測模型,并對一個全新項目進行缺陷預測。

        1.2 多核學習技術

        多核學習就是將不同特性的核函數(shù)進行組合,獲得多類核函數(shù)的優(yōu)點,來達到更優(yōu)的映射性能。和傳統(tǒng)的單核方法相比,多核學習不僅能夠組合利用各基本的單核函數(shù)的特征映射的能力,而且還能將不同特性的核函數(shù)進行組合,來獲得多類單核數(shù)的優(yōu)點,從而得到更優(yōu)的映射能力,提高預測的精度。

        1.3 集成學習技術

        集成學習就是用多個弱分類器結合為一個強分類器,從而提升分類方法的效果。集成學習能夠得到比基分類器更好的分類效果和泛化能力,不容易出現(xiàn)過擬合情況,因此適用于跨項目缺陷預測問題。

        2 基于多核集成學習的跨項目軟件缺陷預測

        對于靜態(tài)軟件缺陷模塊存在的結構復雜、類別不平衡、歷史數(shù)據(jù)缺少的問題,文中提出一種基于多核集成學習的跨項目軟件缺陷預測方法。

        假設訓練的軟件模塊D={(xi,yi),i=1,2,…,N},其中xi是模塊屬性的向量,yi∈{0,1}是模塊的標簽,N是項目數(shù)。K={kj:X×X→R,j=1,2,…,M}是M個核函數(shù)的集合,其中X是輸入空間。CMKEL主要是學習基于多核的一個分類器f(x),這個分類器是通過有標記的歷史數(shù)據(jù)進行多核訓練得到的,通過基于多核的分類器f(x)來預測新的軟件模塊,基于多核分類器表示為:

        (1)

        其中,T為整個boosting過程的次數(shù);ft(x)為第t次(1≤t≤T)boosting過程得到的弱分類器;αt為相應的權重值。

        該算法的關鍵點是每次在M個基于核函數(shù)的分類器中進行boosting過程后,學習得到一個錯誤分類誤差最小的ft(x)分類器及其組合權重αt。經過T次boosting過程之后,將這些分類器按照權重值集成,得到最終的分類器。

        2.1 多核學習分類器

        (2)

        多核學習的目標是通過最優(yōu)化方法來求取合成核的參數(shù),將上式轉化為如下的最優(yōu)化形式:

        (3)

        2.2 多核集成學習分類器

        為了學習一個多核集成的分類器,文中采用一個典型且有效的boosting算法。具體而言,在初始化訓練集之后通過一系列boosting過程,重復學習一些基于核的分類器,然后根據(jù)它們的組合權重進行集合,從而得到最終的CMKEL分類器。在boosting過程之前,需要先對訓練集進行初始化。文中在整個訓練集上直接執(zhí)行隨機抽樣策略,然后將這些選擇的樣本作為CMKEL初始訓練集。

        在訓練集初始化完成之后,需要有對應的Dt向量,Dt表示每個樣本在整個boosting過程的不同權重。最初,這些權重都是相同的。為了更加關注那些錯誤分類的樣本,在每一次boosting過程增加錯誤分類的權重或是減少正確分類的權重,來調整權重向量Dt。一旦得到訓練集和權重向量Dt,就可以進行boosting過程。每次boosting過程的關鍵是要從M個基于核函數(shù)的分類器中學習得到一個基于核假設的分類器ft(x)。

        樣本中無缺陷模塊的標簽為0,有缺陷模塊的標簽為1。軟件缺陷預測模型對有缺陷的模塊被預測為無缺陷時稱為Ⅰ類錯誤,代價表示為cost(1,0);反之Ⅱ類錯誤表示無缺陷模塊被預測為有缺陷的,代價表示為cost(0,1),顯然Ⅰ類錯誤的代價敏感要遠大于Ⅱ錯誤代價敏感。文中定義的代價矩陣如表1所示。

        表1 代價矩陣

        在表1中,μ表示I類錯誤的代價敏感系數(shù)。

        考慮到代價矩陣后的每個基于核分類器的錯誤分類誤差的計算為:

        (4)

        其中,cost(l,g)為代價矩陣,cost(l,g)表示l類被錯分成g類的代價。

        最好的分類器是得到最小的錯誤分類誤差,在第t次boosting過程之后得到的弱分類器為:

        (5)

        在第t次的boosting過程中,ft(x)分類器的權重αt和錯誤分類誤差的關系表達式為:

        (6)

        在得到權重αt之后,第t次的boosting過程完成。在下一次boosting開始前,要根據(jù)第t次boosting過程的結果更新下一次boosting過程中的權重向量Dt+1。權重向量的更新原則是根據(jù)分類結果進行更新,通過提高錯分樣本的權重,降低正確分類樣本的權重。目的是在下一次boosting過程中將重點放在錯誤分類的樣本上,訓練樣本集的權重向量更新表達式為:

        (7)

        其中,Zt是規(guī)范化因子。

        根據(jù)分類的結果,權重向量的更新策略詳細表示為:

        (8)

        其中,ft(xi)=yi表示被正確分類;ft(xi)≠yi表示被錯誤分類。

        經過T次boosting過程后,最終的分類器為:

        (9)

        綜上所述,CMKEL算法的描述如下:

        輸入:訓練集、核函數(shù)kj、初始權重分布D1=1/N。

        (1)開始第t=1~T次的boosting過程,權重向量表示每個訓練樣本Dt的權重分布。

        (2)對于j=1~M來訓練對應kj核函數(shù)的弱分類器,根據(jù)式4計算在Dt下的錯誤分類誤差。

        (3)訓練完所有的基于核的分類器之后,選擇最小錯誤分類的分類器,由式5得到ft(x)。

        (4)由式6計算αt。

        (5)根據(jù)式8權重更新的策略,更新下一次boosting過程的權重向量分布。

        (6)T次boosting過程之后,得到T組分類器和與之對應的權重。

        輸出:最終分類器G(x)。

        3 實 驗

        為驗證CMKEL算法的預測效果,將該算法與加權樸素貝葉斯(weighted Na?ve Bayes,NB)算法[7]、壓縮的C4.5決策樹(compressed C4.5 decision tree,CC4.5)算法[15]和代價敏感的Boosting神經網絡(cost-sensitive boosting neural network,CBNN)算法[16]在NASA、AEEEM數(shù)據(jù)庫中進行對比驗證。

        3.1 實驗數(shù)據(jù)庫

        NASA、AEEEM數(shù)據(jù)庫的工程數(shù)都是五個,它們各個工程的靜態(tài)代碼度量和缺陷占比如表2所示。

        3.2 實驗指標

        預測模型的評估指標有召回率(pd)、誤報率(pf)、查準率(precision)和精確度(acc)。

        表2 數(shù)據(jù)集的詳細信息

        文中主要采用兩個綜合性能指標:F-measure,就是將pd與precision結合起來評價;AUC值(area under curve)被定義為ROC曲線下的面積,使用AUC值可以評估二分類問題分類效果的優(yōu)劣。F-measure和AUC的數(shù)值越大,表示軟件缺陷預測模型的預測性能越好。

        3.3 實驗設置

        在多核學習的訓練中,選擇具有20個不同寬度(2-10,2-9,…,29)的高斯核函數(shù),然后使用這20個基核分別將NASA和AEEEM里面的每一個工程映射到一個新的特征空間。對于弱分類器SVM,結合每個核函數(shù)訓練得到一個基于核的分類器,整個過程采用流行的LISVM工具箱作為SVM求解器。為了驗證代價敏感系數(shù)對模型是否有影響,設置μ=1,5,10,15,20,觀察代價敏感系數(shù)不同時對實驗的影響。Boosting過程的初始設計如下:在同一個數(shù)據(jù)庫下,隨機選擇一個工程作為訓練樣本,另一個工程作為測試樣本,每組算法迭代20次,最后將20次跑出來的數(shù)據(jù)取平均。Boosting的過程和文獻[17]中一致,訓練次數(shù)T為100。

        3.4 實驗結果及分析

        為了驗證在CMKEL算法中代價敏感系數(shù)的大小對實驗結果的影響,設置了不同的μ值,在AEEEM數(shù)據(jù)庫上的實驗結果如表3所示。其中μ=1表示沒有引入代價敏感系數(shù)。

        表3 不同代價敏感系數(shù)下的AUC值

        從表3中的實驗結果可以看出:當μ>1時,AUC值要比μ=1高,說明引入代價敏感系數(shù)提高了預測的效果;隨著μ值的增大,AUC的值也在增長,但是當μ>15時,AUC值開始下降,說明代價敏感系數(shù)并不是越大越好,當μ=15時,CMKEL算法能達到最好的效果。

        為了驗證文中算法是否有更好的性能,分別在NASA和AEEEM兩個數(shù)據(jù)庫與其他算法進行對比,結果如表4所示。(實驗結果中將F-measure值表示成F值)

        表4 算法對比結果

        通過以上實驗可以看出:NB,CC4.5,CBBN算法在某些項目上面能夠有比較好的F-measure值,但是CMKEL在大部分項目上都同時有很好的F-measure值、AUC值,效果要比前三種算法好,表明了CMKEL算法的優(yōu)越性。

        4 結束語

        為了解決軟件缺陷預測中樣本數(shù)據(jù)結構復雜與類別分布不平衡的問題,提出一種基于多核集成學習的跨項目軟件缺陷預測算法。利用多核學習將數(shù)據(jù)映射到新的特征空間,更好地表示數(shù)據(jù),提高預測的精確度。集成學習能夠解決類別分布不平衡的問題。在NASA和AEEEM這兩個數(shù)據(jù)庫上的實驗結果證明了該算法的有效性。

        猜你喜歡
        分類
        2021年本刊分類總目錄
        分類算一算
        垃圾分類的困惑你有嗎
        大眾健康(2021年6期)2021-06-08 19:30:06
        星星的分類
        我給資源分分類
        垃圾分類,你準備好了嗎
        學生天地(2019年32期)2019-08-25 08:55:22
        分類討論求坐標
        數(shù)據(jù)分析中的分類討論
        按需分類
        教你一招:數(shù)的分類
        国内精品视频成人一区二区 | 四川丰满妇女毛片四川话| 欧洲成人午夜精品无码区久久| 国产精品久久久久久2021| 午夜日本理论片最新片| 中文字幕一区二区中出后入| 内地老熟女老少配视频| 久久久久这里只有精品网| 日韩在线精品视频观看 | 精品香蕉一区二区三区| 日本熟妇色xxxxx欧美老妇| 无码国产精品第100页| 国产av大片久久中文字幕| 男人国产av天堂www麻豆| 天堂8中文在线最新版在线| 国产精品 精品国内自产拍| 日本免费三片在线视频| 精品+无码+在线观看| 小sao货水好多真紧h视频| 制服丝袜人妻中出第一页| 91精品国产综合久久精品密臀| 国产精品成人免费视频一区| 亚洲影院天堂中文av色| 男女上床视频在线观看| 中文字日产幕码三区的做法步| 西西大胆午夜人体视频| 久久国产亚洲AV无码麻豆| 亚洲av高清一区三区三区| 无码中文字幕人妻在线一区| 老少交欧美另类| 亚洲综合网一区二区三区| 成人麻豆视频免费观看| 日本三级欧美三级人妇视频黑白配 | 国产精品系列亚洲第一| 自拍偷拍韩国三级视频| 一二区成人影院电影网| 国产精品原创巨作AV女教师| 日本红怡院东京热加勒比| 国产精选自拍视频网站| 亚洲av无码av日韩av网站| 人人爽亚洲aⅴ人人爽av人人片 |