• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      張銀杰 揣錦華 翟曉惠

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

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

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

      0引言

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

      1數(shù)據(jù)認知與預處理

      1.1數(shù)據(jù)認知

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

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

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

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

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

      2相關方法與理論

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

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

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

      2.2分類算法

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

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

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

      2.3二分類模型評估指標

      2.3.1混淆矩陣

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

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

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

      假正(False Positive,F(xiàn)P):當一個負樣本被模型預測為正類。

      假負(False Negative,F(xiàn)N):當一個正樣本被模型預測為負類。

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

      2.3.2 ROC曲線與AUC值

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

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

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

      2.4 k折交叉驗證

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

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

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

      3.1.1特征的構建

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

      (1)原特征的分解

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

      (2)特征間的組合

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

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

      (3)構造啞變量特征

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

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

      3.1.2特征的篩選

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

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

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

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

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

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

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

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

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

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

      4結束語

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

      库伦旗| 三明市| 九龙县| 榆社县| 万源市| 商洛市| 东明县| 白城市| 明溪县| 永济市| 大埔区| 怀安县| 延吉市| 贵溪市| 长汀县| 天全县| 曲麻莱县| 太仆寺旗| 锡林浩特市| 龙游县| 石楼县| 页游| 那曲县| 平罗县| 繁昌县| 东乌珠穆沁旗| 山阳县| 灌云县| 乐都县| 延长县| 桐梓县| 灌阳县| 盘锦市| 太和县| 商南县| 花莲县| 鄂尔多斯市| 庐江县| 金秀| 宁南县| 商河县|