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

        ?

        基于支持向量回歸的軟件缺陷密度預(yù)測模型

        2017-03-27 05:49:49楊騰翔王欽釗馬振宇韓志賀
        關(guān)鍵詞:模型

        楊騰翔, 萬 琳, 王欽釗, 馬振宇,3, 韓志賀

        (1. 陸軍裝甲兵學(xué)院信息工程系, 北京 100072; 2. 陸軍裝甲兵學(xué)院控制工程系, 北京 100072;3. 陸軍裝甲兵學(xué)院技術(shù)保障工程系, 北京 100072; 4. 31689部隊(duì), 吉林 四平 136000)

        軟件缺陷預(yù)測主要用于判別軟件中是否包含缺陷,預(yù)測軟件中包含缺陷的數(shù)量或密度。預(yù)測過程屬于機(jī)器學(xué)習(xí)的范疇,依據(jù)不同方法構(gòu)建預(yù)測模型,完成軟件缺陷的預(yù)測工作。軟件缺陷預(yù)測[1-4]大致可分為靜態(tài)缺陷預(yù)測和動態(tài)缺陷預(yù)測,其中:靜態(tài)缺陷預(yù)測主要是依據(jù)軟件靜態(tài)屬性預(yù)測軟件中是否包含缺陷;動態(tài)缺陷預(yù)測則是為了建立缺陷與相應(yīng)時間階段之間的規(guī)則聯(lián)系,記錄出現(xiàn)缺陷數(shù)量較多的時間段。目前,軟件缺陷預(yù)測模型主要有基于支持向量機(jī)(Support Vector Machine, SVM)的預(yù)測模型、基于神經(jīng)網(wǎng)絡(luò)的預(yù)測模型[5]和基于LASSO-SVM的預(yù)測模型[6]等。另外,研究者結(jié)合數(shù)據(jù)挖掘算法對模型的預(yù)測效果不斷進(jìn)行了改進(jìn),如:姜慧研等[7]提出了利用蟻群算法對軟件缺陷預(yù)測模型進(jìn)行改進(jìn);王男帥等[8]提出了利用遺傳算法優(yōu)化缺陷數(shù)據(jù)屬性和SVM參數(shù)的預(yù)測模型。

        現(xiàn)階段,雖然缺陷預(yù)測技術(shù)一定程度上取得了相應(yīng)進(jìn)展,但仍存在以下問題:1)度量元的選擇并沒有得出系統(tǒng)的論證,缺陷的度量元有幾十種且相互關(guān)聯(lián),在預(yù)測過程中需選擇對缺陷預(yù)測影響較大的度量元;2)數(shù)據(jù)集對現(xiàn)有缺陷預(yù)測模型的影響較大,對一組數(shù)據(jù)預(yù)測結(jié)果較好的模型,換一組數(shù)據(jù)或許就達(dá)不到預(yù)測的效果;3)缺陷數(shù)據(jù)的預(yù)處理和模型參數(shù)的選擇對預(yù)測結(jié)果的影響也較大。

        針對上述問題,筆者提出一種基于支持向量回歸(Support Vector Regression, SVR)的軟件缺陷密度預(yù)測模型。首先,考慮不同度量元對缺陷密度預(yù)測的影響,選擇與缺陷密度相關(guān)性較大的度量元,利用SVR構(gòu)建缺陷密度預(yù)測模型,并對預(yù)測數(shù)據(jù)進(jìn)

        行歸一化和隨機(jī)排序,以降低數(shù)據(jù)集對預(yù)測模型的影響;然后,選取徑向基核函數(shù)(Radial Basis Function,RBF),并利用網(wǎng)格搜索的方法對模型參數(shù)進(jìn)行優(yōu)化;最后,通過實(shí)驗(yàn)驗(yàn)證預(yù)測模型的有效性。

        1 軟件缺陷密度預(yù)測方法框架

        王青等[9]研究表明:缺陷的存在符合二八原則,即80%的缺陷往往存在于20%的程序模塊中。缺陷密度是對軟件、程序模塊或源文件中缺陷數(shù)量和代碼行數(shù)關(guān)系的度量,反映了該模塊包含缺陷的概率。度量元是對程序內(nèi)在屬性的一種直觀表示,反映了程序代碼的質(zhì)量和復(fù)雜度。筆者將度量元、缺陷密度分別作為預(yù)測過程的輸入、輸出,通過預(yù)測模型建立二者之間的關(guān)系,用于下一步的預(yù)測。圖1為軟件項(xiàng)目的缺陷密度預(yù)測模型。

        圖1 軟件項(xiàng)目的缺陷密度預(yù)測模型

        2 軟件缺陷密度預(yù)測模型

        2.1 度量元數(shù)據(jù)提取

        本文引入Spearman秩相關(guān)系數(shù)的分析方法,用于衡量度量元和缺陷密度之間的關(guān)系,從而提取對缺陷密度影響較大的度量元,去除冗余的度量元。

        給定軟件項(xiàng)目某度量元X和缺陷密度Y的n組數(shù)據(jù),可表示為X(X1,…,Xk,…,Xn)和Y(y1,…,yk,…,yn)。其中:Xk為第k個軟件項(xiàng)目的度量元;yk為第k個軟件項(xiàng)目的缺陷密度。

        為分析度量元X和缺陷密度Y之間的相關(guān)程度,首先將X和Y中數(shù)據(jù)進(jìn)行配對,得到數(shù)據(jù)組(X1,y1),…,(Xk,yk),…,(Xn,yn);然后將Xk和yk分別按照大小排序,獲得Xk和yk在2個順序樣本中的排名(即秩),記作Rk和Sk。由此可以得到數(shù)據(jù)組的n對秩,即(R1,S1),…,(Rk,Sk),…,(Rn,Sn)。利用Spearman秩相關(guān)系數(shù)衡量X和Y之間的相關(guān)程度,可表示為

        (1)

        式中:

        (2)

        (3)

        dk=Rk-Sk。

        (4)

        注:1)r的取值范圍為[-1,1];2)當(dāng)r>0時,表明X和Y正相關(guān),當(dāng)r<0時,表明X和Y負(fù)相關(guān);3)|r|越大,說明X和Y的相關(guān)程度越高;4)當(dāng)r=1時,則X和Y完全正相關(guān),當(dāng)r=-1時,則X和Y完全負(fù)相關(guān)。

        2.2 數(shù)據(jù)預(yù)處理

        為了避免在數(shù)據(jù)處理過程中因某個或某些度量元數(shù)值差別過大而影響計(jì)算的精度,加快程序的收斂速度,需要對數(shù)據(jù)進(jìn)行預(yù)處理。歸一化就是將度量元屬性數(shù)值規(guī)范到 [0,1]的過程,不影響原始數(shù)據(jù)屬性對回歸模型的預(yù)測。本文將單個維度下的度量元數(shù)據(jù)分別進(jìn)行歸一化,即

        (5)

        另外,樣本的排序?qū)?shí)驗(yàn)結(jié)果必然產(chǎn)生一定的影響,本文利用隨機(jī)抽樣的方法對數(shù)據(jù)順序進(jìn)行重新排列,避免因?yàn)橛?xùn)練集和測試集中個別實(shí)驗(yàn)數(shù)據(jù)異常而影響回歸預(yù)測的整體效果,從而找出擬合度較高的回歸模型。

        2.3 缺陷密度預(yù)測模型構(gòu)建

        給定數(shù)據(jù)樣本集合{(x1,y1),…,(xi,yi),…,(xl,yl)},其中,xi(i=1,2,…,l)為第i個軟件項(xiàng)目的度量元向量,yi為第i個軟件項(xiàng)目的缺陷密度,xi∈Rn,yi∈R。尋找Rn上的一個模型f(x)來擬合這些點(diǎn),以便用該模型推斷任一輸入x所對應(yīng)的y值。其中,

        f(x)=w·x+b,

        (6)

        式中:w為超平面的法向量;b為常數(shù)。

        回歸預(yù)測的過程就是尋找一個最優(yōu)超平面,使所有的樣本點(diǎn)距離超平面的“總偏差”較小,因此采用一個正則化的誤差函數(shù)進(jìn)行度量,即

        (7)

        式中:f(xi)為第i個軟件項(xiàng)目缺陷密度的預(yù)測值。

        則原問題可轉(zhuǎn)化為最優(yōu)化問題:

        (8)

        (9)

        式中:C為懲罰因子;ε為允許的范圍誤差;ν為支持向量的個數(shù);ξi、ξi*分別為訓(xùn)練樣本對于超平面的上、下偏差。

        引入拉格朗日乘子αi,得到對偶形式:

        (10)

        (11)

        式中:K(xi,xj)為核函數(shù)。

        最終建立的SVR預(yù)測模型為

        (12)

        通過上述方法構(gòu)建出軟件缺陷密度預(yù)測模型,給定任一輸入的度量元向量x,則能夠預(yù)測出軟件項(xiàng)目所對應(yīng)的缺陷密度y。

        2.4 核函數(shù)的選擇

        為了提高模型對缺陷密度預(yù)測的效果,首先需要對模型中的核函數(shù)進(jìn)行選擇。合適的核函數(shù)能夠較好地將低維空間的非線性問題轉(zhuǎn)化為高維空間的線性問題,在高維空間中尋找回歸問題的最優(yōu)超平面,解決了傳統(tǒng)方法在轉(zhuǎn)化過程中出現(xiàn)的計(jì)算量劇增的問題。

        在缺陷密度的回歸預(yù)測過程中,核函數(shù)的作用可表示為:首先,把度量元所表示的向量x轉(zhuǎn)化到高維空間的向量x′,并計(jì)算出高維空間中回歸模型的w′和b′;然后,通過f(x′)=w′·x′+b′進(jìn)一步得到回歸結(jié)果。核函數(shù)的目的就是建立數(shù)據(jù)從低維到高維轉(zhuǎn)換的映射關(guān)系,當(dāng)給定低維空間的w和x時,可直接輸出確定的f(x′)。

        模型中最常用的核函數(shù)主要有線性核函數(shù)、多項(xiàng)式核函數(shù)和RBF核函數(shù)[8-9]。其中,RBF核函數(shù)是某種沿徑向?qū)ΨQ的標(biāo)量函數(shù),能夠?qū)?shù)據(jù)映射到無窮維,同時能夠逼近任意非線性函數(shù),具有良好的泛化能力,收斂速度較快。因此,本文采用RBF核函數(shù)構(gòu)建軟件缺陷密度預(yù)測模型,其表達(dá)式為

        (13)

        式中:xj為RBF核函數(shù)的中心;σ為RBF核函數(shù)的寬度系數(shù),決定著核函數(shù)的徑向作用范圍。

        2.5 參數(shù)優(yōu)化

        雖然SVR模型中存在默認(rèn)參數(shù),但在實(shí)際問題中并不能適用于所有問題的最優(yōu)解,因此在研究具體問題時需要優(yōu)化參數(shù)。參數(shù)優(yōu)化包括懲罰因子C和g參數(shù)[10]的設(shè)置,其中:懲罰因子C在確定的特征空間中控制回歸曲線的平滑度并折中經(jīng)驗(yàn)風(fēng)險(xiǎn);g參數(shù)用來調(diào)節(jié)RBF核函數(shù)中的σ,決定著RBF核函數(shù)的性能[11]。對于C、g這2個參數(shù),國際上并沒有給出公認(rèn)統(tǒng)一的設(shè)置方法,需要根據(jù)具體研究對象和樣本數(shù)據(jù)特點(diǎn)進(jìn)行優(yōu)化。

        網(wǎng)格搜索法是一種遍歷搜索的優(yōu)化方法,其優(yōu)化過程是依據(jù)步距將數(shù)值范圍劃分成網(wǎng)格,將所有數(shù)值分組并不斷取任何可能的值。

        參數(shù)優(yōu)化的實(shí)質(zhì)是針對不同的研究對象選擇合適的(C,g)數(shù)據(jù)對。在缺陷密度的預(yù)測模型中設(shè)置C、g的數(shù)值范圍,根據(jù)搜索步長將C、g分別劃分為n1、n2組數(shù)值,然后將這些數(shù)值進(jìn)行配對,共有n1·n2組(C,g)數(shù)據(jù)對。網(wǎng)格搜索就是對n1·n2組參數(shù)進(jìn)行遍歷搜索,通過驗(yàn)證選擇出預(yù)測精度較高的(C,g)數(shù)據(jù)對作為最優(yōu)參數(shù)。

        驗(yàn)證過程采用十折交叉檢驗(yàn)的方法,其主要過程是將所有的數(shù)據(jù)樣本劃分為10個子集,每個子集都將被其余數(shù)據(jù)訓(xùn)練后作為測試集。整個過程需要進(jìn)行10次,直到每個子集都被當(dāng)作一次測試集,最后將10次的平均交叉驗(yàn)證誤差作為最終結(jié)果。網(wǎng)格搜索法通過設(shè)置搜索步長對參數(shù)進(jìn)行全面搜索,與其他啟發(fā)式或逼近的優(yōu)化方法相比,搜索的范圍更全面。由于每個(C,g)對是相互獨(dú)立的,因此運(yùn)算時可并行性高,能夠節(jié)省一定的時間開銷。

        3 實(shí)驗(yàn)結(jié)果及分析

        為驗(yàn)證基于SVR軟件缺陷密度預(yù)測模型的效果,筆者基于MATLAB2016a、VS2010平臺C++編譯環(huán)境以及LibSVM工具包進(jìn)行測試。實(shí)驗(yàn)采用我國特種車輛軟件評測中心以及通用裝備保障軟件評測中心的33組實(shí)驗(yàn)數(shù)據(jù)進(jìn)行測試。首先利用軟件靜態(tài)分析工具LogiScope對軟件項(xiàng)目進(jìn)行度量,采集44個軟件缺陷度量元,通過Spearman相關(guān)系數(shù)分析法選擇對缺陷密度影響較大的5種缺陷度量元進(jìn)行回歸預(yù)測,分別是耦合因子(ap_cof)、違反結(jié)構(gòu)化編程數(shù)量(struc_pg)、使用某個類的類數(shù)量(cu_cdusers)、某個類使用的類數(shù)量(cu_cdused)和子類數(shù)量(in_noc)。然后與Bagging、LinearRegression、Gaussian processes、IBK、MultilayerPerceptron五種機(jī)器學(xué)習(xí)算法進(jìn)行對比實(shí)驗(yàn)分析,5種機(jī)器學(xué)習(xí)算法分別基于不同的原理構(gòu)建預(yù)測模型,分析輸入和輸出之間的關(guān)系,算法具體描述如表1所示。

        表1 機(jī)器學(xué)習(xí)算法描述

        通過隨機(jī)抽樣的方法對33組數(shù)據(jù)進(jìn)行重新排序后,分析預(yù)測結(jié)果,搜索預(yù)測結(jié)果較好的數(shù)據(jù)序列進(jìn)行預(yù)測分析。將最優(yōu)數(shù)據(jù)序列的前22組作為訓(xùn)練集,后11組數(shù)據(jù)作為測試集,驗(yàn)證網(wǎng)格搜索后預(yù)測模型的可行性和有效性。筆者采用均方根誤差、平均絕對誤差、相對平方根誤差和相對絕對誤差4個指標(biāo),分析預(yù)測的缺陷密度值和實(shí)際缺陷密度值之間的誤差,各個指標(biāo)的表達(dá)式如下:

        均方根誤差:

        (14)

        平均絕對誤差:

        (15)

        相對平方誤差:

        (16)

        相對絕對誤差:

        (17)

        另外,通過相關(guān)系數(shù)衡量預(yù)測模型中度量元數(shù)據(jù)和缺陷密度的相關(guān)程度,相關(guān)系數(shù)越大,說明構(gòu)建的預(yù)測模型效果越好。

        支持向量回歸共有ε-SVR和ν-SVR兩種類型。下面通過實(shí)驗(yàn)分析采用ε-SVR和ν-SVR的不同預(yù)測效果,結(jié)果對比如表2所示??芍褐С窒蛄炕貧w中ν-SVR模型預(yù)測效果較好,這是因?yàn)棣?SVR模型在預(yù)測過程中能夠自動將允許的范圍誤差ε最小化,而且能夠控制支持向量的個數(shù)ν,支持向量的個數(shù)直接決定預(yù)測的效果。

        表2 不同SVR類型預(yù)測結(jié)果對比

        因此,筆者選取ν-SVR模型進(jìn)行實(shí)驗(yàn),并將參數(shù)優(yōu)化后的SVR預(yù)測模型與5種機(jī)器學(xué)習(xí)算法的預(yù)測模型進(jìn)行對比分析,其缺陷密度預(yù)測結(jié)果對比如表3所示。

        表3 不同預(yù)測模型缺陷密度預(yù)測結(jié)果對比

        由表3可見:與基于5種機(jī)器學(xué)習(xí)算法構(gòu)建的預(yù)測模型相比,本文的SVR預(yù)測模型得到的缺陷密度預(yù)測誤差較小,度量元數(shù)據(jù)和缺陷密度的相關(guān)系數(shù)較大,表明該模型的預(yù)測效果較好。

        通過網(wǎng)格搜索法對SVR預(yù)測模型參數(shù)尋優(yōu)后,得到C的最優(yōu)值為8,g的最優(yōu)值為0.5,結(jié)果如圖2所示。

        測試集模型的預(yù)測結(jié)果如圖3所示,可以看出:

        圖2 SVR參數(shù)尋優(yōu)結(jié)果

        圖3 測試集模型的預(yù)測結(jié)果

        缺陷密度回歸預(yù)測值基本能夠擬合實(shí)際缺陷密度值,誤差在合理范圍之內(nèi)。

        4 結(jié)論

        筆者通過Spearman相關(guān)系數(shù)提取對缺陷密度影響較大的缺陷度量元數(shù)據(jù),利用SVR構(gòu)建軟件缺陷密度預(yù)測模型,并采用網(wǎng)格搜索法對模型中參數(shù)(C,g)進(jìn)行優(yōu)化,一定程度上提高了回歸預(yù)測的效果,最后與5種機(jī)器學(xué)習(xí)算法進(jìn)行了對比實(shí)驗(yàn),結(jié)果表明:所建立的SVR預(yù)測模型是有效的,能較好地預(yù)測軟件缺陷。

        [1] 陳翔,顧慶,劉望舒,等. 靜態(tài)軟件缺陷預(yù)測方法研究[J].軟件學(xué)報(bào),2016(1):1-25.

        [2] AGARWAL S,TOMAR D,Prediction of software defects using twin support vector machine[C]∥International conference on information systems and computer networks.Mattura:IEEE,2014:128-132.

        [3] SUFFIAN M D M,IBRAHIM S.A prediction model for system testing defects using regression analysis[J].International journal of soft computing & software engineering,2012,2(7):55-68.

        [4] OKUTAN A,YILDIZ O T.Software defect prediction using Baye-sian networks[J]. Empirical software engineering,2014,19(1):154-181.

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

        [6] 吳曉萍,趙學(xué)靖,喬輝,等.基于LASSO-SVM的軟件缺陷預(yù)測模型研究[J].計(jì)算機(jī)應(yīng)用研究,2013,30(9):2748-2751,2754.

        [7] 姜慧研,宗茂,劉相瑩.基于ACO-SVM的軟件缺陷預(yù)測模型的研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(6):1148-1154.

        [8] 王男帥,薛靜鋒,胡昌振,等.基于遺傳優(yōu)化支持向量機(jī)的軟件缺陷預(yù)測模型[J].中國科技論文,2015(2):159-163.

        [9] 王青,伍書劍,李明樹.軟件缺陷預(yù)測技術(shù)[J].軟件學(xué)報(bào),2008(7):1565-1580.

        [10] RYU D,CHOI O,BAIK J.Value-cognitive boosting with a support vector machine for cross-project defect prediction[J].Empirical software engineering,2016,21(1):43-71.

        [11] SHAN C,ZHU H J,HU C Z,et al.Software defect prediction model based on improved LLE-SVM[C]∥International Confe-rence on Computer Science and Network Technology.Harbin:IEEE,2015:530-535.

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        99久久精品人妻一区二区三区| 九九99久久精品在免费线18| 色婷婷狠狠97成为人免费| 日本中文字幕官网亚洲| 国产一区二区三区日韩精品| 少妇愉情理伦片丰满丰满午夜| 中国大陆一级毛片| 亚洲av永久综合网站美女| 一本大道道久久综合av| 熟女体下毛毛黑森林| 国产91福利在线精品剧情尤物| 91精品国产色综合久久不| 亚洲最大水蜜桃在线观看| 最近在线更新8中文字幕免费| 好爽受不了了要高潮了av| 最新国内视频免费自拍一区| 久久亚洲av成人无码电影| 欧美jizzhd精品欧美| 国内精品久久久久国产盗摄 | 无码中文字幕加勒比一本二本| 国产一区二区内射最近人| 狼人伊人影院在线观看国产| 中文无码一区二区不卡av| 日韩中文网| 91桃色在线播放国产| 欧美日韩午夜群交多人轮换| 少妇人妻200篇白洁| 亚州毛色毛片免费观看| 美女免费观看一区二区三区| 高潮潮喷奶水飞溅视频无码| 免费的毛片视频| 久久天堂精品一区专区av| 亚洲成a∨人片在线观看无码| 国产乱子伦一区二区三区| 国产丝袜精品丝袜一区二区 | 日本久久精品中文字幕| a级毛片免费观看在线| 日本久久久免费高清| 免费视频亚洲一区二区三区| 中文字幕人妻第一区| 澳门毛片精品一区二区三区|