覃偉榮+王寧
摘 要: 針對現(xiàn)有的數(shù)據(jù)流異常檢測算法的不足,提出一種基于隨機空間樹的數(shù)據(jù)流異常檢測算法。首先,采取統(tǒng)計策略對數(shù)據(jù)流特征范圍進行估計,分割得到多棵隨機空間樹(RS?Tree),形成RS森林(RS?Forest)。然后,RS?Forest采用單窗口策略對數(shù)據(jù)流進行處理,通過打分和模型更新來實現(xiàn)異常檢測。針對實例落入的樹節(jié)點,定義分段恒定密度,求取密度估計值相對于森林中所有樹的平均值,并將其作為數(shù)據(jù)流中每個新來實例的得分。利用相對于森林中所有樹的平均得分對每個新來實例進行排序。窗口滿后則采用對偶式節(jié)點剖度技術(shù)進行模型更新,并利用采集的節(jié)點尺寸信息對下一輪到達窗口的數(shù)據(jù)進行打分。利用多種基準數(shù)據(jù)集進行仿真實驗,結(jié)果表明RS?Forest算法在大部分數(shù)據(jù)集下的AUC得分和運行時間性能均優(yōu)于當前其他基準算法。
關(guān)鍵詞: 數(shù)據(jù)流; 異常檢測; 隨機空間樹; 單窗口策略; AUC得分; 運行時間
中圖分類號: TN915.08?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2017)19?0056?06
A data stream anomaly detection algorithm based on randomized space tree
QIN Weirong1, WANG Ning2
(1. School of Electronics and Information Engineering, Qinzhou University, Qinzhou 535000, China;
2. School of Information Engineering, Zhengzhou University, Zhengzhou 450001, China)
Abstract: Aiming at the shortcomings of the available data stream anomaly detection algorithms, a data stream anomaly detection algorithm based on randomized space tree (RS?Tree) is proposed. The statistical strategy is adopted to estimate the characteristic range of data stream, by which several randomized space trees are obtained by means of segmentation to form RS?Forest. The single window policy is used by RS?Forest to process the data stream, and realize anomaly detection by means of scoring and model updating. According to the tree node that an instance falls in, the piecewise constant density is defined to get the average value of the density estimation values relative to all the trees in forest, which is taken as the score of each new instance in data stream. The average score of all the trees relative to forest is employed to sort each new instance. When the windows are occupied, the antithetic node dissection technology is used to update the model, and the acquired node size information is used to mark the data arriving at the window in the next round. The simulation experiments were carried out with variety of benchmark datasets. Its results show that the AUC scoring and run time performance of RS?Forest algorithm for most datasets are superior to those of other benchmark algorithms.
Keywords: data stream; anomaly detection; randomized space tree; single window policy; AUC scoring; run time
0 引 言
異?;螂x群點是指與正常點或預期點不吻合或偏離正常點的罕見事件或罕見點。對于軍事偵查、網(wǎng)絡安全管理、工業(yè)系統(tǒng)監(jiān)控等眾多領(lǐng)域,如果不能立即檢測出這些異常事件,便有可能造成嚴重后果。隨著近些年硬件技術(shù)的迅速發(fā)展,上述領(lǐng)域的持續(xù)性數(shù)據(jù)采集能力獲得顯著提升,采集到的大部分數(shù)據(jù)不再是有限的或靜態(tài)數(shù)據(jù),而是無限制的大容量高速實時數(shù)據(jù),稱其為數(shù)據(jù)流。
異常檢測一直是數(shù)據(jù)挖掘領(lǐng)域的研究熱點[1?3]。然而,數(shù)據(jù)流的內(nèi)在特點對當前大部分異常檢測技術(shù)(如HSTa[4],LOADED[5],Hoeffding Trees(HT)[6]以及BoostHT[7]等)構(gòu)成嚴重挑戰(zhàn)。首先,數(shù)據(jù)流的生成速度前所未有,因此需要迅速處理。這便要求檢測模型的更新速度快于數(shù)據(jù)率,而且檢測器必須能夠適應數(shù)據(jù)流信息生成速度較快這一特點。其次,傳統(tǒng)的異常檢測算法[8?9]在構(gòu)建模型時需要將數(shù)據(jù)保存于內(nèi)存中。由于數(shù)據(jù)流的數(shù)據(jù)量極大,容易將內(nèi)存耗盡,所以傳統(tǒng)方法將會失效。再次,對數(shù)據(jù)流來說,無論是正常事件還是異常事件均處于不斷變化之中,容易使利用老舊數(shù)據(jù)學習而得到的檢測模型過時。因此,檢測算法應該能夠適應于正常行為隨時間不斷變化這一特點。最后,實踐中數(shù)據(jù)流的異常實例非常罕見,甚至無法獲得。這就要求異常檢測技術(shù)即使只利用正常事件進行訓練,也應該能夠準確地檢測出可疑行為。針對以上方法的不足,本文提出一種基于隨機空間樹(Randomized Space Tree,RS?Tree)的數(shù)據(jù)流異常檢測算法,并通過理論分析和仿真實驗驗證了該算法的有效性。
1 本文算法
1.1 基本定義
定義1:隨機空間樹,它是一種完全二叉樹,可通過隨機選擇一種屬性及被選屬性的割點來構(gòu)建。
深度為[HH≥0]的RS?Tree共有[2H+1-1]個節(jié)點,其中葉節(jié)點的深度均為[H]。RS?Tree起源于隨機決策樹[10],不用數(shù)據(jù)便可構(gòu)建出樹結(jié)構(gòu)。在構(gòu)建RS?Tree時,算法不斷從特征集中選擇一種屬性,然后隨機確定這種屬性的分割點來實現(xiàn)樹的分割,直至到達樹深[H]。
定義2:RS?Tree中的節(jié)點剖度,已知數(shù)據(jù)樣本后,該節(jié)點表示相應區(qū)域中落入的實例數(shù)量。
定義3:基于隨機空間樹[T]的分段恒定密度估計,其表達式為:
[fx;T=?x,TNV?x,T] (1)
式中:[?x,T]表示終止節(jié)點;[?]表示節(jié)點尺寸或節(jié)點剖度;[V?]為節(jié)點所表示的超矩形的容積。在RS?Tree中,終止節(jié)點是指用于密度估計的節(jié)點,它可為葉節(jié)點,或者是首個滿足節(jié)點尺寸約束(即小于等于)的節(jié)點。
定義4:基于RS森林[F]的密度估計,其表達式為:
[fx;F=1Mt=1Mfx;Tt] (2)
式中:[fx;Tt]表示第[t]棵樹的密度估計;[M]表示RS樹的數(shù)量。
1.2 RS樹的構(gòu)建
(1) 樹節(jié)點的初始化。深度為[H]的RS樹包含[2H+1-1]個節(jié)點。在部署時,每個節(jié)點包含如下元素:
① 變量[ml]和[mr],用于交替記錄預測模型或窗口內(nèi)數(shù)據(jù)流的節(jié)點剖度;
② 3個節(jié)點指針,分別指向當前節(jié)點的左子節(jié)點,右子節(jié)點及母節(jié)點;
③ 變量[v,]用于存儲當前節(jié)點容積與整個特征空間容積之比的對數(shù)。
(2) 屬性范圍估計。確定每個屬性的正確范圍是構(gòu)建RS樹結(jié)構(gòu)的重要步驟。如果范圍過緊(比如從數(shù)據(jù)樣本中直接確定的范圍),則無法適應整個數(shù)據(jù)流的潛在變化。另一方面,如果范圍過寬,則會引入不必要的噪聲及沒有意義的空間分割。因此,本文采用如下的統(tǒng)計策略來估計每個屬性的合理范圍:首先,針對屬性[i]的均值,計算90%的最高后驗密度(Highest Posterior Density,HPD)置信區(qū)間[LMi,UMi]。然后,根據(jù)[3σ]準則擴大上述置信區(qū)間。即將下界設(shè)置為[LBi=LMi-3σ,]將上界設(shè)置為[UBi=UMi+3σ,]其中[σ]表示屬性[i]的標準差。這種方式生成的下界和上界值(即LB和UB)作為算法1的輸入,進而生成單個RS樹的結(jié)構(gòu)。
算法1 BuildRS?TreeStructure[LBs,UBs,e,H]
輸入:[LBsUBs]:屬性的下(上)界列表,
[e:]當前樹的深度,[H:]樹深界限;
輸出:一棵RS樹
1:if [e≥H] then
2: Return [leaf(ml←0,mr←0)];
3:else
4: 對非葉節(jié)點[root]初始化;
5: 隨機選擇一個屬性[q∈Q];
6: 在0~1之間隨機選擇一個數(shù)[r];
7: 割點[p=LBsq+r?UBsq-LBsq];
8: [t←UBsq];[UBsq←p];
9: left[←]BuildTreeStructure[LBs,UBs,e+1,H];
10: [left.v←r];[left.parent←root];
11: [UBsq←t];[LBsq←p];
12: [right←]BuildTreeStructure[LBs,UBs,e+1,H];
13: [right.v←1-r];[right.parent←root];
14: return
[root(leftChild←left,rightChild←right,splitAtt←q,cutPoint←p,][ml←0,mr←0)]
15:end if
(3)節(jié)點容積的計算。節(jié)點容積的計算對RS樹的密度估計具有重要作用。只要RS樹構(gòu)建完畢,每個節(jié)點的容積便已固定。RS樹可對空間[Ω]進行分割。每個節(jié)點表示有[2d]個不等式([eTx 引理1 設(shè)[δij]表示形成由節(jié)點[i]表示的超矩形時屬性[j]的長度,有[δij=ljk=1hijrijk,]其中[lj]表示屬性[j]的長度,[rijk∈0,1]表示屬性[j]第[k]個分支在從根節(jié)點到節(jié)點[i]路徑上隨機選擇的數(shù)值,[hij]表示屬性[j]在從根節(jié)點到節(jié)點[i]路徑上進行分割的分支總量,且[k=10rijk=1]。 引理2 [Vi]表示由節(jié)點[i]表示的超矩形區(qū)域的容積,于是有[Vi=V?k=1hirik,]其中[rik∈0,1,]表示內(nèi)部節(jié)點在從根節(jié)點到節(jié)點[i]的路徑上隨機選擇的數(shù)值,[V=j=1dlj,][hi=j=1dhij]且[k=10rik=1]。 限于篇幅,證明過程略。上述引理表明,利用內(nèi)部節(jié)點在從根節(jié)點到節(jié)點[i]的路徑上隨機選擇的數(shù)值,可計算出節(jié)點[i]的容積。為了計算出節(jié)點容積,只需記錄構(gòu)建RS樹時隨機選擇的這些數(shù)值即可。算法2給出了部署詳情。 算法2 ComputeNodeVolRatio (T) 1:對隊列node_queue初始化; 2:nodeQueue.Enqueue(T);
3:while ! nodeQueue.empty() do
4: curNode ← nodeQueue.Dequeue();
5: parentNode ← curNode.parent;
6: if parentNode is NULL then
7: curNode.v ← 0;
8: else
9: curNode.v ← parentNode.v+ log(curNode.v);
10: end if
11: if curNode為內(nèi)部節(jié)點 then
12: nodeQueue.Enqueue(curNode.leftChild);
13: nodeQueue.Enqueue(curNode.rightChild);
14: end if
15:end while
1.3 數(shù)據(jù)流異常檢測算法(RS?Forest)
本文提出的數(shù)據(jù)流異常檢測算法是利用多棵RS樹形成RS?Forest,然后RS?Forest對數(shù)據(jù)流采用單窗口策略對新到達實例進行打分,并與一種周期性快速更新模型方法相結(jié)合。算法在具體部署時,需要將數(shù)據(jù)流分割為多個窗口。每個窗口的尺寸可以相同,也可以不同,具體視應用要求而定。算法在運行時只針對一個窗口,該窗口稱為最新窗口。在異常檢測方法的初始階段,系統(tǒng)在構(gòu)建樹(模型)結(jié)構(gòu)的同時,利用正常數(shù)據(jù)樣本記錄節(jié)點剖度。然后,系統(tǒng)對最新窗口內(nèi)的新來實例進行打分,同時記錄從這些實例中獲得的節(jié)點剖度。窗口滿后,觸發(fā)模型更新過程,利用對偶節(jié)點剖度實現(xiàn)快速模型更新。模型更新完畢后,刪除原來的節(jié)點剖度,將最新窗口清空,為新來數(shù)據(jù)做好準備。上述過程一直持續(xù)至數(shù)據(jù)流結(jié)束為止。
根據(jù)RS森林的密度估計對新來實例[x]進行打分。一個實例的密度越低,該實例異常的程度越高。結(jié)合定義3和定義4,可將[x]的異常得分定義如下:
[1Mt=1M?x,TtNV?x,Tt] (3)
利用引理2,可將式(3)重寫為:
[1MVt=1MScorex,Tt] (4)
式中:[Scorex,Tt=explog?x,Tt-?x,Tt?v-logN;][V=j=1dlj]。在實踐中,由于[M]和[V]為常數(shù),所以在對異常排序時只需利用[t=1MScorex,Tt]即可。為了避免計算時出現(xiàn)下溢現(xiàn)象,對數(shù)值采用對數(shù)標度。
算法3 StreamingRS?Forest[X,M,H,ψ,ζ]
輸入:[M]:RS樹的數(shù)量;[H]:樹深界限;[ψ]:窗口大小;[ζ]:節(jié)點尺寸界限
輸出:[s]:每個新來實例[x]的異常得分;
1:[F=BuildForestX,M,H];
2:利用[X]對[F]中每個RS樹的節(jié)點剖度[ml]進行更新;
3:[B←];
4:[LR←False];
5: while 數(shù)據(jù)流持續(xù) do
6: 接收到新的數(shù)據(jù)點[x:b.X=x],[b.nodeList=];
7: [s←0]
8: for [F]中的每個樹[T] do //預測階段
9: [s←s+Scorex,T];
10: [b.nodeList.Enqueue][?x,T];
11: end for
12: [B.Enqueue(b)];
13: 給出數(shù)據(jù)點[x]的異常得分[s];
14: if [B==ψ] then //模型更新階段
15: UpdateModel[F,B,LR,ζ];
16: [LR←!LR];
17: [B.clear];
18: 對[F]中每個樹[T]的非零節(jié)點,[LR?node.ml←0:]
[node.mr←0];
19: end if
20: end while
算法3給出了數(shù)據(jù)流RS?Forest方法的詳情。第1行負責對RS?Forest初始化。在初始化時(算法4),obtainRange([X])的作用是利用樣本[X]獲得每個屬性[qi]的范圍估計值。[X]既可以是正常實例樣本,也可以是數(shù)據(jù)流的前[ψ]個正常實例。算法在對節(jié)點剖度初始化的同時,構(gòu)建每個RS樹的結(jié)構(gòu)。算法3的第2行利用[X]更新森林中每個樹的節(jié)點剖度[ml]。在本文模型中,估計(或打分)步驟與模型更新步驟交替進行。在整個運行期間,每個樹的結(jié)構(gòu)保持不變,數(shù)據(jù)打分后獲得的節(jié)點剖度可用于下一輪的模型更新。因此,這兩個步驟有部分操作重合。于是,采用一種對偶式節(jié)點剖度技術(shù)來保存預測階段已經(jīng)執(zhí)行過、模型更新階段同樣需要執(zhí)行的相同操作。具體來說,交替使用節(jié)點剖度[ml]和[mr]來存儲當前模型(用于存儲新來數(shù)據(jù))的節(jié)點剖度,以及從最新窗口內(nèi)新來數(shù)據(jù)獲得的節(jié)點剖度(用于下一輪更新模型)。[ψ]個數(shù)據(jù)點處理過后,[ml]和[mr]的角色變化,并利用變量LR作為這一變化的標志。
算法4 BuildForest[X,M,H]
1:[LBs,UBs=obtainRange(X)];
2:初始化:[F=]
3:for [t=1]to[M] do
4: [T=BuildTreeStructureLBs,UBs,0,H];
5: ComputeNodeVol[T];
6: [F=F?T];
7: end for
8:return [F]
如上文所示,模型更新是RS?Forest方法的關(guān)鍵步驟之一,模型更新的內(nèi)容見算法5??傮w來說,模型更新算法分為兩部分:第一部分針對異常實例(第3~9行),另一部分針對正常實例(第10~19行)。在異常實例部分,通過沿著從終止節(jié)點到根節(jié)點的路徑使所有節(jié)點的剖度下降1來更新各個RS樹。在正常實例部分,如果終止節(jié)點不是葉節(jié)點且節(jié)點尺寸約束未被滿足,則通過沿著從終止節(jié)點到葉節(jié)點(或滿足節(jié)點尺寸約束的首個節(jié)點)的路徑使所有節(jié)點的剖度上升1來更新各個RS樹。此時,[NextChildchild,x]表示[x]落入的下個子節(jié)點。
算法5 UpdateModel[F,B,LR,ζ]
輸入:[F]:RS森林;[B]:每個實例的緩沖;LR:關(guān)于哪個剖度將被更新的指示器;[ζ]:節(jié)點尺寸界限
輸出:無
1: 根據(jù)標簽信息將[B]分割為[N]和[A];//[NA]包含最新窗口內(nèi)正常(異常)實例的相關(guān)信息;
2: for [i=1]to[M]do
3: for [A]中[nodeList]列表的每個[x] do
4: [ancestor=nodeList[i]];
5: while (不存在ancestor) do
6: [LR?ancestor.ml--:ancestor.mr--];
7: [ancestor←ancestor.parent];
8: end while
9: end for
10: for [N]中[nodeList]列表的每個[x] do
11: [LR?n=nodeList[i].ml:n=nodeList[i].mr];
12: if [n>ζ]&&[nodeList[i]]不是葉節(jié)點 then
13: [Child=NextChild(child,x)];
14: while [child]不為空 do
15: [LR?child.ml++:child.mr++];
16: [child=NextChild(child,x)];
17: end while
18: end if
19: end for
20: end for
2 理論分析
2.1 范圍估計的可靠性
數(shù)據(jù)流的各個屬性的范圍是構(gòu)建RS樹結(jié)構(gòu)的重要輸入之一。如果RS樹構(gòu)建于[d]維空間且該[d]維空間的邊界即為屬性范圍,則RS樹需要適應整個待學習數(shù)據(jù)流的潛在特征變化。因此,引入如下定理來分析本文采用的范圍估計策略的可靠性。
定理1 當分布未知時,有:
[pL 式中:[Z]表示隨機變量;[L]和[U]為常量,[L<μσ2,][μ]是均值;[σ2]是方差。 上述定理為變量均值滿足[μ-LU-μ>σ2]條件的范圍提供了概率保證。此時,變量可服從任何分布。在本文算法中定義屬性的范圍為[LMi-3σ,UMi+3σ]。對于正態(tài)分布,均值的90% HPD置信區(qū)間大約為[μ-1.645σ,μ+1.645σ。]在本文中,[L=μ-4.645σ, U=μ+][4.645σ。]根據(jù)[3σ]準則,[pμ-4.645σ 2.2 復雜度分析 本文提出的數(shù)據(jù)流異常檢測算法的主循環(huán)涉及三大操作(如算法3所示),分別是第9行的預測或打分,第15行的模型更新,以及第18行的節(jié)點剖度重置。在基于當前模型的預測步驟中,每個實例均需對各個樹中從根節(jié)點到終止節(jié)點的所有節(jié)點進行遍歷。在模型更新時,針對各個異常實例或正常實例采取兩種不同步驟。因為異常實例比較罕見,所以對于每個實例而言,用于打分和模型更新的時間應該相等,或低于[MH。]于是,最壞情況下的運行時間為[OnMH],其中[n]表示數(shù)據(jù)流中數(shù)據(jù)點的數(shù)量。每次觸發(fā)模型更新步驟時,節(jié)點剖度重置最多在[M?2H+1]時間內(nèi)完成,所以其最差運行時間為[OnψM?2H+1]??紤]到運行期間[M,][H]和[ψ]固定,所以可以將數(shù)據(jù)流RS森林方法的最差復雜度看成[On]。 對于空間復雜度,RS?Forest本身占據(jù)空間[OM2H]。最新窗口內(nèi)的數(shù)據(jù)緩存[B]最多占用[OψM]。因為[ψ]和[M]均是常數(shù)且數(shù)值較小,所以占用的空間可以忽略。因此,空間復雜度為[O2H]。在運行期間,[H]固定,于是數(shù)據(jù)流RS森林方法的內(nèi)存消耗量恒定。 3 仿真實驗 3.1 實驗設(shè)置 利用如表1所示的6種合成基準數(shù)據(jù)集 [11?12]和7種真實基準數(shù)據(jù)集[4,13]作為測試對象,將本文提出的RS?Forest方法與如下基準方法:HSTa[4],LOADED[5],Hoeffding Trees(HT)[6]及基于HT的在線協(xié)作加速算法(BoostHT)進行性能比較。利用機器學習和數(shù)據(jù)挖掘中最為常見的AUC(ROC曲線下的面積) [14]作為各種算法的評估指標。每個算法對各個數(shù)據(jù)集單獨運行30次,然后取平均值作為最終結(jié)果。所有實驗的實驗平臺均為2.6 GHz Intel Core i7 MacBook Pro,8 GB內(nèi)存。 表1 基準數(shù)據(jù)集 3.2 實驗結(jié)果
表2給出了各種算法對各個基準數(shù)據(jù)集的平均AUC面積。很顯然,從統(tǒng)計學角度講,RS?Forest方法對大部分數(shù)據(jù)集表現(xiàn)出來的性能均優(yōu)于其他算法。根據(jù)置信度為95%的成對[t]檢驗,RS?Forest與HSTa,LOADED,HT和BoostHT的成對win?loss?tie統(tǒng)計數(shù)據(jù)分別為10?0?3,10?3?0,13?0?0,11?1?1。這是因為本文方法對數(shù)據(jù)流的異常檢測效果更優(yōu)。HSTa無疑也是一種高性能檢測算法,對所有數(shù)據(jù)的AUC平均值在各種算法中排名第二。BoostHT對大部分真實數(shù)據(jù)集也展現(xiàn)出優(yōu)異性能,但它對Syn_cond和Syn_dual等合成數(shù)據(jù)集的AUC得分要低于HT算法。BoostHT算法的性能出現(xiàn)下降,表明有條件類別分布發(fā)生變化時BoostHT很容易發(fā)生過擬合。LOADED和HT是兩種單模型算法,在AUC面積方面的排名墊底。與BoostHT不同,LOADED對服從高斯分布的多個合成數(shù)據(jù)集展現(xiàn)出優(yōu)異性能。這是因為LOADED的模型假設(shè)非常嚴格。
圖1給出了不同算法在3種數(shù)據(jù)集的數(shù)據(jù)流發(fā)生變化時的AUC性能比較??傮w來說,隨著時間的推進以及各個數(shù)據(jù)流的演變,RS?Forest方法對Mulcross和HyperP1數(shù)據(jù)集的AUC面積總是優(yōu)于HSTa和BoostHT。不同算法在Covertype數(shù)據(jù)集上的性能波動較大。具體來說,當異常實例發(fā)生于Covertype演變過程的中間階段時(用虛線表示),RS?Forest和HSTa的性能趨于下降,而BoostHT的性能迅速上升。HSTa的下降趨勢大于RS?Forest方法。
(HT)必須計算Hoeffding才能確定分割樹的最佳屬性,因此消耗的時間最多。HSTa的運行速度快于BoostHT,但其平均運行時間仍然是RS?Forest方法的5倍左右。RS?Forest方法中的數(shù)據(jù)結(jié)構(gòu)與HSTa類似。然而,與HSTa不同的是,RS?Forest方法從預測過程和模型更新過程的共同操作入手,進一步降低了模型更新時間。因此,RS?Forest方法的運行時間在各種算法中是最低的,甚至還要低于單模型方法。
4 結(jié) 語
本文提出一種新的數(shù)據(jù)流異常檢測算法RS?Forest。該算法滿足了持續(xù)演變數(shù)據(jù)流對異常檢測算法的關(guān)鍵要求:
(1) 該算法為一次通過型檢測算法,具有恒定的空間復雜度和線性時間復雜度;
(2) 該算法作為一種極具多樣性的系統(tǒng)算法,作用于統(tǒng)計估計特征空間,可提供較高的概率保證,對漂移概念具有顯著效果;
(3) 采用一種對偶節(jié)點剖度技術(shù),響應時間極快;
(4) 訓練時只需要正常實例即可,可實現(xiàn)高效有序的異常檢測和模型更新。
另外,還進行了嚴格的理論分析,為本文算法提供了堅實的理論基礎(chǔ)?;诙鄠€基準數(shù)據(jù)集的實驗仿真評估結(jié)果表明,與當前其他最新算法相比,RS?Forest方法的AUC得分較高,運行時間較短。下一步的主要工作包括:對RS?Forest方法適當改進后,適用于部分數(shù)據(jù)丟失的混合特征空間;在保持檢測率的同時降低算法的空間消耗。
參考文獻
[1] 彭勇,向憧,張淼,等.工業(yè)控制系統(tǒng)場景指紋及異常檢測[J].清華大學學報(自然科學版),2016,56(1):14?21.
[2] 嚴英杰,盛戈皞,陳玉峰,等.基于大數(shù)據(jù)分析的輸變電設(shè)備狀態(tài)數(shù)據(jù)異常檢測方法[J].中國電機工程學報,2015,35(1):52?59.
[3] 蔡瑞初,謝偉浩,郝志峰,等.基于多尺度時間遞歸神經(jīng)網(wǎng)絡的人群異常檢測[J].軟件學報,2015,26(11):2884?2896.
[4] TAN S C, TING K M, LIU T F. Fast anomaly detection for streaming data [C]// Proceedings of 2011 International Joint Conference on Artificial Intelligence. Barcelona, Spain: IEEE, 2011: 1511?1516.
[5] GHOTING A, OTEY M E, PARTHASARATHY S. LOADED: link?basedoutlier and anomaly detection in evolving data sets [C]// Proceedings of the 4th IEEE International Conference on Data Mining. Orlando, USA: IEEE, 2014: 387?390.
[6] DOMINGOS P, HULTEN G. Mining high?speed data streams [C]// Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Washington, DC, USA: ACM, 2010: 71?80.
[7] BIFET A, HOLMES G, PFAHRINGER B, et al. New ensemble methods for evolving data streams [C]// Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Paris, France: ACM, 2009: 139?148.
[8] NIKOLOVA E, JECHEVA V. Some similarity coefficients and application of data mining techniques to the anomaly?based IDS [J]. Telecommunication systems, 2012, 50(2): 127?135.
[9] DHAKAR M, TIWARI A. A novel data mining based hybrid intrusion detection framework [J]. Journal of information and computing science, 2014, 9(1): 37?48.
[10] ZHANG K, FAN W. Forecasting skewed biased stochastic ozone days: analyses, solutions and beyond [J]. Knowledge and information systems, 2008, 14(3): 299?326.
[11] FILZMOSER P. Identification of multivariate outliers: a performance study [J]. Austrian journal of statistics, 2016, 34(2): 127?138.
[12] WU K, EDWARDS A, FAN W, et al. Classifying imba?lanced data streams via dynamic feature group weighting with importance sampling [C]// Proceedings of 2014 SIAM International Conference on Data Mining (SDM). Philadelphia, USA: SIAM, 2014: 722?730.
[13] DITZLER G, POLIKAR R. Incremental learning of concept drift from streaming imbalanced data [J]. IEEE transactions on knowledge and data engineering, 2013, 25(10): 2283?2301.
[14] HUANG J, LING C X. Using AUC and accuracy in evalua?ting learning algorithms [J]. IEEE transactions on knowledge and data engineering, 2005, 17(3): 299?310.