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

        ?

        基于集成學(xué)習(xí)算法的惡意軟件感染二分類預(yù)測

        2021-06-03 06:39:06張銀杰揣錦華翟曉惠
        計算機技術(shù)與發(fā)展 2021年5期
        關(guān)鍵詞:決策樹分數(shù)分類

        張銀杰,揣錦華,翟曉惠

        (長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)

        0 引 言

        集成學(xué)習(xí)算法是近些年來較為流行的基于樹的機器學(xué)習(xí)方法[1],常用于數(shù)據(jù)挖掘領(lǐng)域的分類或回歸預(yù)測任務(wù)[2-4]。在此背景下,該文選擇kaggle平臺的開源數(shù)據(jù)集,對計算機感染惡意軟件這一主題進行二分類預(yù)測,以探究集成學(xué)習(xí)算法在網(wǎng)絡(luò)安全相關(guān)的多維數(shù)據(jù)預(yù)測過程中的應(yīng)用[5]。主要關(guān)注集成學(xué)習(xí)在特征選擇與預(yù)測模型建立中的實際運用。對原始數(shù)據(jù)進行預(yù)處理,提出利用原有特征進行時間戳特征的構(gòu)建使得原數(shù)據(jù)在時間上有序,也為數(shù)據(jù)集提供了時間維度的特征。

        如何盡可能地展現(xiàn)出原數(shù)據(jù)集中的有效信息并建立二分類模型,實現(xiàn)對計算機是否感染惡意軟件的預(yù)測目標是該文研究的主要內(nèi)容。

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

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

        文中數(shù)據(jù)來源于kaggle開源數(shù)據(jù)集,記錄了千萬臺Windows計算機的信息,包括計算機所屬地理區(qū)域、硬件、防衛(wèi)軟件、操作系統(tǒng)設(shè)置等多維信息,共計82個屬性。預(yù)測標簽為屬性HasDetections,其包含兩個數(shù)量相當?shù)念悇e0和1,當其數(shù)值為1時表示感染惡意軟件,為0時表示未感染惡意軟件。為探究集成學(xué)習(xí)算法在本數(shù)據(jù)集上的分類預(yù)測作用,采用前200萬條數(shù)據(jù)進行研究。

        原始數(shù)據(jù)集存在大量屬性字段,經(jīng)過初步的數(shù)據(jù)探索性分析[6],發(fā)現(xiàn)屬性字段不同值對預(yù)測標簽的影響是不同的。例如圖1為Census_OSInstallTypeName字段屬性值HasDetections率的分布。該字段共包含九個類別值,每個類別值的數(shù)量如圖中條形圖所示,感染惡意軟件的概率用折線圖表示,可以看出類別之間的感染率存在著差異,部分安裝類型下感染率明顯超過了0.5均值,說明通過這些安裝方式安裝操作系統(tǒng)的計算機更容易感染惡意軟件。通過對所有屬性列的分析,證明了對該數(shù)據(jù)集進行分類預(yù)測的可行性。

        圖1 不同操作系統(tǒng)安裝類型下“HasDetections”率分布

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

        原始數(shù)據(jù)集中需要進行初步的數(shù)據(jù)清洗。例如,類別型字段SmartScreen,該字段記錄了注冊表中SmartScreen的字符串值,該值的設(shè)置影響防衛(wèi)軟件的部分防衛(wèi)功能。在原始數(shù)據(jù)集中該字段含有如“Off”、“off”、“OFF”含義相同的類別值,經(jīng)處理后合并為同一類。

        通過以上過程,對所有類別型字段進行標簽編碼以簡化數(shù)據(jù)。數(shù)據(jù)集中的數(shù)值型字段存在部分不符合常理的異常值,如標識顯示器尺寸的數(shù)值字段存在負值和0值,負值剔除負號,0值直接視為無效信息,并以該字段眾數(shù)填充。對于布爾型字段,則確保有效值只有0和1兩個變量。

        2 特征工程應(yīng)用

        2.1 初始特征構(gòu)建

        特征工程(feature engineering),是一系列與特征相關(guān)的工程活動的總稱。其作用是盡可能地在原始數(shù)據(jù)基礎(chǔ)上挖掘出適合于預(yù)測模型的特征。文中的特征從原始數(shù)據(jù)的各屬性列提取,預(yù)處理階段將原始數(shù)據(jù)集轉(zhuǎn)換為模型可以輸入的格式后,需進行特征工程以調(diào)整特征數(shù)量,有助于模型發(fā)揮更好的預(yù)測性能。

        將文中使用的數(shù)據(jù)集中所有的字段轉(zhuǎn)換為原始特征,共計53個類別型特征(如特征CityIdentifier,反映計算機所屬城市的標識),10個數(shù)值型特征(如特征AVProductsEnabled,數(shù)值表示可以使用防衛(wèi)軟件數(shù)量),18個布爾型特征(如特征Census_IsTouchEnabled,用0或1變量表示是否為可觸屏設(shè)備)。

        2.2 時間戳特征的構(gòu)造

        數(shù)據(jù)集中的每一臺計算機信息是微軟公司于2018年抽取的真實計算機脫敏數(shù)據(jù)。按照傳統(tǒng)思維,軟件版本越新,對惡意軟件的防衛(wèi)就越強,計算機感染惡意軟件概率就越低。為構(gòu)造出更能反映時間差異信息的特征,該文對AppVersion、AvSigVersion、Census_OSVersion三個含有時間信息的特征進行拆分。例如AppVersion代表防衛(wèi)軟件APP版本號(例如4.18.1807.18075)由四個數(shù)據(jù)組成,其中第二、第三、第四個數(shù)字具有版本信息差異,因此對原特征拆分,得到新的三個拆分特征,如AppVersion2代表版本號的第二個數(shù)字,文中此特征為18時代表相關(guān)軟件已更新到最新版本。同理基于AvSigVersion的第二、第三個數(shù)字和Census_OSVersion的第三、第四個數(shù)字得到4個新的拆分特征。共計得到7個拆分特征。

        此外,設(shè)計了如表1所示的三個時間戳特征,用版本最新號減去相應(yīng)版本信息,以衡量不同計算機之間的軟件版本差異。表中AppVersion2_3指APP版本號第二和第三個數(shù)字的小數(shù)組合,AvSigVersion2_3指防衛(wèi)軟件sig版本號第二和第三個數(shù)字的小數(shù)組合,Census_OSVersion3_4指操作系統(tǒng)版本號第三和第四個數(shù)字的小數(shù)組合。

        表1 時間戳特征的構(gòu)建

        以上時間戳特征可以確定計算機防衛(wèi)軟件或操作系統(tǒng)與最新版本的差異程度。在對時間戳特征不同區(qū)間下的HasDetections率變化分析過程中發(fā)現(xiàn),防衛(wèi)軟件版本的差異確實會影響計算機感染惡意軟件的概率。例如特征lag1在1~5區(qū)間內(nèi)HasDetections率只有30%~40%,明顯低于所有區(qū)間的感染平均值50%。

        經(jīng)過時間戳相關(guān)特征的構(gòu)造,文中數(shù)據(jù)集的特征數(shù)達到91個。

        2.3 集成學(xué)習(xí)在特征重要性分析中的應(yīng)用

        對上述過程構(gòu)建的所有特征進行重要性分析,以判斷每個特征是否與最終的預(yù)測標簽相關(guān)。集成學(xué)習(xí)算法可以快速地判斷每個特征與預(yù)測標簽的相關(guān)性,并給出每個特征的重要性分數(shù)。該文選擇隨機森林算法評價特征重要性[7]。

        隨機森林是多重決策樹算法集成組合的算法,內(nèi)部決策樹由隨機特征構(gòu)成的決策樹生成,最終預(yù)測結(jié)果綜合考慮各個決策樹的預(yù)測結(jié)果確定,解決了單個決策樹經(jīng)常產(chǎn)生的過擬合問題[8]。在處理分類問題時,隨機森林采用大部分決策樹選擇的分類結(jié)果[9]。在不需要設(shè)置過多的超參數(shù)的基礎(chǔ)上,隨機森林即可判斷各個特征與預(yù)測標簽的相關(guān)性。將文中的91個特征與預(yù)測標簽HasDetections作相關(guān)性分析,在總特征分數(shù)為100的前提下,得到各個特征的重要性分數(shù),如圖2所示。

        圖2 隨機森林算法計算出的特征重要性分數(shù)

        由圖2可見,絕大部分原始特征和文中新構(gòu)建的特征都與預(yù)測標簽有相關(guān)性,但是重要性分數(shù)參差不齊,說明每個特征的影響程度有所差異[10]。在上文中構(gòu)造的兩個新特征,包括拆分特征AvSigVersion3與時間戳特征lag2都有較高的分數(shù),在91個特征中排到了前5位,其余新構(gòu)建的特征也都有一定的重要性,說明文中新特征的構(gòu)建是有效和合理的。分數(shù)最高的前5位特征還包括硬盤總?cè)萘?、處理器型號以及SmartScreen字符串值三個特征,這也為惡意軟件的防范提供了啟示。另外,有4個特征的特征重要性為0,說明其與預(yù)測標簽無相關(guān)性。后文中將依據(jù)特征重要性分數(shù)討論特征數(shù)量對預(yù)測模型的影響。

        3 集成學(xué)習(xí)在二分類預(yù)測中的應(yīng)用

        3.1 分類算法及分類模型評估指標

        3.1.1 二分類算法

        二分類算法的實現(xiàn)是機器學(xué)習(xí)的一大重要應(yīng)用。二分類算法通過自我訓(xùn)練按照一定的規(guī)則將所有樣本分為兩類,從而可用于未知類別數(shù)據(jù)的預(yù)測。構(gòu)建分類算法需要借助訓(xùn)練集與測試集,訓(xùn)練集負責(zé)分類模型的建立過程;測試集負責(zé)對已建立的模型進行測試,將得到的預(yù)測結(jié)果與實際結(jié)果相比對,并借助相關(guān)指標判斷模型的準確性。

        決策樹屬于常見的分類算法,基本的有ID3、CART算法等。集成學(xué)習(xí)算法包括隨機森林、GBDT、Lightgbm、Xgboost算法等。這些算法的集成方式包括Bagging和Boosting兩種,基模型都是決策樹模型,近些年來集成學(xué)習(xí)模型在機器學(xué)習(xí)領(lǐng)域應(yīng)用較為廣泛,其中部分也常用于數(shù)據(jù)挖掘中的二分類預(yù)測[11]。

        3.1.2 二分類模型評估指標——ROC曲線與AUC值

        在二分類模型中,可將所有樣本劃分為正樣本和負樣本。該文將感染惡意軟件的計算機標注為正樣本,未感染惡意軟件的計算機標記為負樣本。

        ROC曲線(receiver operating characteristics curve)和AUC(area under curve)現(xiàn)在常用于評估機器學(xué)習(xí)模型的性能。ROC曲線依靠假正率和真正率兩個指標形成,兩個指標含義如下。

        ROC曲線橫坐標為假正率,假正率(FPR)公式如下:

        其中,F(xiàn)P是被模型錯誤預(yù)測為正類的負樣本數(shù)量,TN是被模型正確預(yù)測為負類的負樣本數(shù)量,兩者之和為負樣本總和。

        ROC曲線縱坐標為真正率,真正率(TPR)公式如下:

        其中,TP是被模型正確預(yù)測為正類的正樣本數(shù)量,F(xiàn)N是被模型錯誤預(yù)測為負類的正樣本數(shù)量,兩者之和為負樣本總和。

        假正率和真正率在不同的閾值下形成不同的ROC空間點,最終標注點連接形成ROC曲線。形成的ROC曲線代表一個分類器的性能。在大多數(shù)情況下,ROC曲線經(jīng)過(0,0)和(1,1)并在兩點連線之上。

        AUC指的是ROC曲線下的面積。對于一個分類器來說,其ROC曲線越趨向于左上角,則其AUC值越接近于1。AUC較ROC曲線有更直觀的數(shù)值表達方式,也不受ROC曲線中閾值的影響,因此該文采用訓(xùn)練集與測試集的AUC值作為評估二分類模型的主要指標。

        3.2 基于集成學(xué)習(xí)的預(yù)測模型的建立

        3.2.1 基于LightGBM的預(yù)測模型

        LightGBM是一種基于Boosting集成的方法,內(nèi)部各個基學(xué)習(xí)器順序?qū)W習(xí),后續(xù)學(xué)習(xí)器的算法重點關(guān)注前面算法的錯誤[12]。作為一種分布式梯度提升框架,LightGBM算法具有運算速度快,支持直接輸入類別特征的優(yōu)勢。將前文中得到的91特征數(shù)據(jù)集劃分為訓(xùn)練集與測試集,訓(xùn)練集與測試集的劃分比例為1∶1。將訓(xùn)練集輸入LightGBM算法訓(xùn)練,建立預(yù)測模型[13]。在Python的sklearn環(huán)境下,設(shè)置算法參數(shù)n_estimators為3 000,colsample_bytree設(shè)置為0.2,其余參數(shù)保留默認值。

        最終得到的訓(xùn)練集與測試集的ROC曲線如圖3所示。從圖3可以看出,測試集的AUC值達到0.73,雖然低于訓(xùn)練集的AUC值0.78,但過擬合程度并不嚴重。說明通過LightGBM算法實現(xiàn)數(shù)據(jù)集預(yù)測惡意軟件感染的可行性。

        圖3 LightGBM算法下的訓(xùn)練集與測試集ROC曲線

        3.2.2 基于隨機森林的預(yù)測模型

        隨機森林算法是一種基于Bagging集成的方法,內(nèi)部各個基學(xué)習(xí)器互不影響,在訓(xùn)練時并行化處理。在分類建立預(yù)測模型的過程中,算法內(nèi)部的每棵決策樹的構(gòu)成過程都會隨機選取特征與樣本,最后采用投票決定最終的分類結(jié)果。這使得隨機森林是高度泛化的集成學(xué)習(xí)模型。在默認參數(shù)下使用訓(xùn)練集建立隨機森林分類預(yù)測模型,得到訓(xùn)練集與測試集的ROC曲線,如圖4點劃線所示??梢钥闯?,默認參數(shù)下生成的隨機森林預(yù)測模型過擬合嚴重,訓(xùn)練集的AUC值已近似于1,測試集AUC值為0.66。為提高預(yù)測模型的泛性,需對隨機森林算法進行調(diào)整,以降低過擬合現(xiàn)象[14]。

        圖4 隨機森林算法下的訓(xùn)練集與測試集ROC曲線

        對隨機森林算法參數(shù)進行設(shè)置,降低樹最大深度max_depth至3 000(默認為None),調(diào)大節(jié)點再劃分所需最小樣本數(shù)min_samples_split與葉子節(jié)點最少樣本數(shù)min_samples_leaf分別至3和5(默認值為2和1)。再次訓(xùn)練并測試得到訓(xùn)練集與測試集ROC曲線如圖4中實線所示。實線反映訓(xùn)練集AUC降至0.94,但測試集AUC提高至0.69,說明參數(shù)調(diào)整降低了過擬合現(xiàn)象,提高了對測試集的預(yù)測能力,使模型對非訓(xùn)練數(shù)據(jù)的預(yù)測能力增強。

        3.3 數(shù)據(jù)集的降維處理

        過多的特征會影響算法的執(zhí)行效率。前文中已通過隨機森林算法得出91個特征的重要性分數(shù),本節(jié)旨在保證預(yù)測精度的前提下,盡可能地減少使用的特征[15]。按照特征重要性分數(shù)劃定不同的閾值,對閾值以下分數(shù)的特征予以剔除,按照不同的閾值劃分為不同的特征集。使用隨機森林算法訓(xùn)練不同的數(shù)據(jù)集并進行測試[16]。每次模型構(gòu)建過程中,訓(xùn)練集與測試集的劃分方式相同,得到隨機森林算法測試集AUC隨閾值變化曲線,如圖5所示。

        圖5 不同分數(shù)閾值下特征數(shù)目與測試集AUC變化

        圖5顯示在特征分數(shù)的閾值設(shè)置在1.0以下時,AUC值變化較為平緩。閾值在1.0以上時,特征數(shù)目的減少使AUC值明顯降低。說明重要性分數(shù)在1.0以上的特征對于預(yù)測模型的構(gòu)建較為重要。最終將特征分數(shù)的閾值設(shè)定為1.0,此時特征數(shù)目為31,大幅降低了特征數(shù)量,提高了算法運行效率,最終預(yù)測結(jié)果也沒有受到過多影響。

        3.4 集成學(xué)習(xí)與傳統(tǒng)決策樹算法的對比

        通過基于Boosting集成的LightGBM算法和基于Bagging集成的隨機森林算法形成的預(yù)測模型,其結(jié)果表明訓(xùn)練的模型可用于惡意軟件感染結(jié)果的預(yù)測。為驗證基于樹的集成學(xué)習(xí)算法相對于傳統(tǒng)決策樹的優(yōu)勢,該文分別選擇基尼系數(shù)和信息熵作為目標函數(shù)建立決策樹算法與集成學(xué)習(xí)算法作預(yù)測結(jié)果對比。

        在Python相關(guān)機器學(xué)習(xí)包環(huán)境下[17],將含有31特征的數(shù)據(jù)集分別輸入四種算法進行完全相同的五折交叉驗證,即將數(shù)據(jù)集劃分為大致相同的五部分,依次選擇其中一部分作為測試集,其他四部分作為訓(xùn)練集,得到各算法五折交叉驗證測試集AUC值的對比如表2所示。

        表2 四種算法五折交叉驗證測試集AUC對比

        從表2的對比結(jié)果來看,兩種集成學(xué)習(xí)算法在五折交叉驗證的測試集AUC值均高于傳統(tǒng)決策樹的結(jié)果,集成學(xué)習(xí)算法中LighGBM的AUC值普遍高于隨機森林,說明其在該數(shù)據(jù)集上預(yù)測效果更好。集成學(xué)習(xí)算法解決了樹模型算法經(jīng)常出現(xiàn)的過擬合現(xiàn)象,提升了預(yù)測模型的泛化能力。表中數(shù)據(jù)也反映了對于處理這種含有多維數(shù)據(jù)集的預(yù)測問題,更適合于集成學(xué)習(xí)算法建立分類預(yù)測模型。

        4 結(jié)束語

        將集成學(xué)習(xí)算法應(yīng)用到惡意軟件二分類預(yù)測上,集成學(xué)習(xí)算法可以得到特征重要性以篩選最合適的特征數(shù)量,其次證明基于集成算法建立的預(yù)測模型的預(yù)測效果明顯好于傳統(tǒng)決策樹算法。此外,考慮到實際的預(yù)測問題,借助數(shù)據(jù)集解決了對惡意軟件感染這一主題的預(yù)測過程,在特征選擇過程中,考慮特征拆分與構(gòu)建時間戳特征以增加時間維度的信息,根據(jù)AUC值確定合適的特征分數(shù)閾值以減少特征數(shù)量。但該文考慮兩種算法已是高度集成的機器學(xué)習(xí)算法,未進行合適的模型融合以進一步提高預(yù)測效果,期望后續(xù)進一步的研究與擴展。

        猜你喜歡
        決策樹分數(shù)分類
        分類算一算
        分數(shù)的由來
        無限循環(huán)小數(shù)化為分數(shù)的反思
        一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
        分類討論求坐標
        可怕的分數(shù)
        決策樹和隨機森林方法在管理決策中的應(yīng)用
        電子制作(2018年16期)2018-09-26 03:27:06
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        算分數(shù)
        亚洲精品一区二区| 一本色道久久88加勒比—综合| 成人麻豆视频免费观看| 成人乱码一区二区三区av| 国产亚洲精品久久久久秋霞| а的天堂网最新版在线| 少妇精品揄拍高潮少妇桃花岛| 少妇久久久久久人妻无码| 久久久久久国产精品美女| 欧美日韩激情在线一区二区| 国产成人综合久久大片| 成人欧美一区二区三区在线观看 | 日韩精品乱码中文字幕| 麻豆╳╳╳乱女另类| 亚洲视频毛片| 中文字幕乱码亚洲美女精品一区| 成人国产精品一区二区八戒网| 97高清国语自产拍| 久久久久亚洲av成人网址| 日本伦理视频一区二区| 亚洲av丰满熟妇在线播放| 97se亚洲国产综合自在线| 福利网在线| 国产亚洲一本二本三道| 成人乱码一区二区三区av| 国产精品一区二区暴白浆| 久久中文字幕av第二页| 亚洲av精二区三区日韩| 少妇无码av无码专区线| 国产91一区二这在线播放| 综合激情五月三开心五月| 中文天堂国产最新| 久久国产精品二区99| 国产精品不卡免费版在线观看| 国产精品亚洲一区二区三区| 亚洲国产精品sss在线观看av| 音影先锋色天堂av电影妓女久久| 国产精品女同一区二区软件| 白丝兔女郎m开腿sm调教室| 亚洲日韩一区二区一无码| 五月综合丁香婷婷久久|