本發明涉及機器學習與數據流處理,具體的是一種具有概念漂移檢測功能的集成學習分類方法及系統。
背景技術:
1、在實際應用中,網絡流量數據會隨時間不斷變化,攻擊模式可能出現新的變化,導致原有模型的失效或過時。這種現象被稱為概念漂移(concept?drift),即隨著時間推移,數據分布發生了顯著變化,模型需要進行實時更新以保持準確性。針對概念漂移問題,傳統的靜態模型不能及時響應,需要通過新的方法來動態調整模型的學習過程。網絡流量數據的概念漂移特別明顯,尤其是在一些大型網絡環境中,攻擊者不斷創新攻擊手段,導致模型頻繁失效,因此,研究如何有效地檢測和應對概念漂移成為當今網絡安全領域的一個關鍵問題。
技術實現思路
1、為解決上述背景技術中提到的不足,本發明的目的在于提供一種具有概念漂移檢測功能的集成學習分類方法及系統。
2、第一方面,本發明的目的可以通過以下技術方案實現:一種具有概念漂移檢測功能的集成學習分類方法,方法包括以下步驟:
3、獲取可擴展的滑動窗口的高維數據,采用主成分分析pca對可擴展的滑動窗口的高維數據進行降維,提取得到關鍵特征數據;
4、基于自適應窗口kolmogorov-smirnov預警檢測方法對關鍵特征數據進行實時監測,判斷是否發生概念漂移,若發生概念漂移,則獲取發生概念漂移時的自適應窗口的原始數據,并自動擴展自適應窗口,若未發生概念漂移,自適應窗口進行正常滑動;
5、將發生概念漂移時的自適應窗口的原始數據輸入至預先建立的基于集成hoeffding樹的學習模型,得到訓練后的基于集成hoeffding樹的學習模型,基于訓練后的基于集成hoeffding樹的學習模型進行數據流的實時分類。
6、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述預先建立的基于集成hoeffding樹的學習模型通過基于主樹與多子樹架構進行集成,其中,主樹使用完整指標集訓練確保全局特征覆蓋,子樹通過隨機選擇部分指標維度生成差異化分類器,主樹與多子樹均基于基尼增益差值與hoeffding邊界動態判斷節點分裂,更新樹結構以捕捉特征分布變化。
7、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述集成hoeffding樹的初始化過程:
8、建立一個由k棵空決策樹t1,t2,…,tk組成的模型,其中t1為全部指標訓練的整樹,t2~tk為部分指標訓練的子樹,完整樹t1使用完整指標集進行訓練;t2~tk子樹隨機選擇個指標,為確保每個指標在t2~tk中都能被至少選中一次,設置目標指標覆蓋概率,通過指標覆蓋的概率公式可以推導出所需的最少子樹數量,步驟如下:
9、單棵子樹的指標覆蓋情況,某個指標在單棵子樹中未被選中的概率,如公式(1)所示:
10、???????????????????????????????????(1)
11、多棵子樹的覆蓋情況,設有棵子樹,在棵子樹中,某個指標都未被選中的概率,如公式(2)所示:
12、???????????????????????????????????(2)
13、在棵子樹中某個指標至少被選中一次的概率表示為公式(3),代入公式(2),得到公式(4)如下:
14、????????????????????????????????(3)
15、???????????????????????(4)
16、在目標指標覆蓋概率取值為預設值的情況下,計算出滿足某個指標在t2~tk中至少被選中一次的條件,同時最小化計算資源所需的子樹數量。
17、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述預先構建的基于集成hoeffding樹的學習模型,確定其中每棵樹的葉節點的最佳區域劃分方式,步驟如下:
18、遍歷指標變量:設當前節點樣本為s,指標變量集為,依次遍歷每個指標變量,其中,;
19、生成候選切分點:對于每個指標變量,將指標變量包含的所有指標值從小到大排序,記為,候選切分點集合為所有相鄰指標值的中值,候選切分點表示為,如公式(5)所示:
20、????????????????????????????(5)
21、其中代表指標變量排序后集合中的第個指標值,表示該指標變量所有指標值的個數,為候選切分點的索引,取值范圍是1到;
22、計算切分點對應的劃分效果:對每個候選切分點,將當前節點樣本s切分為兩個子區域,如公式(6)所示:
23、????????????????????????????(6)
24、其中、為劃分后的左、右子集,s是樣本集s中的一條數據實例,為樣本實例s在指標變量上的具體取值;
25、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述候選切分點的最優選擇過程:
26、通過基尼系數量化節點的純度,對于節點,其基尼系數定義如公式(7)所示:
27、??????????????????????????????(7)
28、其中為分類的類別總數,為節點中類別的樣本比例,為基尼系數;
29、遍歷每個指標變量的所有候選切分點,計算各切分點下分裂后的基尼增益,基尼增益的計算公式如(8)所示:
30、????????????(8)
31、其中為分裂前父節點的基尼系數,表示父節點的樣本純度,、為分裂后左右子節點的基尼系數,分別表示左右子節點的樣本純度,、為左右子節點的樣本數量,為父節點的總樣本數量;
32、選取基尼增益值最大的候選切分點作為當前最優切分點,并記錄次優切分點的基尼增益值,計算兩者基尼增益差值以驗證切分顯著性,如公式(9)所示:
33、???????????????????????????????(9)
34、其中是最優切分點的基尼增益,是次優切分點的基尼增益,是兩個切分點之間的基尼增益差;
35、為確保基尼增益差值的統計顯著性,引入hoeffding邊界作為置信度約束條件,可表示為(10):
36、???????????????????????????????????????(10)
37、其中為樣本數,為檢測閾值,為變量的取值范圍長度;
38、如果基尼增益差,則認為最優切分點顯著優于次優切分點,接受最優切分點進行樹的分裂;如果基尼增益差,則說明當前樣本不足以證明切分點顯著性,需數據積累后重新評估;
39、對于新生成的子節點,重復執行最優切分點選擇過程,直至所有節點滿足停止分裂的條件。
40、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述集成hoeffding樹聯合決策過程:
41、基于預先建立的集成hoeffding樹模型,當數據流輸入模型進行預測時,綜合主樹t1與子樹t2~tk的預測結果,通過動態加權投票機制生成最終分類結果;
42、決策窗口初始化:采用滑動窗口q量化子樹t2~tk的歷史決策可靠性,設定滑動窗口容量為,初始狀態填充全1值,假設子樹t2~tk初始決策正確;
43、窗口更新規則:每當新樣本輸入時,子樹t2~tk對該樣本進行加權投票預測,若預測正確,向滑動窗口最新位填充1,否則填充0,其中子樹t2~tk正確預測標記為1,錯誤預測標記為0;
44、可信度計算:當數據流到達時,統計窗口內子樹t2~tk做出正確決策的總和,可表示為公式(11):
45、???????????????????????????????(11)
46、其中表示滑動窗口q中存儲的第個決策值;
47、聯合決策:將與預設閾值比較;
48、若,判定子樹t2~tk決策可信,采用多數投票策略融合主樹t1與子樹t2~tk的預測結果;
49、若,僅采用主樹t1的輸出作為最終分類結果。
50、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述采用主成分分析pca對可擴展的滑動窗口的高維數據進行降維過程:
51、所提出的主成分分析pca數據降維操作需要創建兩個滑動窗口:固定容量歷史窗口l及可動態擴展的自適應窗口r,其中l的初始容量為cl,r的初始容量為cr且設最大擴展上限rmax,分別對歷史窗口l和自適應窗口r進行降維操作;
52、標準化數據,首先,對窗口數據進行標準化處理,如公式(12)所示:
53、??????????????????????????????????????(12)
54、其中為原始數據,為指標的均值,為指標的標準差,為標準化后的數據;
55、計算協方差矩陣,計算標準化數據的協方差矩陣,協方差矩陣表示數據中各指標之間的相關性,如公式(13)所示:
56、?????????????????????????????????????(13)
57、其中,為窗口中的樣本數量,為的轉置矩陣;
58、通過求解協方差矩陣的特征值和對應的特征向量,獲取數據的主成分方向,特征值表示主成分的方差,特征向量表示主成分的方向,根據特征值降序排列,選取前個最大特征值對應的特征向量,其中特征值大的主成分表示數據的原始信息量占比大,計算每個主成分的方差貢獻率,如公式(14)所示:
59、????????????????????????????????????????(14)
60、其中,是排序后第個主成分的特征值,是選取的主成分數量;
61、投影數據,將選中的個特征向量按列排列成轉換矩陣,將標準化后的數據投影到選中的主成分上,如公式(15)所示:
62、??????????????????????????????????(15)
63、其中,是降維后的數據。
64、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述基于自適應窗口kolmogorov-smirnov預警檢測方法的使用過程如下:
65、對于降維后的數據,分別提取歷史窗口和自適應窗口的第維數據進行kolmogorov-smirnov檢驗,如公式(16)所示:
66、??????????????????????????(16)
67、其中,為歷史窗口降維后的數據矩陣,為自適應窗口降維后的數據矩陣,為歷史窗口在第個主成分上的數據,為自適應窗口在第個主成分上的數據;
68、kolmogorov-smirnov檢驗過程如下:
69、建立零假設h0:設兩樣本之間不存在差異,來自同一分布;
70、計算累積分布函數:對于每個維度,分別計算、的累積分布函數、,累積分布函數描述的是一個隨機變量小于等于預設特定值的概率,即,設樣本數據集中的樣本都是獨立和隨機的,則累積分布函數表示為公式(17):
71、????????????????????????????(17)
72、其中,為指示函數,如公式(18):
73、?????????????????????????(18)
74、計算kolmogorov-smirnov統計量,表示為和累積分布函數之間的最大垂直距離,為兩個分布的最大差異,如公式(19)所示:
75、???????????????????(19)
76、定義顯著性水平,并計算值,將數據分布之間的最大差異轉換為值,式(20)為計算的表達式:
77、????????????????????????????????????(20)
78、其中是有效樣本數量,即,是中的樣本數量,是中的樣本數量;
79、加權值:根據每個主成分的方差貢獻率,對值進行加權計算,獲得全局的漂移顯著性分數,如公式(21)所示。
80、???????????????????????????????(21)
81、結合第一方面,在第一方面的某些實現方式中,該方法還包括:所述基于自適應窗口kolmogorov-smirnov預警檢測方法對關鍵特征數據進行實時監測的過程如下:
82、對提取的關鍵特征數據的個維度,分別計算累積分布函數差異的統計量及對應的值,再根據每個主成分的方差貢獻率加權得到全局漂移顯著性分數,設定顯著性水平作為概念漂移判定閾值,并定義預警閾值;
83、若,認為發生了數據概念漂移,系統將清除歷史窗口數據,并使用自適應窗口數據重新訓練集成hoeffding樹模型;
84、若,則認為發生了漂移預警,系統自動進入彈性緩沖階段,動態擴展自適應窗口以積累潛在漂移樣本;
85、若,則認為未發生漂移,繼續滑動窗口更新數據。
86、第二方面,為了達到上述目的,本發明公開了一種具有概念漂移檢測功能的集成學習分類系統,包括:
87、數據降維模塊,用于獲取可擴展的滑動窗口的高維數據,采用主成分分析pca對可擴展的滑動窗口的高維數據進行降維,提取得到關鍵特征數據;
88、數據擴展模塊,用于基于自適應窗口kolmogorov-smirnov預警檢測方法對關鍵特征數據進行實時監測,判斷是否發生概念漂移,若發生概念漂移,則獲取發生概念漂移時的自適應窗口的原始數據,并自動擴展自適應窗口,若未發生概念漂移,自適應窗口進行正常滑動;
89、數據分類模塊,用于將發生概念漂移時的自適應窗口的原始數據輸入至預先建立的基于集成hoeffding樹的學習模型,得到訓練后的基于集成hoeffding樹的學習模型,基于訓練后的基于集成hoeffding樹的學習模型進行數據流的實時分類。
90、在本發明的另一方面,為了達到上述目的,公開了一種終端設備,包括存儲器、處理器及存儲在存儲器中并能夠在處理器上運行的計算機程序,所述存儲器中存儲有能夠在處理器上運行的計算機程序,所述處理器加載并執行計算機程序時,采用了如上所述的一種具有概念漂移檢測功能的集成學習分類方法。
91、本發明的有益效果:
92、在數據降維與特征提取方面,本發明采用主成分分析(pca)對可擴展的滑動窗口內的高維數據進行降維處理,提取關鍵特征數據。該方法不僅有效減少計算開銷,還能夠保留數據的主要信息,提高數據流分類的效率和準確性。
93、在概念漂移檢測方面,本發明基于自適應窗口kolmogorov-smirnov預警檢測方法,實現對關鍵特征數據的實時監測。當窗口間的分布差異達到預警閾值但尚未跨越漂移判定邊界時,系統進入彈性緩沖階段,動態擴展自適應窗口,以積累更多數據進行進一步檢測。此機制能夠降低短期波動帶來的誤報,提高漂移檢測的魯棒性。同時,為防止窗口無限增長導致的計算資源消耗問題,設定最大擴展長度,確保窗口在合理范圍內自適應調整,并在達到上限后恢復正常滑動更新機制。
94、在分類模型設計方面,本發明采用基于集成hoeffding樹的學習模型,并在發生概念漂移時,利用自適應窗口的原始數據對模型進行增量訓練。該方法結合主樹與多子樹協同學習機制,既保留全局數據特征的關鍵信息,又增強對局部數據分布變化的適應能力。通過動態調整子樹參與預測的權重,并結合主樹與子樹的聯合投票決策,減少單個模型受到異常數據或局部漂移的影響,提高數據流分類的穩定性和準確性。