国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web用戶異常行為檢測的優(yōu)化研究

2021-03-17 09:34:00王青松
遼寧大學學報(自然科學版) 2021年1期
關鍵詞:特征選擇決策樹樣本

王青松,李 菲

(遼寧大學 信息學院,遼寧 沈陽 110036)

0 引言

數(shù)據(jù)分析伴隨著大數(shù)據(jù)時代的發(fā)展,Web用戶的異常行為檢測技術[1-3]是當前研究熱點.近幾年,面對大規(guī)模用戶每天都會訪問Web網(wǎng)頁所產(chǎn)生的數(shù)據(jù)處理的需求,數(shù)據(jù)分析技術得以蓬勃發(fā)展.從大量數(shù)據(jù)中找到其背后隱藏的規(guī)律和模式,對異常數(shù)據(jù)的實時檢測具有重要的實際應用意義[4].統(tǒng)計數(shù)據(jù)預測采用分布式處理、并行處理和網(wǎng)格計算等方法,結(jié)合相關的數(shù)據(jù)特征挖掘和聚類,實現(xiàn)數(shù)據(jù)預測[5].

早期人們通常采用端口掃描、報文特征字段匹配等方法對異常行為進行深入分析以獲取特征,從而實現(xiàn)Web用戶異常行為的檢測[6].而人工智能技術的發(fā)展,機器學習技術更多地被用于從網(wǎng)絡數(shù)據(jù)中自動計算異常行為模式、提取其特征,從而自動產(chǎn)生檢測規(guī)則,大大降低了開發(fā)代價,而機器學習主要分為無監(jiān)督學習和有監(jiān)督學習.

傳統(tǒng)的無監(jiān)督機器學習算法處理的是無標記或者數(shù)據(jù)趨勢模糊的情況下,這類算法不僅開銷大而且訓練出來的模型可讀性差,準確度較低,復雜度高且不適合時間序列數(shù)據(jù),對Web用戶異常行為的檢測準確率較低,例如期望最大化算法(Exceptation Maximization)等.

基于有監(jiān)督的機器學習算法通過利用帶標簽的訓練數(shù)據(jù)構(gòu)建模型,來對未知數(shù)據(jù)進行預測,該類方法在模型可讀性、魯棒性等方面優(yōu)于無監(jiān)督學習的檢測方法,但易出現(xiàn)過擬合或欠擬合,泛化能力較差的問題.而且對訓練樣本中標記數(shù)據(jù)都要檢索一遍,關鍵特征提取率不高,增加了很多不必要的開銷.例如Teodoro[7]等人研究出基于異常的網(wǎng)絡入侵技術,提出基于知識、統(tǒng)計和機器學習的方法,但是他們的研究并沒有提出一套最先進的機器學習方法.Wu和Banzhaf[8]等人研究計算智能方法及其在入侵檢測中的應用,詳細地介紹了人工神經(jīng)網(wǎng)絡、模糊系統(tǒng)、進化計算、人工免疫系統(tǒng)和群體智能等方法,只描述智能計算方法,不包括主流的機器學習和數(shù)據(jù)挖掘技術[9],例如決策樹算法(Decision Tree algorithm)、樸素貝葉斯算法(Naive Bayesian algorithm,NB)等.Bing[10]等人研究基于圖分析和支持向量機的企業(yè)網(wǎng)異常用戶檢測模型中所提取的特征雜亂,沒有對特征的重要性進行區(qū)分.

綜合現(xiàn)有的數(shù)據(jù)處理與數(shù)據(jù)挖掘的算法,將C4.5決策樹模型與過濾特征選擇Relief-F算法相結(jié)合,利用混淆矩陣的理念計算閾值并進行驗證,提出一種新的Web用戶異常行為檢測算法F_C4.5算法.通過消除冗余特征、減少特征集的大小降低模型建立的復雜度,對于用戶行為的分類效果更優(yōu),提高Web用戶異常行為檢測的效率和準確度.

1 相關知識介紹

1.1 特征選擇

在對訓練樣例數(shù)t維度為d的樣本點進行回歸時,可能存在d大于或者遠遠大于t的情況,在d中可能存在f個無用特征,若去除這些無用特征可能需要枚舉所有可能產(chǎn)生的情況,使用交叉驗證的方法對每一種情況計算其對應的錯誤率,根據(jù)得到的結(jié)果衡量應該消除的無用特征,這種方法對樣本數(shù)據(jù)的訓練和測試次數(shù)過多,浪費時間和空間資源.可以采用過濾特征選擇(Filter feature selection)的方法處理樣本數(shù)據(jù),降低復雜度并且提高了算法的效率.

過濾特征選擇方法通過對數(shù)據(jù)的常用屬性(例如一致性、相關性、距離等)進行不同的度量來選擇特征[11].其中最著名的方法是Kira和Rendell在1992年提出的Relief(Relevant Features),以及由Kononenko于1994年提出的上述算法的改進版Relief-F[12],這兩種方法通過設計出一個“相關統(tǒng)計量”來度量某個特征對于學習任務的重要性.Relief-F算法[13-14]能處理多分類問題,解決了Relief算法在不完全、有噪聲、多類別標記的數(shù)據(jù)集上遇到的問題.

Relief-F算法的“相關統(tǒng)計量”是一個向量,其每個分量分別對應一個初始特征.而子集中的每個特征對應的的相關統(tǒng)計分量的和決定其重要性.算法過程中需要選取一個合適的閾值ε,選擇相關統(tǒng)計量分量比ε大的對應特征作為訓練數(shù)據(jù)進行后期的模型構(gòu)建.

算法步驟如下:

1)假定數(shù)據(jù)集D中的樣本來自|y|個類別.對于示例xi若它屬于第k類(k∈{1,2,…,|y|}),則算法先在第k類的樣本中尋找xi的最近示例xi,nm并將其作為猜中近鄰,然后在其他類中找到一個xi的最近示例將其作為猜錯近鄰,記為xi,l,nm(l=1,2,…,|y|;l≠k).

(1)

1.2 C4.5決策樹算法

決策樹算法相當于一個投影,是一種預測模型,通過分類給多個樣本賦予不同標簽,分類的過程用一棵樹來表示,分叉后的過程就是劃分特征的過程,將屬性值映射到樹的分叉路徑上.

C4.5算法是最著名和最廣泛使用的決策樹算法之一,精度水平高,獨立于要處理的數(shù)據(jù)量[15].在近幾年的一項比較決策樹和其他學習算法的研究表明,C4.5算法是一種追求更低誤報率和更高速率的結(jié)合型算法.該算法的生成規(guī)則易于理解,使用信息增益來進行決策樹的劃分屬性選擇,充分考慮了關鍵特征對分類的影響,對于離散型和連續(xù)型屬性變量都有較好的處理能力,產(chǎn)生的決策樹泛化能力強,預測未見數(shù)據(jù)示例的結(jié)果較準確.

算法步驟:

計算整個數(shù)據(jù)集的信息熵Info(D)和各個屬性的信息熵Infoa(D),其中Pi:當前樣本集合D中第i類樣本所占比例(i=1,2,…,m),Dv:第v個分支結(jié)點包含D中所有在屬性a上取值為av的樣本(假設離散屬性a有v個可能的取值{a1,a2,…,av}).

(2)

(3)

計算分裂信息H(V),通過信息增益Gain(D,a)來計算,一般信息增益越大,代表使用屬性a來進行劃分所獲得的“純度提升”越大.其中a:樣本集中的某一個特征,V:當前被計算熵特征取值為v的樣本集.

Gain(D,a)=Info(D)-Infoa(D)

(4)

(5)

計算信息增益率Gain_ratio(D,a),選擇信息增益率最高的特征來選擇最優(yōu)劃分屬性,構(gòu)建分支.其中:Ⅳ(a)為考慮分裂信息的度量,屬性a的取值數(shù)目越多(即V越大),則Ⅳ(a)的值越大.

(6)

(7)

(4)計算去除已經(jīng)被使用的特征,按照步驟(1)和(2)、(3)重復計算未被選擇的特征,直到數(shù)據(jù)集不能或不用被再次劃分.

2 用戶異常檢測算法

2.1 用戶行為分類

Web用戶異常行為檢測過程包括對數(shù)據(jù)模型進行訓練和對用戶行為進行檢測.在訓練階段,系統(tǒng)首先定義并收集大量的正常行為數(shù)據(jù),例如,應用程序一段時間對外的訪問量、主機CPU利用率、程序占用系統(tǒng)內(nèi)存大小等[16].再利用過濾特征選擇Relief-F算法對這些數(shù)據(jù)進行預處理,然后根據(jù)Web用戶正常行為數(shù)據(jù)和Web用戶異常行為數(shù)據(jù)建立C4.5決策樹模型.在檢測階段,若未知行為數(shù)據(jù)實例在檢測模型中的測試距離與Web用戶正常行為數(shù)據(jù)具有更近的距離,則該數(shù)據(jù)為Web用戶正常行為數(shù)據(jù),否則該數(shù)據(jù)為Web用戶異常行為數(shù)據(jù).

2.2 訓練樣本處理

描述一個樣本可以通過很多特征,對于Web日志記錄的數(shù)據(jù)中,有些特征是對于檢測Web用戶異常行為的有價值的“相關特征”,有些則是幾乎無價值“無關特征”.對訓練樣本進行必要的預處理可以減輕計算過程的復雜度,有助于提高計算額準確性.C4.5決策樹算法雖然能做到處理連續(xù)屬性變量的訓練樣本數(shù)據(jù)集,但是需對訓練集反復進行排序及按一定規(guī)則順序掃描,導致算法效率低下[17],而對數(shù)據(jù)集進行過濾特征選擇處理后改善了由于特征變量過多決策數(shù)構(gòu)造過程所造成復雜度過高的情況.在Web用戶異常行為檢測過程中,F(xiàn)_C4.5算法的實現(xiàn)過程分為如下兩個階段:

1)第一個階段評估原始特征集與類的相關性,從給定的特征集合中選擇出相關特征子集,處理劃分訓練樣本子集,刪除相關度較低的特征.在給定數(shù)據(jù)集的所有屬性中,通過過濾特征選擇Relief-F算法對數(shù)據(jù)集進行第一步預處理:定義兩個類別標簽,Web用戶正常行為類別標簽和Web用戶異常類別標簽.更新每個特征的權重W(A),公式如下:

(8)

基于從最近的數(shù)據(jù)構(gòu)建好每個被檢測數(shù)據(jù)的估計值,使用混淆矩陣的思想選取閾值ε,混淆矩陣的各個參數(shù)設置如表1所示,使用Precision/Recall計算F1Score,找到閾值ε使得F1Score的值最高.

(9)

(10)

(11)

其中TP為正確預測正常樣本(true positives),TN為正確預測異常樣本(true negatives),TP和TN得到的都是正確結(jié)果.FP為錯誤預測正常樣本(false positives),模型預測為正常值實際樣本為異常值;FN為錯誤預測異常樣本(false negatives),實際樣本為正常值但模型預測為異常值.

2)第二個階段將兩個類別標簽中保留的相關特征傳遞給C4.5算法,通過Web用戶行為的訓練數(shù)據(jù)集進行遞歸分析構(gòu)建決策樹模型,使用Web用戶行為測試數(shù)據(jù)集對構(gòu)建好的決策樹模型進行檢測.

當有新的Web用戶異常行為發(fā)生時,使用F_C4.5算法進行檢測.Web用戶異常行為檢測算法總體實現(xiàn)過程描述如下:

算法:F_C4.5算法

輸入:訓練數(shù)據(jù)集D

樣本抽樣次數(shù)m

特征權重閾值δ

最近鄰樣本個數(shù)k

輸出:以root為結(jié)點的決策樹

1.置0所有特征權重,T為空集

2.fori=1 tomdo

(1)從D中隨機選擇一個樣本R;

(2)從R的同屬性樣本集中找到樣本R的最近鄰Hj(j=1,2,…,k),找到與R不同屬性集的最近鄰Mj(C),同為k個;

3.forA=1 toNAll feature updateW(A)

4.篩選出比閾值ε大的特征集

5.產(chǎn)生訓練集D*={(x1,y1),(x2,y2),…,(xm,ym)},

屬性集A={a1,a2,…,ad} then

6.計算函數(shù)TreeGenerate(D*,A)

7.得到root結(jié)點;

8.ifD*中所有樣本都屬于C類屬性then

9.C類葉節(jié)點更新為root;return

10.end if

11.ifD*中樣本在A上取值相同orA為空集then

12.root更新為葉節(jié)點,將對應類屬性更新為D*中有著最多樣本數(shù)的類;return

13.end if

14.從A中選擇Gain_ratio(D*,a)最大的ai作為最優(yōu)劃分屬性

18.分支結(jié)點更新為葉結(jié)點,將對應類屬性更新為D*中樣本最多的類;return

19.else

21. end if

22.end for

3 實驗與分析

3.1 實驗環(huán)境和任務

實驗在Windows10系統(tǒng)下,使用Python語言3.5版本,PyCharm工具運行代碼實現(xiàn)本文的Web用戶異常行為檢測.在UNSW-NB 15數(shù)據(jù)集[18]和KDD CUP1999數(shù)據(jù)集[19]上實現(xiàn)算法的性能評估任務.UNSW-NB 15數(shù)據(jù)集的原始網(wǎng)絡數(shù)據(jù)包是由澳大利亞網(wǎng)絡安全中心(ACCS)網(wǎng)絡范圍實驗室的IXIA Perfect Storm工具創(chuàng)建的,用于生成真實的現(xiàn)代正常活動和合成的現(xiàn)代攻擊行為的混合.TCPDump工具用于捕獲100 GB的原始流量(例如,Pcap文件).該數(shù)據(jù)集有九種類型的攻擊,即模糊攻擊、分析攻擊、后門攻擊、DoS攻擊、利用攻擊、通用攻擊、偵察攻擊、外殼代碼攻擊和蠕蟲攻擊.使用Argus、bros-ids工具,開發(fā)了12種算法來生成總共49個帶有類標簽的特性.KDD CUP1999數(shù)據(jù)集用于1999年舉行的KDD CUP競賽采用的數(shù)據(jù)集,雖然年代久遠,但KDD99數(shù)據(jù)集是網(wǎng)絡異常檢測領域的基準.

3.2 實驗內(nèi)容

將UNSW-NB 15數(shù)據(jù)集中的一個分區(qū)配置為訓練集和測試集,兩個子集都包含Web用戶正常行為數(shù)據(jù)集和Web用戶異常行為數(shù)據(jù)集.訓練集為UNSW_NB15_training-set.csv,記錄數(shù)為175 341條;測試集為UNSW_NB15_test-set.csv,記錄數(shù)為82 332條.通過將網(wǎng)絡流的標識符與相應的條件標簽相結(jié)合可以跟蹤Web用戶異常行為示例,條件標簽描述前面提到的將記錄分為“異常”或“正?!钡姆诸惣夹g的結(jié)果.

為了評估Web用戶異常行為檢測算法的優(yōu)劣,本文采用混淆矩陣思想進行評價.混淆矩陣是模式識別領域中一種常用的表達形式,它描繪樣本數(shù)據(jù)的真實屬性與識別結(jié)果類型之間的關系,是評價分類器性能的一種常用方法[20].采用2.2中表1混淆矩陣的定義,創(chuàng)建兩個指標:準確率OSR和誤報率FAR,使用這兩個指標來評估分類器.

(12)

(13)

3.3 算法分類性能對比實驗

將F_C4.5算法、C4.5算法、樸素貝葉斯算法(NB)和關聯(lián)規(guī)則挖掘分類算法(Association rule mining method,ARM)分別用于Web用戶異常行為檢測中,基于四種不同的模型在UNSW-NB 15數(shù)據(jù)集訓練得到的數(shù)據(jù)結(jié)果如表2所示,用戶行為特征分類結(jié)果如表3和圖1所示.

表2 混淆矩陣數(shù)據(jù)

表3 算法分類器性能對比

圖1 UNSW-NB 15數(shù)據(jù)集中評價指標的對比

表4 測試數(shù)據(jù)集

表5 算法預測性能對比

實驗結(jié)果對比可以看出,將決策樹算法用于Web用戶異常行為檢測中準確率提高并且誤報率得到了有效降低.與樸素貝葉斯算法(NB)和關聯(lián)規(guī)則挖掘分類算法(ARM)相比,決策樹C4.5算法的準確率達到93.227%,誤報率則是6.773%,較適用于Web用戶異常行為檢測.而本文的F_C4.5算法在C4.5決策樹算法基礎上先將數(shù)據(jù)集進行特征過濾,消除一部分無用數(shù)據(jù)后再進行決策樹模型構(gòu)建,一方面充分利用了決策樹的優(yōu)勢,用戶行為分類效果更優(yōu);另一方面數(shù)據(jù)集的精確度提高,構(gòu)建決策樹的復雜度更低.如表3數(shù)據(jù)所示,準確率達到94.038%,誤報率降低到5.962%,從兩個評價指標來看,將F_C4.5算法用于Web用戶異常行為檢測達到了更好的效果.

3.4 預測新的Web用戶異常行為

為了進一步驗證本文算法的可靠性,使用KDD CUP1999入侵數(shù)據(jù)集中的測試數(shù)據(jù)集corrected.gz進行第二輪測試,實驗將測試集中的Web用戶異常特征分為U2R、DoS、PROBING、R2L,這四類在檢測中都歸為Web用戶異常行為檢測數(shù)據(jù)集.測試數(shù)據(jù)集如表4所示.

用測試集1和測試集2分別對構(gòu)建好的C4.5模型和F_C4.5模型進行檢測.實驗結(jié)果顯示,F(xiàn)_C4.5算法的Web用戶異常行為檢測和Web用戶異常行為檢測的準確率都高于C4.5算法,誤報率低于C4.5算法,由表5的實驗數(shù)據(jù)進一步證明,F(xiàn)_C4.5算法的在Web用戶異常行為的檢測性能優(yōu)于C4.5算法.

4 結(jié)束語

本文在Web用戶異常行為檢測過程中,綜合考慮了復雜度過高對特征提取的影響,將過濾特征選擇的思想和混淆矩陣的理念與C4.5決策樹算法結(jié)合提出一個新的算法F_C4.5算法.過濾特征選擇利用Relief-F算法,在選擇閾值上通過混淆矩陣的理念進行計算,得出優(yōu)化特征子集的搜索范圍,從而降低決策樹構(gòu)架過程中的復雜度.實驗表明在運行性能方面,F(xiàn)_C4.5算法有效降低原始特征集的維數(shù),有效摒除了一部分無用數(shù)據(jù),從而減少了訓練和測試時間的消耗,復雜度降低,對于Web用戶異常行為檢測來說該算法取得了很好的效果,具有更高的分類性能.

猜你喜歡
特征選擇決策樹樣本
用樣本估計總體復習點撥
一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
決策樹和隨機森林方法在管理決策中的應用
電子制作(2018年16期)2018-09-26 03:27:06
推動醫(yī)改的“直銷樣本”
隨機微分方程的樣本Lyapunov二次型估計
Kmeans 應用與特征選擇
電子制作(2017年23期)2017-02-02 07:17:06
基于決策樹的出租車乘客出行目的識別
村企共贏的樣本
聯(lián)合互信息水下目標特征選擇算法
基于肺癌CT的決策樹模型在肺癌診斷中的應用
望都县| 洛川县| 望城县| 湄潭县| 宜都市| 门源| 大洼县| 化州市| 家居| 龙南县| 罗定市| 绿春县| 抚远县| 新宁县| 郯城县| 舟山市| 荥阳市| 长垣县| 宁远县| 黄大仙区| 垣曲县| 定结县| 荣昌县| 汝阳县| 宁河县| 隆安县| 张家口市| 大渡口区| 黑河市| 囊谦县| 海宁市| 高台县| 金寨县| 佛山市| 洪雅县| 西和县| 运城市| 乌拉特前旗| 祁阳县| 北碚区| 名山县|