王法玉,于曉文,陳洪濤
(天津理工大學(xué) 計算機病毒防治技術(shù)國家工程實驗室,天津 300384)
在開展惡意網(wǎng)頁識別的研究過程中,受限于惡意網(wǎng)頁體量小生命周期短等特點,惡意網(wǎng)頁和良性網(wǎng)頁樣本往往是不平衡的,尤其是在關(guān)注少數(shù)類問題的時候,分類結(jié)果不均衡會更加的突出,檢測結(jié)果會更傾向于樣本數(shù)量大的類別,導(dǎo)致模型的分類效果下降。因此,對不平衡數(shù)據(jù)集的惡意網(wǎng)頁識別進行研究是很有必要的。
目前,惡意網(wǎng)頁檢測技術(shù)主要有3種:①黑名單技術(shù),將惡意網(wǎng)頁的域名,IP地址等信息保存到數(shù)據(jù)庫,通過檢索來判定是否是惡意網(wǎng)頁;②啟發(fā)式檢測技術(shù),對大量惡意網(wǎng)頁進行分析并提取不同惡意網(wǎng)頁之間的相似特征,創(chuàng)建模板,作為啟發(fā)式規(guī)則去檢測未知的惡意網(wǎng)頁;③基于機器學(xué)習(xí)的檢測技術(shù),提取惡意網(wǎng)頁和良性網(wǎng)頁存在差異的特征,運用機器學(xué)習(xí)中的分類聚類算法(如SVM、KNN、邏輯回歸、決策樹等)對網(wǎng)頁進行檢測[1-7]。隨著網(wǎng)頁規(guī)模迅速變大,數(shù)據(jù)集的不平衡性日益明顯[8],黑名單技術(shù)和啟發(fā)式檢測技術(shù)受限于惡意網(wǎng)頁的收集和時效差的缺點難以再勝任惡意網(wǎng)頁檢測任務(wù),而數(shù)據(jù)的不平衡性對傳統(tǒng)機器學(xué)習(xí)模型的準(zhǔn)確率也提出了嚴(yán)峻的挑戰(zhàn)。
針對上述問題,結(jié)合處理不平衡數(shù)據(jù)集分類問題的方法,本文設(shè)計了基于欠采樣、代價敏感和多層集成學(xué)習(xí)的惡意網(wǎng)頁識別模型。使用欠采樣處理數(shù)據(jù)樣本,達到局部數(shù)據(jù)平衡;使用代價敏感學(xué)習(xí)調(diào)整構(gòu)建第一層集成學(xué)習(xí)模型,通過權(quán)重和閾值的調(diào)整確保模型的檢測精度;使用投票方式構(gòu)成第二層集成學(xué)習(xí)模型,保證全局信息的完整性。
現(xiàn)有的惡意網(wǎng)頁檢測模型基本上都是基于平衡分布的樣本,如果數(shù)據(jù)存在嚴(yán)重的不平衡,分類結(jié)果會更加傾向于樣本數(shù)據(jù)量大的類別,導(dǎo)致分類結(jié)果不均衡。
提升不平衡數(shù)據(jù)分類問題準(zhǔn)確度的常用做法有3種:重采樣技術(shù)、代價敏感學(xué)習(xí)、特征選擇[9]。重采樣技術(shù)對數(shù)據(jù)進行平衡化處理主要有兩種思路,一種是過采樣,通過復(fù)制少數(shù)類,使少數(shù)類樣本與多數(shù)類樣本平衡;另一種是欠采樣,按照少數(shù)類樣本數(shù)量隨機選取同等數(shù)量的多數(shù)類樣本,從而平衡兩種樣本。采樣技術(shù)近幾年被廣泛用于處理數(shù)據(jù)不平衡問題[10,11]。代價敏感學(xué)習(xí)是為了解決實際應(yīng)用問題中訓(xùn)練數(shù)據(jù)不足、數(shù)據(jù)不平衡而提出的一種自己定義的損失函數(shù)模型,通過增加約束和權(quán)重條件,使最終輸出結(jié)果向一個特定的方向偏移[12]。特征選擇則是選取合適的特征子集,來增加樣本間的區(qū)分度。
1.2.1 邏輯回歸
邏輯回歸(logistic regression,LR)是線性模型的一種,實質(zhì)上是在線性回歸的基礎(chǔ)上,構(gòu)造的一種分類模型。常用Sigmoid函數(shù)δ(Z)=(1+e-Z)-1來展示,樣本x所屬類別y1的可能性可以表示為
p(S=1|H)=δ(w*H+b)
(1)
1.2.2 支持向量機
支持向量機(support vector machine,常簡稱為SVM)作為一個比較復(fù)雜的分類算法,通過找到一個分類平面,將數(shù)據(jù)分隔在平面兩側(cè),從而達到分類的目的,是解決二分類問題的常見分類算法,可以解決線性可分和不可分問題[13]。
本文使用的SVM算法采用的核函數(shù)是徑向基核函數(shù)(radial basis function,RBF),又叫高斯核
(2)
RBF可以將一個樣本映射到高緯度空間,決策邊界更為多樣化,與多項式核相比,參數(shù)更容易選擇。
1.2.3 K近鄰算法
K近鄰(K-nearest neighbor,KNN)是一種最經(jīng)典的有監(jiān)督學(xué)習(xí)方法,原理是通過尋找與新樣本最鄰近的K個樣本判斷該樣本屬于哪一類(根據(jù)K個樣本中的多數(shù)進行劃分)。本文的K近鄰算法使用曼哈頓距離
(3)
1.2.4 決策樹
決策樹分類算法(decision tree,DT)由于它具備便于了解、結(jié)構(gòu)可視化、訓(xùn)練樣本需求少、更靈活等特點被廣泛應(yīng)用于機器學(xué)習(xí)領(lǐng)域。決策樹學(xué)習(xí)采用分而治之的策略,通過貪婪搜索來識別樹中的最佳分割點。決策樹學(xué)習(xí)通常由特征選擇、決策樹的生成、決策樹的修剪構(gòu)成。本文使用C4.5算法,該算法選取節(jié)點的依據(jù)是最大信息增益率,計算公式為


(4)
C4.5算法相較于ID3算法,用信息增益率來選擇劃分特征,克服了用信息增益選擇的不足,能夠處理具有缺失屬性值的訓(xùn)練數(shù)據(jù),通過剪枝技術(shù)消除噪聲和孤立點。
1.2.5 樸素貝葉斯
樸素貝葉斯(Naive Bayes)是一種有監(jiān)督學(xué)習(xí)算法,通過衡量標(biāo)簽和特征之間的概率關(guān)系來對樣本進行預(yù)測,是由基于概率論和數(shù)理統(tǒng)計的貝葉斯理論演化而來。通過條件概率和先驗概率可以推出公式
(5)
樸素貝葉斯,是在貝葉斯的基礎(chǔ)上,對條件概率分布做了條件獨立性的假設(shè)。
特征值的選取是機器學(xué)習(xí)領(lǐng)域的關(guān)鍵點,很多時候,分類器之間的差異性對最終任務(wù)的影響是要遠(yuǎn)遠(yuǎn)小于選擇良好特征對最終結(jié)果的影響[14]。因此我們在選取特征值上了做了充足的準(zhǔn)備,包括查閱多方相關(guān)文獻并總結(jié)、分析惡意和良性網(wǎng)頁的特征分布等。下面是本文選取特征的詳情。
為了更好訓(xùn)練模型,特征選取應(yīng)該具備:①特征與特征之間要盡可能的相互獨立,因為模型構(gòu)建時大多假設(shè)特征之間是相互獨立的;②特征覆蓋面要廣泛,從多個維度對惡意樣本進行描繪;③特征要具備代表性,減少冗余特征的使用。
基于詞匯的URL特征,在能夠取得較好檢測效果的同時又可以保證“輕量級”。在提取特征時,一條URL可以被分成域名、路徑、查詢參數(shù)、錨點4大部分,每個部分又分別是由數(shù)字、字母以及特殊符號構(gòu)成的,根據(jù)特殊字符(例如“/”,“.”,“?”,“=”等)將URL切分為不同的token,就可以將一條URL看作是由一組token組成的向量,從而獲取到更加具體的特征。
針對URL整體以及它的每個部分,分為基于URL整體的特征、基于域名的特征、基于路徑的特征、基于查詢參數(shù)的特征以及基于錨點的特征。其中的“惡意詞出現(xiàn)次數(shù)”特征所統(tǒng)計的惡意詞是根據(jù)malwaredomains.com下載的惡意域數(shù)據(jù)集統(tǒng)計出現(xiàn)次數(shù)較多的詞。流行網(wǎng)站名是根據(jù)Alexa排名前500名的網(wǎng)站數(shù)據(jù)集進行統(tǒng)計得到,因為很多惡意待遇網(wǎng)站會通過模仿知名網(wǎng)站來迷惑用戶。所有特征見表1。

表1 URL詞匯特征
本文提出了一個在不平衡數(shù)據(jù)集上基于欠采樣和多層集成學(xué)習(xí)的惡意網(wǎng)頁識別方法,通過欠采樣、閾值調(diào)整和多層集成學(xué)習(xí)等方法,針對存在不平衡的網(wǎng)頁數(shù)據(jù)集進行研究分類。實驗的整體架構(gòu)由網(wǎng)頁采集、數(shù)據(jù)處理、特征提取、模型訓(xùn)練4個環(huán)節(jié)構(gòu)成。整體框架如圖1所示。

圖1 整體框架
具體步驟可以分為:第一步,數(shù)據(jù)獲取,系統(tǒng)通過爬蟲模塊將需要的樣本進行獲??;第二步,對大量數(shù)據(jù)進行匯總處理并對樣本做好標(biāo)簽,之后對處理完的數(shù)據(jù)按比例劃分成訓(xùn)練集,驗證集以及測試集;第三步,對樣本進行特征提取和計算;第四步,訓(xùn)練子分類器以及構(gòu)建兩層集成學(xué)習(xí)分類器模型。
圖2是整體架構(gòu)中的第四步,模型訓(xùn)練過程的詳細(xì)展示:第一步,將處理過的數(shù)據(jù)集(去重、做標(biāo)簽等操作)劃分為訓(xùn)練集、驗證集以及測試集,其中測試集和驗證集根據(jù)欠采樣的采樣方法劃分為5份;第二步,在每份數(shù)據(jù)集上對5種常規(guī)的基分類器(KNN、SVM、邏輯回歸、樸素貝葉斯、決策樹)進行模型訓(xùn)練;第三步,將訓(xùn)練好的模型在驗證集上進行測試,對5個基分類器的測試結(jié)果(精確度、準(zhǔn)確度、F1等評價標(biāo)準(zhǔn))分別計算權(quán)重并以文件的形式進行保存,留待后續(xù)的集成學(xué)習(xí)使用;第四步,對測試集進行預(yù)測,進行第一次集成學(xué)習(xí),根據(jù)第三步保存的各基分類器以評價標(biāo)準(zhǔn)計算出的權(quán)重進行集成,通過調(diào)整閾值對測試集進行初步的預(yù)測;第五步,將上一步5組集成學(xué)習(xí)的預(yù)測結(jié)果通過Bagging投票的方式進行再次集成并輸出最終預(yù)測結(jié)果。

圖2 基于欠采樣和多層集成學(xué)習(xí)的惡意網(wǎng)頁檢測模型框架
集成學(xué)習(xí)的主要思路是將多個弱分類器通過某種繼承策略進行組合形成一個集合多個弱分類器的優(yōu)點的強分類器。欠采樣方法能有效避免樣本不平衡帶來的分類結(jié)果的偏移[15],缺點是若隨機丟棄反例,可能會丟失一些重要信息,存在過擬合的問題。集成學(xué)習(xí)可以有效解決欠采樣存在的問題,兩者結(jié)合,能大大提升模型的分類效果。
欠采樣集成學(xué)習(xí)步驟分為:①根據(jù)少類樣本劃分?jǐn)?shù)據(jù)集。多數(shù)類欠采樣分成多組,少類樣本與其進行組合,形成多個訓(xùn)練集樣本;②將分類器模型在每組樣本集上進行訓(xùn)練;③使用集成學(xué)習(xí)方法進行集成。目前集成學(xué)習(xí)方法有Bagging、Boosting和Stacking等,本文采用Bagging方法集成,算法步驟如下。
欠采樣集成學(xué)習(xí)算法
輸入:
樣本集:D={d0,d1},d1為惡意樣本集,d0為良性樣本集;
訓(xùn)練樣本集:T={t0,t1},t1為惡意訓(xùn)練樣本集,t0為良性樣本訓(xùn)練集;
驗證樣本集:V={v0,v1};
待測試樣本:c
子樣本集數(shù)量s;
子樣本集Di;
良性訓(xùn)練樣本子集t0i;
流程:
(1)Start
(2)初始化樣本集t1=d1*0.7,t0=d0*0.7,v1=d1*0.15,v0=d0*0.15;
(3)根據(jù)惡意樣本訓(xùn)練集計算子樣本集個數(shù)s=t0/t1;
(4)構(gòu)建子樣本集Di=t1+t0i,0
(5)在每組子樣本集上訓(xùn)練5個傳統(tǒng)機器學(xué)習(xí)模型;
(6)考察并保存模型在驗證集上的表現(xiàn)accji,preji,F1ji,0 (7)計算每個機器學(xué)習(xí)模型在各自樣本上的權(quán)重αji,0 (8)計算出每組子樣本的集成學(xué)習(xí)預(yù)測結(jié)果predictj,0 (9)Bagging判定每個樣本c的最終結(jié)果 (10)if ∑0 (11) doc←d1 (12)else (13) doc←d0 (14)End 實驗提出一種基于欠采樣和集成學(xué)習(xí)相結(jié)合的算法。在欠采樣集成學(xué)習(xí)模塊,利用欠采樣處理數(shù)據(jù)樣本的思想,將多數(shù)樣本按少數(shù)樣本數(shù)量分成多份,與少數(shù)樣本構(gòu)成多組數(shù)據(jù)集,以供不同基分類器學(xué)習(xí)。該模塊實現(xiàn)了數(shù)據(jù)集上的局部平衡,之后通過下一層基于投票的集成學(xué)習(xí)保證全局信息的完整性。整個模型在保證不丟失重要信息的基礎(chǔ)上消除了不平衡數(shù)據(jù)集對預(yù)測結(jié)果的影響。 傳統(tǒng)機器學(xué)習(xí)檢測模型各有優(yōu)缺點,應(yīng)對的場景也存在不同,例如邏輯回歸容易欠擬合,準(zhǔn)確率較低;樸素貝葉斯更適合小規(guī)模數(shù)據(jù);決策樹容易過擬合。單一的機器學(xué)習(xí)模型難以勝任當(dāng)下變化多樣的惡意網(wǎng)頁檢測,而集成學(xué)習(xí)可以通過聯(lián)合多個弱分類器達到強分類器的效果,“博采眾長”,彌補單分類器的缺陷。實驗提出了一種基于評價標(biāo)準(zhǔn)和閾值調(diào)整的集成學(xué)習(xí)算法,將5種傳統(tǒng)機器學(xué)習(xí)模型根據(jù)在驗證集上的表現(xiàn)進行集成,之后通過調(diào)整閾值來控制輸出結(jié)果。 實驗將5種傳統(tǒng)機器學(xué)習(xí)模型(邏輯回歸、KNN、SVM、決策樹、隨機森林)進行集成,集成思想是在訓(xùn)練完成后的驗證階段通過計算評價標(biāo)準(zhǔn)(準(zhǔn)確率、召回率、F1等評價標(biāo)準(zhǔn))在每個模型訓(xùn)練集上十折交叉驗證的分?jǐn)?shù),然后把該分?jǐn)?shù)相加得到總分?jǐn)?shù),最后將每個分類器的分?jǐn)?shù)與總分?jǐn)?shù)相比,得到單個分類器的權(quán)值αji(其中j表示第幾組子樣本,i表示該組中的第幾個分類器)并進行保存,留待集成學(xué)習(xí)模型使用。 下面是計算公式,以acc(準(zhǔn)確率)作為計算權(quán)重的標(biāo)準(zhǔn)為例 (6) (7) 其中,αj1,αj2,αj3,αj4,αj5分別代表第j組樣本中邏輯回歸、KNN、SVM、決策樹、樸素貝葉斯的權(quán)重,accji,precisionji,F(xiàn)1ji,recallji表示第j組中某個模型的準(zhǔn)確率、精確率、F1值以及召回率。通過式(6)計算出5個基分類器的權(quán)重,基分類器的檢測效果越好,權(quán)重越大。式(7)為預(yù)測某個樣本的計算公式,其中第j個樣本預(yù)測結(jié)果等于每個模型的權(quán)值乘上該模型對該樣本的預(yù)測結(jié)果,最終所有測試樣本都會得到一個介于0~1之間的數(shù)值,將其保存留待后續(xù)通過設(shè)置一個合適的閾值來得出檢測結(jié)果 D∈y1,predictj>λ (8) D∈y0,predictj≤λ (9) 如式(8)、式(9)所示,實驗可以控制這個閾值λ,當(dāng)predictj>λ時判定為惡意。后續(xù)會對不同λ取值做消融實驗,來確定一個效果最好的λ值。 綜上所述,本文提出的基于欠采樣多層機器學(xué)習(xí)模型在不平衡的數(shù)據(jù)集上通過欠采樣和多層集成學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)相比顯著提升了檢測效果,使之更加符合當(dāng)前惡意樣本和良性樣本嚴(yán)重失衡的使用環(huán)境。 (1)硬件環(huán)境 CPU:Intel(R) Core i5-8300H;內(nèi)存:DDR4 16 G;硬盤:1 T,7200轉(zhuǎn)/秒。 (2)開發(fā)環(huán)境 開發(fā)操作系統(tǒng):Windows 10旗艦版(64 bit);機器學(xué)習(xí)開源框架:Scikit-learn;開發(fā)語言及工具:Python3.8、STL標(biāo)準(zhǔn)模板庫、Visual Studio2016、PyCharm。 4.2.1 用于特征提取的數(shù)據(jù)集 從malwaredomains.com等惡意域數(shù)據(jù)集收集了26 251條惡意域URL,用來提取出現(xiàn)頻率較高的惡意詞,作為后續(xù)的數(shù)據(jù)特征。 從Alexa獲取了世界排名前500的網(wǎng)站,提取出現(xiàn)過的網(wǎng)站名稱,用來統(tǒng)計數(shù)據(jù)集中的URL出現(xiàn)流行網(wǎng)站名次數(shù)。 4.2.2 訓(xùn)練集、驗證集、測試集 從kdnuggets上收集到了帶標(biāo)簽(good/bad)的URL數(shù)據(jù)集,共416 350條,用作集成學(xué)習(xí)模型的訓(xùn)練和測試數(shù)據(jù),其中異常數(shù)據(jù)(bad)71 556條,占比17.19%;正常數(shù)據(jù)(good)344 794條,占比82.81%。 將全體數(shù)據(jù)劃分為訓(xùn)練集(70%)、驗證集(15%)和測試集(15%),采用隨機不放回取樣,并且保證每個集合中惡意和良性樣本占比例相同。標(biāo)簽為“1”表示惡意URL,標(biāo)簽為“0”表示該URL為良性。 4.2.3 實驗樣本不平衡情況 本文使用kdnuggets上帶標(biāo)簽的URL數(shù)據(jù)集,對其進行統(tǒng)計分析后,發(fā)現(xiàn)樣本存在數(shù)據(jù)不平衡問題,對惡意網(wǎng)頁識別分類具有一定的負(fù)面影響,良性樣本大約是惡意樣本的5倍,具體分布情況見表2,而這種樣本分布不平衡的現(xiàn)象在惡意網(wǎng)頁檢測領(lǐng)域是廣泛存在的。 表2 數(shù)據(jù)集分布情況 為了能說明一個系統(tǒng)的檢測效果,需要一些評判指標(biāo),對于二分類問題實驗使用TP(真正例)、FP(假正例)、FN(假反例)、TN(真反例)這4個指標(biāo)進行評估具體見表3。 表3 評估標(biāo)準(zhǔn) 實驗還需要使用以下幾個指標(biāo)來全面衡量惡意網(wǎng)頁檢測系統(tǒng)的性能,取值0~1之間。公式為 (10) (11) (12) 本文提出的基于欠采樣的多層集成學(xué)習(xí)分類算法在基分類器上依賴5個傳統(tǒng)的機器學(xué)習(xí)模型,實驗設(shè)計了如下方法選出最優(yōu)的集成學(xué)習(xí)參數(shù)以及比較分類效果,找出最合理的處理不平衡數(shù)據(jù)分類的方法。 (1)欠采樣+多層集成學(xué)習(xí)分類算法(找最優(yōu)閾值):對多類良性網(wǎng)頁樣本欠采樣出5組,與惡意網(wǎng)頁樣本組成新的數(shù)據(jù)集,每組數(shù)據(jù)都對第一層集成學(xué)習(xí)的5個傳統(tǒng)機器學(xué)習(xí)模型進行訓(xùn)練,調(diào)整第一層集成學(xué)習(xí)的閾值,找到最優(yōu)的閾值λ。 (2)完全采樣+多層集成學(xué)習(xí)分類算法:將所有數(shù)據(jù)作為訓(xùn)練樣本和測試樣本分成5組樣本,第一層集成學(xué)習(xí)的基分類器為5個傳統(tǒng)機器學(xué)習(xí)模型。 (3)欠采樣+多層集成學(xué)習(xí)分類算法:對多類樣本(良性網(wǎng)頁)欠采樣出5組樣本,與少類樣本組成新的數(shù)據(jù)集,每組數(shù)據(jù)都對第一層集成學(xué)習(xí)的5個傳統(tǒng)機器學(xué)習(xí)模型進行訓(xùn)練。 (4)過采樣+多層集成學(xué)習(xí)分類算法:對少類樣本(惡意網(wǎng)頁)過采樣,復(fù)制樣本數(shù)量達到與多類樣本平衡的效果,再對第一層集成學(xué)習(xí)的5個傳統(tǒng)機器學(xué)習(xí)模型進行訓(xùn)練。 (5)欠采樣+單層集成學(xué)習(xí)分類算法:欠采樣出5組樣本,通過Bagging得到集成的模型。 (6)欠采樣+傳統(tǒng)機器學(xué)習(xí)模型:欠采樣出5組樣本,對5個傳統(tǒng)機器學(xué)習(xí)模型進行訓(xùn)練。 第一組實驗由上述方法(1)完成,該組實驗?zāi)康氖钦业降谝粚蛹蓪W(xué)習(xí)的最優(yōu)閾值。實驗分別從準(zhǔn) 確 率(acc)、精準(zhǔn)率(precision)和召回率(recall)這3個維度對不同分類算法的分類性能進行衡量,效果如表4和圖3所示。 圖3 不同λ取值下集成學(xué)習(xí)檢測效果 表4 不同閾值λ下集成學(xué)習(xí)檢測效果 表4是基于URL詞匯特征的集成學(xué)習(xí)檢測效果表(αji依據(jù)acc計算獲得),通過調(diào)節(jié)不同的λ閾值,可以得到不同的檢測效果,實驗中共選取了4個閾值進行了實驗比較,通過圖3可以看出,隨著閾值變大,模型的Precision是越來越低的,而Recall則越來越高,ACC在λ=0.4時表現(xiàn)最好,之后慢慢下降,這是因為閾值越大,越不容易被判定為惡意。當(dāng)閾值λ=0.4時集成學(xué)習(xí)的綜合性能最好,雖然Recall略低于λ=0.3,Precision低于λ=0.5和λ=0.6,但是具有更好的準(zhǔn)確率,綜合性能也是最好的,所以整個系統(tǒng)選取λ=0.4作為后續(xù)實驗中集成學(xué)習(xí)的閾值。 第二組實驗由上述方法的(2)~(4)組成,針對不平衡數(shù)據(jù)集驗證欠采樣在集成學(xué)習(xí)上的有效性。實驗分別通過完全采樣、欠采樣和過采樣3種不同處理數(shù)據(jù)的方法對相同的集成學(xué)習(xí)模型進行惡意網(wǎng)頁分類研究,對比3種情境下集成學(xué)習(xí)的分類效果,得出最優(yōu)的處理不平衡數(shù)據(jù)集的數(shù)據(jù)處理方法。表5的數(shù)據(jù)對比可以看出,欠采樣方法的分類效果在準(zhǔn)確率和召回率上要遠(yuǎn)優(yōu)于完全采樣和過采樣,召回率達到94.88%,相較于完全采樣和過采樣的83.86%和81.93%,有著巨大的提升。其原因在于,完全采樣和過采樣的分類效果更偏向于多數(shù)類,導(dǎo)致檢測的召回率不盡人意。本實驗設(shè)計的欠采樣和多層分類器結(jié)合的模型能在保證全局信息完整的基礎(chǔ)上平衡數(shù)據(jù)集,大大提高檢測模型的召回率,從而提升模型檢測的準(zhǔn)確率。 表5 不同采樣方式檢測效果 第三組實驗由上述方法(2)、方法(3)、方法(5)、方法(6)組成,該組實驗用來比較多層集成學(xué)習(xí)模型與單層Bagging集成學(xué)習(xí)模型以及傳統(tǒng)機器學(xué)習(xí)模型在檢測效果上的優(yōu)劣,數(shù)據(jù)采集上都使用欠采樣進行處理,如表6所示,本文提出的惡意網(wǎng)頁檢測方法在檢測效果上相較于單層Bagging集成學(xué)習(xí)模型表現(xiàn)更好,準(zhǔn)確率、精確率和召回率都要優(yōu)于Bagging集成學(xué)習(xí)模型,這是因為本實驗的基分類器在數(shù)據(jù)集上進行了平衡,能更好檢出惡意網(wǎng)頁。 表6 不同模型檢測效果對比 表6中5種傳統(tǒng)機器學(xué)習(xí)模型,表現(xiàn)最好的為決策樹,但由于數(shù)據(jù)的不平衡性,在召回率上表現(xiàn)一般。5種機器學(xué)習(xí)模型作為基分類器在各種參數(shù)上要低于集成學(xué)習(xí)也符合預(yù)期,進一步說明了本文提出的集成學(xué)習(xí)模型的有效性。 通過上面多組實驗效果對比,可以得出結(jié)論:針對不平衡數(shù)據(jù)集,使用欠采樣與集成學(xué)習(xí)相結(jié)合的方法要比傳統(tǒng)單分類機器學(xué)習(xí)方法性能上要高;采樣方法相同的情況下,多層集成方法的檢測效果要優(yōu)于單層集成學(xué)習(xí)以及傳統(tǒng)的機器學(xué)習(xí)方法。本文提出的欠采樣多層集成學(xué)習(xí)模型能夠較好處理數(shù)據(jù)不平衡的惡意網(wǎng)頁檢測問題。 本文提出了一種基于欠采樣的多層集成學(xué)習(xí)分類方法,來處理惡意網(wǎng)頁識別研究中數(shù)據(jù)不平衡問題。方法中先采用欠采樣數(shù)據(jù)處理方法得到多組訓(xùn)練樣本,之后將傳統(tǒng)的5種機器學(xué)習(xí)模型在驗證集上的表現(xiàn)作為權(quán)重構(gòu)建第一層集成學(xué)習(xí)模型,最后通過Bagging投票方式對這多個集成結(jié)果進一步集成得到最終的檢測結(jié)果。最終的檢測結(jié)果表明,該模型是行之有效的,能夠有效處理不平衡數(shù)據(jù)以及惡意網(wǎng)頁識別問題。3.3 基于權(quán)重和閾值調(diào)整的集成學(xué)習(xí)算法
4 系統(tǒng)實驗測評
4.1 實驗環(huán)境
4.2 實驗樣本劃分及不平衡情況

4.3 評價標(biāo)準(zhǔn)

4.4 實驗結(jié)果與分析




5 結(jié)束語