專利名稱:一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能信息處理技術(shù)領(lǐng)域,特別涉及一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化法,適用于網(wǎng)絡(luò)入侵檢測,網(wǎng)絡(luò)安全監(jiān)控、傳感器數(shù)據(jù)監(jiān)控和電網(wǎng)供電等方面。
背景技術(shù):
隨著信息技術(shù)的深入發(fā)展,傳統(tǒng)數(shù)據(jù)挖掘方法正面臨著新的挑戰(zhàn),首當(dāng)其沖的就是數(shù)據(jù)形式的變化,由傳統(tǒng)靜態(tài)數(shù)據(jù)轉(zhuǎn)變?yōu)閯討B(tài)數(shù)據(jù)流形式,因此如何對數(shù)據(jù)流進(jìn)行有效挖掘,提取出內(nèi)部所包含的知識越來越受到工業(yè)界的關(guān)注。與靜態(tài)數(shù)據(jù)不同,數(shù)據(jù)流本身具有三個特點:海量性、實時性和動態(tài)變化性。這三個特點就要求傳統(tǒng)數(shù)據(jù)挖掘模型必須進(jìn)行調(diào)整和改變,以適應(yīng)數(shù)據(jù)流的變化和特點,因此目前很多針對數(shù)據(jù)流模型和方法,都是圍繞數(shù)據(jù)流本身的數(shù)據(jù)屬性進(jìn)行展開,例如數(shù)據(jù)流分類模型、聚類模型、降維模型等等。但是對于數(shù)據(jù)流中所包含的概念層面進(jìn)行挖掘,目前仍然沒有相對應(yīng)的研究方法和技術(shù)。目前僅存的數(shù)據(jù)流概念相關(guān)的技術(shù),主要是針對數(shù)據(jù)流中存在概念漂移現(xiàn)象,進(jìn)行實時檢測或者分類,為后續(xù)工作提供支持,而對于概念漂移可視化問題在學(xué)術(shù)界以及工業(yè)界仍然屬于空白。盡管概念漂移可視化目前仍然是探索階段,但由于概念是數(shù)據(jù)的高級表現(xiàn)形式,因此對于理解數(shù)據(jù)以及提取數(shù)據(jù)知識方法具有重要的意義。借鑒其他可視化方法,例如,流形圖,圓圈表示法等等方式,在獲取概念特征的前提下,對概念漂移進(jìn)行可視化,可以為后續(xù)工作提供一個直觀的數(shù)據(jù)表達(dá)方式,這將有利于后續(xù)工作的順利而有效的進(jìn)行。本領(lǐng)域中存在對提供動態(tài)環(huán)境數(shù)據(jù)流概念漂移可視化方法的需要。
發(fā)明內(nèi)容
本發(fā)明的目的是:為解決上述現(xiàn)有技術(shù)中存在的問題,以及對于概念漂移可視化方法研究的不足,提供一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法。為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是:提供了一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,具體包括以下步驟:
步驟1:動態(tài)數(shù)據(jù)流收集模塊102從海量實時數(shù)據(jù)流101中按照時間順序收集數(shù)據(jù);步驟2:數(shù)據(jù)流劃分模塊103讀取步驟I中的數(shù)據(jù)流數(shù)據(jù),并根據(jù)數(shù)據(jù)流中數(shù)據(jù)到達(dá)的先后順序?qū)?shù)據(jù)流進(jìn)行劃分;所述數(shù)據(jù)流劃分模塊103劃分得到的數(shù)據(jù)塊中,包含N條記錄;N是固定變量,由使用者提前設(shè)定;
步驟3:將使用數(shù)據(jù)流劃分模塊103劃分后得到靜態(tài)數(shù)據(jù)塊,輸入到kdq樹模塊104中構(gòu)建kdq樹;其中,所述kdq樹對應(yīng)的閾值使用基于KL散度的自助法計算給出或由使用者直接給定;
步驟4:將kdq樹模塊104所建立的kdq樹、kdq樹對應(yīng)的閾值放入概念池106中保存;步驟5:概念檢測模塊105在數(shù)據(jù)流劃分模塊103得到一個新的數(shù)據(jù)塊,并檢測新數(shù)據(jù)塊是否是新的概念,概念檢測模塊105的檢測結(jié)果根據(jù)由原始數(shù)據(jù)塊、新數(shù)據(jù)塊的KL散度值與概念池106中保存的kdq樹對應(yīng)閾值的比較結(jié)果給出;在計算KL散度時需要對原始數(shù)據(jù)塊進(jìn)行離散化,離散化的結(jié)果由數(shù)據(jù)塊通過kdq樹的結(jié)果給出;
步驟6:當(dāng)數(shù)據(jù)流劃分模塊103獲取新的數(shù)據(jù)塊時,將此數(shù)據(jù)塊與概念池106中所保存的概念進(jìn)行比較,如果找到相似的概念,則對概念統(tǒng)計模塊107進(jìn)行更新;否則將此數(shù)據(jù)塊作為新的概念加入概念池106中;
步驟7:重復(fù)步驟1-6直至數(shù)據(jù)流結(jié)束。此時將概念統(tǒng)計模塊107中的統(tǒng)計信息進(jìn)行匯總,計算出概念池106中每個概念的統(tǒng)計信息;
步驟8:將上述統(tǒng)計信息輸入到概念轉(zhuǎn)移圖模塊108,利用貝葉斯公式構(gòu)建概念轉(zhuǎn)移圖,完成概念漂移可視化過程。其中,所述步驟3中建立kdq樹包括以下子步驟:
步驟3.1:首先選定數(shù)據(jù)塊中第一個屬性作為當(dāng)前屬性,在當(dāng)前維度中尋找中位數(shù)值V,能夠?qū)?shù)據(jù)塊進(jìn)行劃分,使得劃分后得到的兩個子集中的樣本數(shù)量基本相等,即當(dāng)前屬性的數(shù)值大于V的數(shù)據(jù)以及當(dāng)前屬性的數(shù)值小于或等于V的數(shù)據(jù)的數(shù)量基本相等;
步驟3.2:在上述所得到的子集中,在后繼屬性中尋找能夠滿足劃分條件的屬性,并選擇此屬性作為當(dāng)前屬性,重復(fù)尋找中位數(shù)值的過程,繼續(xù)劃分?jǐn)?shù)據(jù)子集;
步驟3.3:重復(fù)以上過程,直到滿足終止條件為止;
所述劃分條件為:當(dāng)前維度數(shù)據(jù)的最大值與小值之差大于變量ε,且ε值由用戶指
定;
所述終止條件為 : 當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)規(guī)模小于nmin,或者每一維度的最大最小值之差均小于ε,其中于nmin值由用戶提前指定。其中,所述步驟4中,kdq樹模塊104采用自助法給定kdq樹對應(yīng)的相關(guān)閾值,包括以下步驟:
步驟4.1:從原始數(shù)據(jù)塊中有放回的抽取N條數(shù)據(jù),即所抽取的數(shù)據(jù)并不從原始數(shù)據(jù)塊中刪除,利用抽取的數(shù)據(jù)構(gòu)成新的數(shù)據(jù)塊;
步驟4.2:利用kdq樹對新數(shù)據(jù)塊進(jìn)行劃分得到離散化結(jié)果;
步驟4.3:根據(jù)所述KL散度的計算公式計算新數(shù)據(jù)塊與原始數(shù)據(jù)塊的KL散度值,將計算結(jié)果加入隊列中;
所述KL散度的計算公式為:
權(quán)利要求
1.一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,具體包括以下步驟: 步驟1:動態(tài)數(shù)據(jù)流收集模塊(102)從海量實時數(shù)據(jù)流(101)中按照時間順序收集數(shù)據(jù); 步驟2:數(shù)據(jù)流劃分模塊(103)讀取步驟I中的數(shù)據(jù)流數(shù)據(jù),并根據(jù)數(shù)據(jù)流中數(shù)據(jù)到達(dá)的先后順序?qū)?shù)據(jù)流進(jìn)行劃分;所述數(shù)據(jù)流劃分模塊(103)劃分得到的數(shù)據(jù)塊中,包含N條記錄;N是固定變量,由使用者提前設(shè)定; 步驟3:將使用數(shù)據(jù)流劃分模塊(103)劃分后得到靜態(tài)數(shù)據(jù)塊,輸入到kdq樹模塊(104)中構(gòu)建kdq樹;其中,所述kdq樹對應(yīng)的閾值使用基于KL散度的自助法計算給出或由使用者直接給定; 步驟4:將kdq樹模塊(104)所建立的kdq樹、kdq樹對應(yīng)的閾值放入概念池(106)中保存; 步驟5:概念檢測模塊(105)在數(shù)據(jù)流劃分模塊(103)得到一個新的數(shù)據(jù)塊,并檢測新數(shù)據(jù)塊是否是新的概念,概念檢測模塊(105)的檢測結(jié)果根據(jù)由原始數(shù)據(jù)塊、新數(shù)據(jù)塊的KL散度值與概念池(106)中保存的kdq樹對應(yīng)閾值的比較結(jié)果給出;在計算KL散度時需要對原始數(shù)據(jù)塊進(jìn)行離散化,離散化的結(jié)果由數(shù)據(jù)塊通過kdq樹的結(jié)果給出; 步驟6:當(dāng)數(shù)據(jù)流劃分模塊(103)獲取新的數(shù)據(jù)塊時,將此數(shù)據(jù)塊與概念池(106)中所保存的概念進(jìn)行比較,如果找到相似的概念,則對概念統(tǒng)計模塊(107)進(jìn)行更新;否則將此數(shù)據(jù)塊作為新的概念加入概念池(106)中; 步驟7:重復(fù)步驟1-6直至數(shù)據(jù)流結(jié)束;此時將概念統(tǒng)計模塊(107)中的統(tǒng)計信息進(jìn)行匯總,計算出概念池(106 ) 中每個概念的統(tǒng)計信息; 步驟8:將上述統(tǒng)計信息輸入到概念轉(zhuǎn)移圖模塊(108),利用貝葉斯公式構(gòu)建概念轉(zhuǎn)移圖,完成概念漂移可視化過程。
2.根據(jù)權(quán)利要求1所述的一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流分類方法,其特征在于,所述步驟3中建立kdq樹包括以下子步驟: 步驟3.1:首先選定數(shù)據(jù)塊中第一個屬性作為當(dāng)前屬性,在當(dāng)前維度中尋找中位數(shù)值V,對數(shù)據(jù)塊進(jìn)行劃分,使得劃分后得到的兩個子集中的樣本數(shù)量基本相等,即當(dāng)前屬性的數(shù)值大于V的數(shù)據(jù)以及當(dāng)前屬性的數(shù)值小于或等于V的數(shù)據(jù)的數(shù)量基本相等; 步驟3.2:在上述所得到的子集中,在后繼屬性中尋找能夠滿足劃分條件的屬性,并選擇此屬性作為當(dāng)前屬性,重復(fù)尋找中位數(shù)值的過程,繼續(xù)劃分?jǐn)?shù)據(jù)子集; 步驟3.3:重復(fù)以上過程,直到滿足終止條件為止; 所述劃分條件為:當(dāng)前維度數(shù)據(jù)的最大值與小值之差大于變量ε,且ε值由用戶指定; 所述終止條件為:當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)規(guī)模小于nmin,或者每一維度的最大最小值之差均小于ε,其中于nmin值由用戶提前指定。
3.根據(jù)權(quán)利要求1所述的一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,其特征在于,所述步驟4中,kdq樹模塊(104)采用自助法給定kdq樹對應(yīng)的相關(guān)閾值,包括以下步驟: 步驟4.1:從原始數(shù)據(jù)塊中有放回的抽取N條數(shù)據(jù),即所抽取的數(shù)據(jù)并不從原始數(shù)據(jù)塊中刪除,利用抽取的數(shù)據(jù)構(gòu)成新的數(shù)據(jù)塊;步驟4.2:利用kdq樹對新數(shù)據(jù)塊進(jìn)行劃分得到離散化結(jié)果; 步驟4.3:根據(jù)所述KL散度的計算公式計算新數(shù)據(jù)塊與原始數(shù)據(jù)塊的KL散度值,將計算結(jié)果加入隊列中; 所述KL散度的計算公式為:
4.根據(jù)權(quán)利要求3所述的一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,其特征在于,所述步驟4.2利用kdq樹對新數(shù)據(jù)塊進(jìn)行劃分得到離散化結(jié)果,包括以下步驟: 步驟4.2.1:將新數(shù)據(jù)塊中數(shù)據(jù)按照kdq樹各個節(jié)點的決策值進(jìn)行劃分,若數(shù)據(jù)指定維度的值小于等于kdq樹中節(jié)點的決策值則進(jìn)入根節(jié)點的左子樹,否則進(jìn)入根節(jié)點的右子樹; 步驟4.2.2:重復(fù)所述決策過程直到數(shù)據(jù)塊中所有數(shù)據(jù)都劃分到kdq樹的葉子節(jié)點時停止,至此得到針對此數(shù)據(jù)塊的劃分結(jié)果; 步驟4.2.3:對于kdq樹針對當(dāng)前數(shù)據(jù)塊的劃分結(jié)果,計算每個劃分區(qū)域中的樣本數(shù)量除以數(shù)據(jù)塊整體樣本數(shù)量,則得到當(dāng)前數(shù)據(jù)塊針對kdq樹的離散化結(jié)果的概率分布巧為及Ρ{Υ\ 。
5.根據(jù)權(quán)利要求1所述的一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,其特征在于,所述步驟5中概念檢測模塊(105)檢測概念漂移,包括以下子步驟: 步驟5.1:將數(shù)據(jù)塊通過kdq樹的結(jié)果,得到kdq樹對數(shù)據(jù)塊的離散化結(jié)果; 步驟5.2:利用KL散度計算公式,計算新數(shù)據(jù)塊kdq樹離散結(jié)果與概念池模塊(106)中保存的各個概念kdq離散結(jié)果的KL散度值; 步驟5.3:將上述KL散度值與kdq樹對應(yīng)的閾值進(jìn)行比較,若計算得到的KL散度值小于kdq樹對應(yīng)的閾值,則表示概念漂移沒有發(fā)生,否則表示概念漂移實際發(fā)生。
6.根據(jù)權(quán)利要求1所述的一種動態(tài)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,其特征在于,所述步驟6包括以下子步驟: 步驟6.1:將新數(shù)據(jù)塊的kdq樹離散值分別與概念池模塊(106)中保存的概念,計算KL散度值; 步驟6.2:將所獲得的KL散度值進(jìn)行排序,若最小的KL散度值仍然大于概念檢測模塊所設(shè)定的閾值,則表示概念池模塊(106)中,沒有該數(shù)據(jù)塊所對應(yīng)的概念,即此數(shù)據(jù)塊表示為一種新概念,那么將此數(shù)據(jù)塊的kdq樹離散化結(jié)果保存于概念池模塊(106)中,作為新的概念出現(xiàn);若找到滿足閾值的概念,則在概念統(tǒng)計模塊(107)中對此概念的相關(guān)統(tǒng)計數(shù)據(jù)進(jìn)行更新。
7.根據(jù)權(quán)利要求1所述的一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流分類方法,其特征在于,所述步驟8包括以下子步驟: 步驟8.1:將概念統(tǒng)計模塊(107)中對于保存于概念池模塊(106)中每一個概念統(tǒng)計信息進(jìn)行匯總; 步驟8.2:利用貝葉斯公式計算不同概念之間相互轉(zhuǎn)移概率;
8.根據(jù)權(quán)利要求1所述的一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流分類方法,其特征在于,所述數(shù)據(jù)流(101)包括:網(wǎng)絡(luò)入侵監(jiān)測、網(wǎng)絡(luò)安全監(jiān)控、傳感器數(shù)據(jù)監(jiān)控及電網(wǎng)供電各個方面數(shù)據(jù)。
全文摘要
本發(fā)明涉及智能信息處理技術(shù)領(lǐng)域,公開了一種動態(tài)數(shù)據(jù)環(huán)境下的數(shù)據(jù)流概念漂移可視化方法,包括對數(shù)據(jù)流進(jìn)行靜態(tài)化處理,針對不同的概念漂移模式建立不同概念表達(dá)方式并保存到概念池中,當(dāng)新數(shù)據(jù)塊到來時利用KL散度算法,在概念池中尋找相似的概念表達(dá),若存在則對其進(jìn)行統(tǒng)計,否則將其加入到概念池中作為新的概念進(jìn)行保存。本發(fā)明可以針對各種數(shù)據(jù)流改變漂移類型進(jìn)行檢測,并且通過統(tǒng)計能夠充分分析數(shù)據(jù)流中概念漂移過程。最后根據(jù)統(tǒng)計結(jié)果利用貝葉斯方法繪制出概念漂移轉(zhuǎn)移圖,將其可視化,為后續(xù)在概念層面對數(shù)據(jù)挖掘提供幫助。
文檔編號G06F19/00GK103150470SQ201310052088
公開日2013年6月12日 申請日期2013年2月18日 優(yōu)先權(quán)日2013年2月18日
發(fā)明者馮林, 姚遠(yuǎn), 陳灃 申請人:大連理工大學(xué)