2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

基于特征工程與集成學(xué)習(xí)的惡意軟件預(yù)測(cè)研究

來源:期刊VIP網(wǎng)所屬分類:軟件開發(fā)時(shí)間:瀏覽:

  摘要:針對(duì)微軟惡意軟件預(yù)測(cè)數(shù)據(jù)集,文章結(jié)合特征工程的思想和集成學(xué)習(xí)算法實(shí)現(xiàn)惡意軟件感染的預(yù)測(cè)。為了更好地適應(yīng)算法的輸入要求,對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理和特征構(gòu)建,并提出一種利用LightGBM算法以提高預(yù)測(cè)性能的啟發(fā)式搜索方式,得到最終的特征集。以篩選后的特征構(gòu)成的數(shù)據(jù)集實(shí)現(xiàn)了LightGBM,XGBoost和CART算法的預(yù)測(cè),并對(duì)預(yù)測(cè)性能進(jìn)行了比對(duì)分析。通過完全相同的交叉驗(yàn)證證明,在惡意軟件預(yù)測(cè)時(shí),集成學(xué)習(xí)算法有更好的預(yù)測(cè)性能,AUC值明顯高于傳統(tǒng)決策樹算法。

  關(guān)鍵詞:惡意軟件預(yù)測(cè);特征工程;LightGBM;XGBoost

軟件開發(fā)論文

  0引言

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

  1數(shù)據(jù)認(rèn)知與預(yù)處理

  1.1數(shù)據(jù)認(rèn)知

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

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

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

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

  對(duì)于數(shù)據(jù)集中的數(shù)值型數(shù)據(jù)與布爾型數(shù)據(jù)不作處理,保留原有數(shù)據(jù)格式。經(jīng)過數(shù)據(jù)預(yù)處理后,得到可以投入機(jī)器學(xué)習(xí)訓(xùn)練的數(shù)據(jù)集。

  2相關(guān)方法與理論

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

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

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

  2.2分類算法

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

  XGBoost是以分類回歸樹(CART樹)進(jìn)行組合的一種boosting集成學(xué)習(xí)方法。XGBoost在使用CART作為基分類器時(shí)增加了正則項(xiàng),大大提升了模型的泛化能力。基于分類回歸樹的XGBoost算法能很好地處理本文中的表格性數(shù)據(jù),還可以自動(dòng)對(duì)缺失值進(jìn)行處理,同時(shí)提供更好的優(yōu)化參數(shù)的方式。

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

  2.3二分類模型評(píng)估指標(biāo)

  2.3.1混淆矩陣

  混淆矩陣是用來評(píng)估二分類模型的一種可視化工具。本文根據(jù)模型的預(yù)測(cè)結(jié)果與真實(shí)分類結(jié)果的比較將所有樣本劃分為四部分,具體如表l所示。

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

  真正(True Positive,TP):當(dāng)一個(gè)正樣本被模型預(yù)測(cè)為正類。

  假正(False Positive,F(xiàn)P):當(dāng)一個(gè)負(fù)樣本被模型預(yù)測(cè)為正類。

  假負(fù)(False Negative,F(xiàn)N):當(dāng)一個(gè)正樣本被模型預(yù)測(cè)為負(fù)類。

  真負(fù)(True Negative,TN):當(dāng)一個(gè)負(fù)樣本被模型預(yù)測(cè)為負(fù)類。

  推薦閱讀:SCI論文圖片用什么軟件做?

主站蜘蛛池模板: 陆河县| 肥城市| 乌兰浩特市| 简阳市| 密山市| 阳谷县| 蓝山县| 上思县| 沐川县| 邵东县| 稻城县| 确山县| 淮南市| 滨州市| 太白县| 贞丰县| 繁峙县| 大关县| 建宁县| 手游| 建瓯市| 浏阳市| 巴彦县| 将乐县| 万载县| 南康市| 浦县| 尚义县| 虹口区| 雷山县| 韶关市| 沐川县| 甘谷县| 宁南县| 浦北县| 永寿县| 新河县| 东港市| 驻马店市| 洮南市| 崇明县|