国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)稀疏自編碼神經(jīng)網(wǎng)絡(luò)的軟件缺陷預(yù)測(cè)*

2019-01-15 08:15:26徐海濤
傳感器與微系統(tǒng) 2019年2期
關(guān)鍵詞:軟件缺陷原始數(shù)據(jù)分類器

徐海濤, 高 瑩, 蘇 娜

(杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州310018)

0 引 言

軟件缺陷預(yù)測(cè)是從軟件過(guò)去的缺陷記錄文件中提取代碼屬性并建立適當(dāng)?shù)哪P蛠?lái)預(yù)測(cè)下一次發(fā)布中可能存在缺陷的組件。機(jī)器學(xué)習(xí)分類算法在近年內(nèi)被廣泛使用,常用的有邏輯回歸、支持向量機(jī)(support vector machine,SVM)等。Shivaji S[1]研究發(fā)現(xiàn)不同的預(yù)處理或特征選擇算法與相同的分類算法結(jié)合會(huì)具有差異性的效果,單獨(dú)研究分類算法的意義不大,更重要的是結(jié)合預(yù)處理、特征提取等步驟。Hinton G E等人[2]于2006年提出的基于深度學(xué)習(xí)思想的自動(dòng)編碼器(auto-encoder,AE)深層結(jié)構(gòu)[3]在機(jī)器學(xué)習(xí)領(lǐng)域取得了巨大的成功,可以進(jìn)行有效的學(xué)習(xí)和分類。

原始的軟件缺陷數(shù)據(jù)集的數(shù)據(jù)分布不平衡,其中有缺陷模塊數(shù)量遠(yuǎn)少于無(wú)缺陷模塊,而對(duì)于作為少數(shù)類的有缺陷樣本的分析其實(shí)更為重要[4]。傳統(tǒng)的分類方法不能很好地應(yīng)對(duì)數(shù)據(jù)集不平衡和特征冗余的情況,如SVM會(huì)偏向于學(xué)習(xí)多數(shù)類而忽略少數(shù)類。針對(duì)軟件缺陷數(shù)據(jù)普遍存在數(shù)據(jù)不平衡性嚴(yán)重,數(shù)據(jù)特征冗余的特點(diǎn),本文提出的分類模型將數(shù)據(jù)預(yù)處理,特征選擇和分類算法結(jié)合來(lái)檢測(cè)軟件中具有缺陷的成分。為了彌補(bǔ)少數(shù)類樣本在數(shù)據(jù)分布方面不足的問(wèn)題,首先通過(guò)Chawla N V等人[5]提出的SMOTE算法均衡原始數(shù)據(jù)集,再結(jié)合稀疏自編碼神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)均衡化后的數(shù)據(jù)特征,訓(xùn)練完成后將提取到的特征使用分類器分類。其中神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程包括通過(guò)貪婪逐層訓(xùn)練學(xué)習(xí)算法進(jìn)行前向無(wú)監(jiān)督訓(xùn)練,和反向傳播 (back propagation,BP) 算法后向有監(jiān)督微調(diào)整體網(wǎng)絡(luò)參數(shù)。實(shí)驗(yàn)證明,本文組合分類模型通用性高,對(duì)于數(shù)據(jù)不平衡和特征冗余的數(shù)據(jù)集可以在盡量保留原始信息的前提下有效提高預(yù)測(cè)準(zhǔn)確率,尤其改善了缺陷樣本作為少數(shù)類的分類效果。

1 多層稀疏自編碼神經(jīng)網(wǎng)絡(luò)

稀疏自編碼(sparse auto-encoder,SAE)神經(jīng)網(wǎng)絡(luò)在深度學(xué)習(xí)傳統(tǒng)模型自動(dòng)編碼器的基礎(chǔ)上加入了稀疏性懲罰項(xiàng),如圖1所示。優(yōu)勢(shì)在于通過(guò)尋找某些基礎(chǔ)特征來(lái)更高效地表示樣本數(shù)據(jù),即通過(guò)一組基向量的線性組合來(lái)表示輸入向量,且盡可能少的幾個(gè)基就可以表示輸入信號(hào),可以在不丟失數(shù)據(jù)本質(zhì)特征的基礎(chǔ)上盡量減少數(shù)據(jù)維度。在稀疏約束條件下學(xué)習(xí)相對(duì)稀疏簡(jiǎn)明的數(shù)據(jù)特征,可以更好地表達(dá)輸入數(shù)據(jù)。

圖1 稀疏自編碼器

編碼過(guò)程最終需要得到優(yōu)化的參數(shù)θ={W,b},可通過(guò)最小化SAE神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)得到

2 改進(jìn)的SAE神經(jīng)網(wǎng)絡(luò)

SAE旨在找到比原始特征更適合分類任務(wù)的特征表示方式,但在誤差計(jì)算和傳遞的過(guò)程中,SAE網(wǎng)絡(luò)對(duì)于不同類別是平等對(duì)待的并沒(méi)有加以區(qū)分。在缺陷預(yù)測(cè)過(guò)程中,正常的樣本量一般遠(yuǎn)多于有缺陷的樣本量,很容易造成缺陷漏報(bào)的現(xiàn)象。

針對(duì)軟件缺陷數(shù)據(jù)存在嚴(yán)重不平衡以及特征冗余的特性,提出一種結(jié)合SMOTE[5]和SAE神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)的分類模型。將原始數(shù)據(jù)樣本作為SMOTE算法[6]的輸入,再將SMOTE算法的輸出作為SAE神經(jīng)網(wǎng)絡(luò)的輸入,利用SAE神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí)和特征抽象,最后使用邏輯回歸算法作為最終分類器對(duì)提取到的特征進(jìn)行分類。圖2為整個(gè)算法的模型表示,圖3為算法流程。算法具體步驟如下:

1)輸入原始數(shù)據(jù)集,選擇少數(shù)類樣本集Xmin={x1,…xi,…,xn}。

2)設(shè)置SMOTE算法參數(shù):采樣率N,選取近鄰的個(gè)數(shù)k,對(duì)于每個(gè)xi合成少數(shù)類樣本yj=xi+rand(0,1)×(xi-xij)并加入到數(shù)據(jù)集中,得到新數(shù)據(jù)集Xnew。

3)隨機(jī)初始化網(wǎng)絡(luò)參數(shù)θ={W,b},其中W為網(wǎng)絡(luò)的權(quán)重,b為偏置;初始化懲罰系數(shù)β和稀疏性參數(shù)ρ;設(shè)置隱含層層數(shù)為l。

4)貪婪逐層訓(xùn)練各隱含層:

a.第1層的輸入為步驟(2)的輸出Xnew;

b.第k層的輸出作為第k+1層的輸入;通過(guò)最小化代價(jià)函數(shù)JSAE(W,b)確定θk+1。

5)將稀疏懲罰系數(shù)置0,執(zhí)行類似于步驟(4)的反向傳播算法過(guò)程微調(diào)整個(gè)網(wǎng)絡(luò),更新參數(shù)。

6)利用訓(xùn)練好的整個(gè)網(wǎng)絡(luò),對(duì)測(cè)試數(shù)據(jù)特征壓縮降維。

7)使用邏輯分類器進(jìn)行分類,返回Accuracy等結(jié)果。

圖2 算法模型

圖3 算法流程

3 軟件缺陷預(yù)測(cè)實(shí)驗(yàn)與結(jié)果分析

3.1 數(shù)據(jù)集

實(shí)驗(yàn)使用的是NASA軟件缺陷公共數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)由若干個(gè)專門用于進(jìn)行軟件屬性研究的數(shù)據(jù)集組成,每個(gè)數(shù)據(jù)集都代表NASA軟件系統(tǒng)或者子系統(tǒng),其中包含了一些軟件模塊及相應(yīng)的故障數(shù)據(jù),這些模塊以靜態(tài)代碼度量(Bennin K E[7]和Kamei Y[8]等)作為特征,被轉(zhuǎn)換為數(shù)值化的樣例。當(dāng)某軟件模塊存在一個(gè)或多個(gè)缺陷時(shí),其樣本就被標(biāo)記為正類,反之則為負(fù)類。

3.2 評(píng)估指標(biāo)

軟件缺陷預(yù)測(cè)[10]屬于偏斜類(skewed classes)問(wèn)題,該問(wèn)題表現(xiàn)為訓(xùn)練集中有非常多的同一種類的樣例,只有很少或沒(méi)有其他類的樣例。而軟件缺陷預(yù)測(cè)中對(duì)于作為少數(shù)類的缺陷樣本的正確判斷意義更為重要,因此,需要使用更合適的度量來(lái)評(píng)價(jià)算法的性能:

1)準(zhǔn)確率(accuracy):表示被準(zhǔn)確預(yù)測(cè)的樣本在所有樣本中所占的比例,可表示為

式中FP,TP,F(xiàn)N,TN均為混淆矩陣參數(shù),分別代表假正類、真正類、假負(fù)類和真負(fù)類。

2)F-score:在更全面地衡量預(yù)測(cè)算法性能的基礎(chǔ)上相對(duì)偏向于少數(shù)類的分類效果,可表示為

3)G-mean:少數(shù)類和多數(shù)類分類準(zhǔn)確率的幾何平均值,可表示為

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

實(shí)驗(yàn)設(shè)置SMOTE的近鄰個(gè)數(shù)k=5,采樣率N=5。SAE神經(jīng)網(wǎng)絡(luò)設(shè)置為4層網(wǎng)絡(luò)結(jié)構(gòu),包括輸入層、2層隱含層、輸出層,輸入層節(jié)點(diǎn)數(shù)為各數(shù)據(jù)集屬性數(shù)。隨機(jī)初始化網(wǎng)絡(luò)參數(shù)θ={W,b},初始化懲罰系數(shù)β=3 和稀疏性參數(shù)ρ=0.05;第一隱層數(shù)量定在區(qū)間[15,20],第二隱含層數(shù)量定在區(qū)間[8,10],設(shè)置輸出層的節(jié)點(diǎn)個(gè)數(shù)為5。在訓(xùn)練時(shí)采用L-BFGS算法進(jìn)行優(yōu)化,迭代次數(shù)為500次,實(shí)驗(yàn)采取10折交叉驗(yàn)證。

為了驗(yàn)證本文提出的SMOTE+SAE網(wǎng)絡(luò)+LR(SSL)的分類模型的性能,還進(jìn)行了先通過(guò)SAE進(jìn)行特征提取,再由LR算法進(jìn)行分類的實(shí)驗(yàn),其中神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置不變。先使用主成分分析(principal component analysis,PCA)提取特征再用LR分類器分類的實(shí)驗(yàn)中,提取的因子個(gè)數(shù)也設(shè)置為5,與SAE的輸出節(jié)點(diǎn)個(gè)數(shù)一致。此外還直接使用LR對(duì)未進(jìn)行預(yù)處理的原始數(shù)據(jù)進(jìn)行了分類。在各個(gè)數(shù)據(jù)集上的分類效果如表1所示。

表1 不同分類方法的評(píng)估指標(biāo)對(duì)比

對(duì)比實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),本文提出的SSL模型的分類效果比其他算法有所提高。對(duì)比傳統(tǒng)的特征提取和分類的方法,能更好地提煉數(shù)據(jù)的特征,尤其對(duì)于不平衡數(shù)據(jù)集中的少數(shù)類分類具有明顯優(yōu)勢(shì)。在MC1 數(shù)據(jù)集上,分類精度有一定的提升,但是描述整體分類性能的G-mean指標(biāo)變動(dòng)不大。觀察原始數(shù)據(jù)集判斷是由于其不平衡率過(guò)高造成,SMOTE的采樣率為5時(shí)遠(yuǎn)不足以均衡原始數(shù)據(jù)集,即過(guò)采樣后的新數(shù)據(jù)依然是有偏的,這使得對(duì)于少數(shù)類的分類效果未明顯提高。但對(duì)比其他算法的G-mean值可以判斷,本文提出的SSL分類模型在總體更優(yōu)。

4 結(jié) 論

本文提出的SSL組合分類模型通過(guò)結(jié)合SMOTE采樣技術(shù)和SAE神經(jīng)網(wǎng)絡(luò)的處理方法,可以有效提高分類器的分類性能,能夠更好地識(shí)別軟件缺陷。具體表現(xiàn)在:

1)對(duì)于作為有缺陷的樣本類作為少數(shù)類的分類精度有明顯提高;

2)相對(duì)傳統(tǒng)的特征提取方法,本模型在進(jìn)行數(shù)據(jù)降維的同時(shí)更好地保留了其原始信息,更利于分類效果的提升;

3)模型通用性高,在屬性數(shù)量、樣本數(shù)量有很大差異的各個(gè)數(shù)據(jù)集上均有良好的表現(xiàn)。

通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)數(shù)據(jù)集屬性數(shù)量、樣本數(shù)量都可能對(duì)分類效果產(chǎn)生影響。此外如何針對(duì)不同的數(shù)據(jù)集選擇合適的過(guò)采樣率,對(duì)于不平衡率過(guò)高的數(shù)據(jù)集如何有效地合成少數(shù)類樣本等問(wèn)題也值得進(jìn)一步研究。

猜你喜歡
軟件缺陷原始數(shù)據(jù)分類器
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
受特定變化趨勢(shì)限制的傳感器數(shù)據(jù)處理方法研究
基于源文件可疑度的靜態(tài)軟件缺陷檢測(cè)方法研究
基于NPE-SVM的軟件缺陷預(yù)測(cè)模型
BP-GA光照分類器在車道線識(shí)別中的應(yīng)用
全新Mentor DRS360 平臺(tái)借助集中式原始數(shù)據(jù)融合及直接實(shí)時(shí)傳感技術(shù)實(shí)現(xiàn)5 級(jí)自動(dòng)駕駛
汽車零部件(2017年4期)2017-07-12 17:05:53
開(kāi)源程序的軟件缺陷分布特征的量化分析研究
加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識(shí)別
静安区| 郯城县| 阳朔县| 孝昌县| 南召县| 漯河市| 镇江市| 齐河县| 阿巴嘎旗| 奎屯市| 宝清县| 上饶市| 海安县| 五华县| 杭锦旗| 南雄市| 弥勒县| 全南县| 汪清县| 邵东县| 盖州市| 高密市| 德阳市| 玛多县| 宁武县| 永嘉县| 昌黎县| 唐海县| 左贡县| 那坡县| 东台市| 鄯善县| 南木林县| 白河县| 揭东县| 绍兴市| 珠海市| 白银市| 晋城| 无为县| 淮南市|