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

基于特征工程與集成學習的惡意軟件預測研究

2020-08-06 15:01:03張銀杰揣錦華翟曉惠
計算機時代 2020年7期

張銀杰 揣錦華 翟曉惠

摘要:針對微軟惡意軟件預測數據集,文章結合特征工程的思想和集成學習算法實現惡意軟件感染的預測。為了更好地適應算法的輸入要求,對數據集進行預處理和特征構建,并提出一種利用LightGBM算法以提高預測性能的啟發式搜索方式,得到最終的特征集。以篩選后的特征構成的數據集實現了LightGBM,XGBoost和CART算法的預測,并對預測性能進行了比對分析。通過完全相同的交叉驗證證明,在惡意軟件預測時,集成學習算法有更好的預測性能,AUC值明顯高于傳統決策樹算法。

關鍵詞:惡意軟件預測;特征工程;LightGBM;XGBoost

中圖分類號:520.4070 文獻標識碼:A 文章編號:1006-8228(2020)07-07-05

0引言

近年來,惡意軟件在PC端的傳播感染和攻擊行為日益頻繁,給企業和個人計算機用戶的信息安全和財產帶來嚴重威脅,在此背景下微軟提供Windows計算機惡意軟件感染數據集,旨在實現對計算機是否感染惡意軟件的概率預測。機器學習在網絡安全領域的應用也越來越廣泛嘲,boosting集成學習算法是近年來機器學習中較為流行的算法,例如基于樹模型集成的LightGBM和XGBoost算法,近年來常用于基于數據集的預測。本文對數據集進行了預處理,并根據特征工程的理論進行特征的構建與選擇,最終使用boosting算法,實現對惡意軟件感染的有效預測。如何從大量原始數據中盡可能地挖掘出與預測惡意軟件相關聯的信息,并借助集成學習的預測性能實現惡意軟件的預測是本文研究的主要內容。

1數據認知與預處理

1.1數據認知

本文數據引用自kaggle網站的微軟惡意軟件預測數據集。本文預測目的為Windows計算機是否感染惡意軟件,預測標簽為計算機是否檢測出惡意軟件(檢測出記為1,未檢測出記為0),即原數據集中的HasDetections字段。為探究boosting算法在該數據集上的預測效果,本文取其前120萬條數據進行研究。

所取樣本中預測標簽的正負樣本分布大致相同,因此不需要進行額外的分層抽樣以確保訓練集中的正負樣本比例。將其他特征與預測標簽進行了數據趨勢分析,例如,圖1所舉的示例為不同“AVProduc-tInstalled”(安裝防衛軟件數目)下“HasDetections”的數據分布,從中可以看出,在感染惡意軟件的數據更集中于防衛軟件數目較少的情況。通過以上特征間的分析過程,證明其他特征與預測標簽有一定關聯性。

1.2數據預處理

數據集中大部分特征都為類別特征。為了使數據更適用于機器學習算法的訓練,對于原始數據集中的類別型數據采用標簽編碼的方式。例如,圖2給出“ProductName”字段的標簽編碼過程,該字段原有6個類別,在特征編碼時將數量少于1000的所有類別視為異常值,合并劃為同一標簽。

對于數據集中的數值型數據與布爾型數據不作處理,保留原有數據格式。經過數據預處理后,得到可以投入機器學習訓練的數據集。

2相關方法與理論

2.1特征工程及特征選擇方法

特征工程(Feature Engineering),是一系列工程活動的總稱。特征工程的目的,是最大限度地從原始數據中找到適合模型的特征。此過程不僅能夠降低計算的運行速度,提高模型的預測性能,也使得模型更好理解和維護。

特征選擇是特征工程中關鍵的一步,實際的特征構建過程中,特征之間可能存在依賴,也可能存在與預測目標不相關的特征。特征選擇是篩選出合適特征的過程,本文提出一種啟發性特征搜索方式以提高預測性能,主要思想是以分類器的預測性能作為判斷準則,從當前的特征集合中移除最不重要的特征,其次根據準則決定部分特征是否刪減或保留,重復上述過程,直到最終的特征集不再發生變化。

2.2分類算法

CART算法,即分類與回歸樹(classification andregression tree,CART),是一種常用于分類和回歸任務的決策樹算法。在執行分類任務時,用基尼指數選擇判斷最優特征及最優切分點的依據來構造分類樹。最后基于子樹的平方誤差或基尼指數,剪去部分子樹,減少過擬合以更適應未知數據的預測。

XGBoost是以分類回歸樹(CART樹)進行組合的一種boosting集成學習方法。XGBoost在使用CART作為基分類器時增加了正則項,大大提升了模型的泛化能力?;诜诸惢貧w樹的XGBoost算法能很好地處理本文中的表格性數據,還可以自動對缺失值進行處理,同時提供更好的優化參數的方式。

作為boosting集合模型中的新進成員,LightGBM是一種基于決策樹算法的分布式梯度提升框架,原理上采用損失函數的負梯度作為當前決策樹的殘差近似值去擬合新的決策樹。在特征重要性判斷上,LightGBM相對于其他集成學習算法有很多重要的優勢,例如支持直接輸入類別特征,能輸出特征重要性分數,以及較低的計算代價等。

2.3二分類模型評估指標

2.3.1混淆矩陣

混淆矩陣是用來評估二分類模型的一種可視化工具。本文根據模型的預測結果與真實分類結果的比較將所有樣本劃分為四部分,具體如表l所示。

表1中的四部分具體如下。

真正(True Positive,TP):當一個正樣本被模型預測為正類。

假正(False Positive,FP):當一個負樣本被模型預測為正類。

假負(False Negative,FN):當一個正樣本被模型預測為負類。

真負(True Negative,TN):當一個負樣本被模型預測為負類。

2.3.2 ROC曲線與AUC值

ROC曲線是衡量二分類模型的一個指標工具,ROC曲線的橫縱坐標由混淆矩陣四部分計算得到。ROC曲線橫坐標為FPR(False Positive Rate,假正率),FPR公式如下:

TPR即被預測為正的正樣本數/真實正樣本數。一般情況下,ROC曲線都處于(0,0)和(1,1)連線的上方。

本文中采用AUC(Area Under Curve)作為二分類模型的判斷指標。AUC被定義為ROC曲線下的面積(ROC的積分),通常大于0.5且小于1。AUC可以理解為隨機挑選一個正樣本以及一個負樣本,分類器判定正樣本的值高于負樣本的概率。使用AUC可以對多個分類器的預測性能作出準確的性能度量。AUC值越大的分類器,性能越好。

2.4 k折交叉驗證

k折交叉驗證指將整個數據集分成大小幾乎相等的k部分。然后將第k個數據子集作為測試集,剩余部分全部作為訓練集,從而完成k次訓練預測,返回整個測試集的測試結果的平均值。常見的k值有5、10、20等。為了全面評估預測模型的性能,本文皆采用五折交叉驗證的方式評估預測結果。

3特征工程與集成學習在惡意軟件預測上的應用

3.1特征工程在惡意軟件預測上的應用

3.1.1特征的構建

將數據集中的屬性字段轉換為原始特征,共得到類別型特征53個,數值型特征10個,布爾型特征18個?;谶@些原始特征可以構造更多的衍生特征,以進一步提高模型預測精度。新的衍生特征主要通過以下幾個方向完成衍生特征的構建。

(1)原特征的分解

因為版本信息具有時間變化的趨勢,不同版本下感染惡意軟件的概率可能有所不同,因此提取防衛軟件引擎版本EngineVersion、防衛軟件APP版本AppVersion等字段按照版本層次的差異分割成若干特征。

(2)特征間的組合

①特征間的加減乘除:根據計算機安全的相關業務邏輯構造新的特征。例如,根據計算機可使用的防衛軟件/計算機已安裝的防衛軟件,可以得到計算機防衛軟件可使用率這一新衍生特征,用以進一步表示計算機安裝防衛軟件的情況。

②根據特征值的不同構建新特征:例如根據計算機是否存在于計算機設備普及比較高的國家,構建一個新的0/1變量作為衍生特征(0表示否,1表示是)。

(3)構造啞變量特征

因為數據集中部分類別型特征存在缺失值的情況,可以將某特征是否存在缺失值作為一個新的布爾型衍生特征。

根據以上三個維度進行特征構建,得到最終的特征分布如表2所示。

3.1.2特征的篩選

過多的特征對于分類器來說計算開銷太大,而且分類性能不一定更好。因此,需要對特征的重要性進行判斷,再對特征進行篩選,得到最終預測使用的特征集。在特征重要性判斷上,LightGBM算法具有支持直接輸入類別特征,能輸出特征重要性分數以及較低的計算代價等特點。因此本次實驗選擇LightGBM算法對特征進行選擇。

結合LightGBM算法,由特征全集訓練可以得到特征重要性排名,在此過程中,剔除了所有重要性為0的特征;另外需要再對剩下的特征進行選擇,篩選過程中選擇AUC值作為模型效果評價指標,AUC值越大說明模型越好。

根據特征重要性排名,剔除所有重要性為0的特征后還有158個待篩選特征,隨后以五折交叉驗證的AUC平均值作為目標函數,執行特征集的啟發性搜索以得到最終特征集。該啟發陛搜索過程的流程圖如圖3所示。

多次執行上述過程,直至輸入的特征集與輸出的特征集完全相同,此時刪除任何一個特征都會導致AUC值降低,確保最終找到一個局部最優的特征集。在實際對原始特征篩選過程中,第七次篩選輸入的特征集與輸出相比不再發生變化,因此取第六次篩選結果的特征集。篩選過程中的AUC變化如表3所示。

由表3得,這種特征選擇方式使得在特征數縮減的情況下模型AUC值仍能提高。說明這種特征選擇方式不但可以降低計算開銷,也使模型的預測能力得到提高。經過特征選擇后預測模型的特征數目確定為129。

3.2集成學習算法在惡意軟件上的應用

經過特征選擇過程后,得到只包含篩選后的129特征的實驗數據集。Python編程環境中可以方便的調用機器學習算法,在Python環境中選擇合適的參數利用LightGBM和XGBoost算法對該數據集進行訓練和交叉驗證。為了比較兩種集成學習算法與傳統算法性能上的差異,選擇決策樹算法CART算法作為對比。

由以上三種算法對數據集進行五折交叉驗證,得到如表4所示五次驗證過程中驗證集AUC的對比結果。

由表4的結果得,集成學習算法中的LightGBM與XGBoost算法在每一折驗證集的AUC值上均高于CART算法,說明boosting集成學習的預測性能明顯高于傳統決策樹算法,基于XGBoost算法得到的大部分交叉驗證結果在AUC上的表現比LightGBM要略高。

上述實驗結果表明,對于惡意軟件感染數據集,結合集成學習算法,經特征工程篩選過后的特征集在預測效果上優于全部特征集的預測結果,此外,集成學習算法的預測效果也遠好于傳統決策樹算法預測效果。利用本文特征選擇方法與集成學習算法的結合,可以較好的實現對惡意軟件的預測。

4結束語

本文通過特定的特征選擇方法和集成學習算法,解決了基于數據集預測惡意軟件感染這一實際問題。不僅實現了較為準確預測惡意軟件的目標,也找到了影響惡意軟件感染的一系列特征,為防治惡意軟件提供了部分依據。下一步期望通過進一步優化特征選擇過程,或者選擇模型融合的方法,實現惡意軟件預測的優化過程。

主站蜘蛛池模板: 2021国产在线视频| www亚洲精品| 国产黑丝一区| 伊人精品成人久久综合| 国产91成人| 欧美成一级| 97视频精品全国免费观看| 国产精品美女网站| 一级毛片在线播放| 久久精品免费看一| 国产探花在线视频| 九九久久精品免费观看| 国产69囗曝护士吞精在线视频| 人妻91无码色偷偷色噜噜噜| 国产毛片网站| 成人免费午夜视频| 成色7777精品在线| 国产手机在线小视频免费观看| 91人人妻人人做人人爽男同| 中文字幕免费在线视频| 57pao国产成视频免费播放| 国产视频一二三区| 久久香蕉国产线看观看式| 日本尹人综合香蕉在线观看| 久久网综合| 欧美国产精品不卡在线观看| 五月天在线网站| 欧美日韩资源| 中文字幕自拍偷拍| 国产福利大秀91| 久久免费精品琪琪| 中文天堂在线视频| 久久免费成人| 99ri精品视频在线观看播放| 亚洲成a人在线观看| 色综合成人| 久久国产黑丝袜视频| 二级特黄绝大片免费视频大片| 最新亚洲人成无码网站欣赏网| 免费国产好深啊好涨好硬视频| 日韩欧美视频第一区在线观看 | 欧美一级高清片欧美国产欧美| 国产精品第三页在线看| 999国产精品| 婷婷午夜影院| 国产丝袜第一页| 久久精品亚洲专区| 在线观看无码a∨| 在线无码九区| 免费在线视频a| 天堂成人在线视频| 日本人真淫视频一区二区三区| 国内精品一区二区在线观看| 国产Av无码精品色午夜| 91国语视频| 99青青青精品视频在线| 免费又黄又爽又猛大片午夜| 国产va在线观看免费| 美女潮喷出白浆在线观看视频| 九九视频免费看| 伊人久久久久久久| 日本三级欧美三级| 久久精品只有这里有| 中文字幕亚洲综久久2021| 欧美伦理一区| 精品人妻系列无码专区久久| 天天综合网色中文字幕| 精品人妻无码区在线视频| 亚洲欧美色中文字幕| 中文字幕在线永久在线视频2020| 国产精品久线在线观看| 亚洲天堂免费| 久久免费看片| 国产又黄又硬又粗| 中国黄色一级视频| 色综合日本| 在线精品亚洲一区二区古装| 伊人久久精品亚洲午夜| 99在线视频网站| 999精品色在线观看| 人妻丰满熟妇AV无码区| 熟女日韩精品2区|