數(shù)據(jù)采集之后通常要對其進(jìn)行預(yù)處理,用于數(shù)據(jù)預(yù)處理的技術(shù)有很多,如清洗、集成、歸約和變換等,這些技術(shù)并非互相排斥,而是可以一起使用的。預(yù)處理的目的是保證從數(shù)據(jù)采集、存儲直到分析、可視化的整個(gè)過程中不引入太多錯(cuò)誤和無關(guān)的數(shù)據(jù)。本文將對數(shù)據(jù)預(yù)處理的主要內(nèi)容和幾種典型的數(shù)據(jù)預(yù)處理方法進(jìn)行介紹和說明。
1、數(shù)據(jù)預(yù)處理的主要內(nèi)容
數(shù)據(jù)預(yù)處理的主要內(nèi)容包括數(shù)據(jù)審核、數(shù)據(jù)篩選和數(shù)據(jù)排序。
(1)數(shù)據(jù)審核
數(shù)據(jù)審核主要包括以下四個(gè)方面:
準(zhǔn)確性審核:從數(shù)據(jù)的真實(shí)性與精確性角度檢查資料,其審核的重點(diǎn)是檢查在調(diào)查過程中所發(fā)生的誤差。
適用性審核:根據(jù)數(shù)據(jù)的用途,檢查數(shù)據(jù)解釋說明問題的程度。具體包括數(shù)據(jù)與所選主題、與目標(biāo)總體的界定等是否匹配。
及時(shí)性審核:檢查數(shù)據(jù)是否按照規(guī)定時(shí)間發(fā)送,如未按規(guī)定時(shí)間發(fā)送,則要檢查未及時(shí)發(fā)送的原因。
一致性審核:檢查數(shù)據(jù)在不同存儲空間是否一致,數(shù)據(jù)內(nèi)涵是否出現(xiàn)不一致、矛盾或不相容等情況。
對于不同來源的數(shù)據(jù),在審核的內(nèi)容和方法上有所不同。對于原始數(shù)據(jù)應(yīng)主要從完整性和準(zhǔn)確性兩個(gè)方面進(jìn)行審核。完整性審核主要是檢查收集的數(shù)據(jù)是否全面,是否有所遺漏。準(zhǔn)確性審核主要包括檢查數(shù)據(jù)是否真實(shí)地反映了客觀情況,內(nèi)容是否符合實(shí)際;檢查數(shù)據(jù)是否有錯(cuò)誤,計(jì)算是否正確等。對于通過其他渠道取得的二手?jǐn)?shù)據(jù),除了對其完整性和準(zhǔn)確性進(jìn)行審核外,還應(yīng)該著重審核數(shù)據(jù)的適用性和時(shí)效性。二手?jǐn)?shù)據(jù)可以來自多種渠道,有些數(shù)據(jù)可能是為特定目的而獲得的,或者是已經(jīng)按照特定需要做了加工處理。對于使用者來說,應(yīng)該首先弄清楚數(shù)據(jù)的來源和口徑,以便確定是否符合數(shù)據(jù)分析處理需要、是否需要重新加工整理等。此外,還要對數(shù)據(jù)的時(shí)效性進(jìn)行審核,一般來說,網(wǎng)絡(luò)安全態(tài)勢感知需要實(shí)時(shí)監(jiān)控,應(yīng)盡可能使用最新的實(shí)時(shí)獲取數(shù)據(jù)。
(2)數(shù)據(jù)篩選
數(shù)據(jù)通過審核后,應(yīng)對審核過程中發(fā)現(xiàn)的錯(cuò)誤盡可能予以糾正。當(dāng)發(fā)現(xiàn)的數(shù)據(jù)錯(cuò)誤不能予以糾正,或者有些數(shù)據(jù)不符合分析處理要求而又無法彌補(bǔ)時(shí),就需要對數(shù)據(jù)進(jìn)行篩選。
數(shù)據(jù)篩選主要包括兩方面的內(nèi)容:
● 將某些不符合要求的數(shù)據(jù)或有明顯錯(cuò)誤的數(shù)據(jù)予以剔除。
● 將符合某種特定條件的數(shù)據(jù)篩選出來,對不符合特定條件的數(shù)據(jù)予以剔除。
數(shù)據(jù)篩選在數(shù)據(jù)預(yù)處理中的作用是十分重要的,篩選的數(shù)據(jù)的質(zhì)量好壞直接影響后續(xù)網(wǎng)絡(luò)安全數(shù)據(jù)分析和態(tài)勢理解的正確性。
(3)數(shù)據(jù)排序
數(shù)據(jù)排序是指按照一定順序?qū)?shù)據(jù)進(jìn)行排列,以便數(shù)據(jù)分析人員發(fā)現(xiàn)一些明顯的特征或趨勢并找到解決問題的線索。除此之外,排序還有助于對數(shù)據(jù)檢查糾錯(cuò),為重新歸類或分組等提供依據(jù)。在某些場合,排序本身就是分析的目的之一。排序可借助于計(jì)算機(jī)輕松完成。
2、數(shù)據(jù)預(yù)處理方法
網(wǎng)絡(luò)安全數(shù)據(jù)的預(yù)處理至少應(yīng)包括三個(gè)過程:一是數(shù)據(jù)清洗,即將原始數(shù)據(jù)通過數(shù)據(jù)規(guī)整和數(shù)據(jù)標(biāo)注進(jìn)行清洗,形成精準(zhǔn)的安全數(shù)據(jù);二是數(shù)據(jù)融合,基于已知的特征將基礎(chǔ)安全數(shù)據(jù)進(jìn)行合并,形成具有相同特征或?qū)傩缘臄?shù)據(jù)族,減少數(shù)據(jù)分析量;三是數(shù)據(jù)關(guān)聯(lián),即結(jié)合IP關(guān)系、時(shí)序關(guān)系、交互特征等進(jìn)行數(shù)據(jù)關(guān)聯(lián),形成基礎(chǔ)的數(shù)據(jù)關(guān)系網(wǎng)絡(luò)圖譜。
我們常常用完整性、一致性和準(zhǔn)確性這三個(gè)因素來衡量數(shù)據(jù)質(zhì)量,如果在這三個(gè)方面數(shù)據(jù)能滿足其應(yīng)用要求,那么它是高質(zhì)量的。然而,由于各種機(jī)器或人為的原因,現(xiàn)實(shí)世界的數(shù)據(jù)會出現(xiàn)缺失、不一致和錯(cuò)誤等情況,此外數(shù)據(jù)的時(shí)效性、可信性也會影響對數(shù)據(jù)的理解和處理。數(shù)據(jù)預(yù)處理采用的方法和技術(shù)有很多,如合并、降維、屬性變換、特征子集選擇、清洗與精簡、整合與集成、重構(gòu)、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)融合等,在大數(shù)據(jù)的應(yīng)用中還有一些高級的預(yù)處理手段,如寫緩沖、讀/寫優(yōu)先級仲裁以及索引定位等,但較為常用的基本方法主要包括以下幾種,下面將依次進(jìn)行介紹:
● 數(shù)據(jù)清洗
● 數(shù)據(jù)集成
● 數(shù)據(jù)歸約
● 數(shù)據(jù)變換
● 數(shù)據(jù)融合
3、數(shù)據(jù)清洗
很多數(shù)據(jù)是“臟”的,如果不經(jīng)過清洗,可能會導(dǎo)致分析過程陷入混亂,引起不可靠的輸出,所以我們需要對“臟”數(shù)據(jù)進(jìn)行“清洗”。數(shù)據(jù)清洗(Data Cleaning)有時(shí)也被稱為數(shù)據(jù)清理或數(shù)據(jù)過濾,即除去源數(shù)據(jù)集中的噪聲數(shù)據(jù)和無關(guān)數(shù)據(jù),處理遺漏數(shù)據(jù)和清洗“臟”數(shù)據(jù),除去空白數(shù)據(jù)域,通過填寫缺失的值光滑噪聲數(shù)據(jù),識別或刪除離群點(diǎn)并解決不一致性來“清洗”數(shù)據(jù)?!都~約時(shí)報(bào)》將數(shù)據(jù)清洗稱為“看門人工作”,并且稱數(shù)據(jù)分析人員百分之八十的時(shí)間都花費(fèi)在數(shù)據(jù)清洗任務(wù)上。盡管安全分析師的工作重在安全分析,但也必須懂得對數(shù)據(jù)的處理技巧。
網(wǎng)絡(luò)安全數(shù)據(jù)清洗的過程大致為:將不同途徑、不同來源、不同格式的安全數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、垃圾過濾、數(shù)據(jù)去重、格式清洗等操作去除“臟”數(shù)據(jù)。以網(wǎng)絡(luò)攻擊知識庫、網(wǎng)絡(luò)安全情報(bào)庫、黑白名單庫等為基礎(chǔ),在海量原始數(shù)據(jù)規(guī)整過程中同步進(jìn)行數(shù)據(jù)標(biāo)注,將異常、報(bào)警、威脅、五元組等關(guān)鍵信息標(biāo)記出來,形成精準(zhǔn)的基礎(chǔ)安全數(shù)據(jù)。
(1)不完整數(shù)據(jù)
不完整數(shù)據(jù)是指感興趣的屬性沒有值。假設(shè)您需要分析某網(wǎng)絡(luò)內(nèi)的資產(chǎn)和屬性數(shù)據(jù),但很多元組的一些屬性沒有記錄值。雖然這些屬性出現(xiàn)了空值,但并不意味著它是錯(cuò)誤數(shù)據(jù),這時(shí)我們就需要為這些屬性填上數(shù)值以將其補(bǔ)充完整,可以用到的方法如下:
人工填充:這是最笨、最原始的方法,費(fèi)時(shí)費(fèi)力,對于小規(guī)模數(shù)據(jù)還可以采用,但對于大規(guī)模數(shù)據(jù)尤其是數(shù)據(jù)量很大、缺失值很多的時(shí)候,這個(gè)方法可能就難以奏效。
忽略元組:如果個(gè)別元組的屬性值空缺并不會影響整體數(shù)據(jù)的分析,則可以忽略。但如果元組的屬性空缺比例過高,以致影響對數(shù)據(jù)的整體理解,那么該方法就不太可取。
用全局常量填充:用一個(gè)全局常量把不完整的屬性值進(jìn)行統(tǒng)一替換,如unknown。該方法雖然補(bǔ)全了缺失值,但對數(shù)據(jù)分析并沒有起到太大的幫助,甚至可能會引起一些誤解。
用屬性中間值填充:所謂中間值,是指數(shù)據(jù)分布在“中間”的值,如對于對稱分布的數(shù)據(jù)而言可以使用均值,而不對稱分布的數(shù)據(jù)可以使用中位數(shù)作為中間值。將不完整元組的缺失屬性值用中間值進(jìn)行填充也是常用的一種方法。
用相似樣本的屬性中間值填充:如果能找到不完整元組的同類,對于不完整元組的缺失屬性值,用其同類樣本的屬性中間值進(jìn)行填充也是一種選擇。
用最可能的值填充:還可以使用各種推理模型和工具,如回歸、貝葉斯形式化方法、決策樹等進(jìn)行歸納推理,得到可能性較大的推測值來預(yù)測不完整元組的缺失屬性值。
總的來說,前兩種方法較為原始,應(yīng)用不廣泛,之后的三種方法填入的數(shù)據(jù)正確率較低,而最后一種方法相對來說是較優(yōu)的策略,準(zhǔn)確度較高。
(2)不一致數(shù)據(jù)
不一致數(shù)據(jù)(Incongruent Data)是指數(shù)據(jù)內(nèi)涵出現(xiàn)不一致、矛盾和不相容等情況。數(shù)據(jù)的不一致可能是由于數(shù)據(jù)冗余造成的,也有可能是由于并發(fā)控制不當(dāng),或者是各種故障和錯(cuò)誤造成的。數(shù)據(jù)冗余導(dǎo)致的不一致往往是由于重復(fù)存放的數(shù)據(jù)未能進(jìn)行一致性更新;并發(fā)控制不當(dāng)體現(xiàn)于多用戶共享數(shù)據(jù)庫,而更新操作未能保持同步;最后一種則是由于硬件故障和軟件故障造成數(shù)據(jù)丟失或者數(shù)據(jù)損壞等情況發(fā)生。
(3)噪聲數(shù)據(jù)
噪聲數(shù)據(jù)(Noisy Data)是指存在錯(cuò)誤或異常(偏離期望值)的數(shù)據(jù),通常為無意義的數(shù)據(jù),也包括那些難以被機(jī)器正確理解和翻譯的數(shù)據(jù)。引起噪聲數(shù)據(jù)的原因有很多,可能是采集數(shù)據(jù)的設(shè)備出現(xiàn)故障、數(shù)據(jù)輸入或數(shù)據(jù)傳輸過程中出現(xiàn)錯(cuò)誤、存儲介質(zhì)的損壞等。對噪聲數(shù)據(jù)進(jìn)行處理是數(shù)據(jù)清洗的一個(gè)重要環(huán)節(jié),去除噪聲以“光滑”數(shù)據(jù)的常用方法如下:
分箱(Binning):它是通過考察數(shù)據(jù)周圍鄰近的值來“光滑”有序數(shù)據(jù)值。這些有序的值被分布到一些“箱”中,每個(gè)“箱”中的數(shù)據(jù)值都被替換為箱中所有數(shù)據(jù)的均值或者中位數(shù)或者邊界值,從而進(jìn)行“光滑”。“箱”可以是等寬的,也可以是不等寬的。一般來說,“箱”的寬度越大,光滑效果越明顯。該技術(shù)也是離散化技術(shù)的一種。
回歸(Regression):是用一個(gè)函數(shù)擬合數(shù)據(jù)來“光滑”數(shù)據(jù)的技術(shù)。常見的回歸方法有線性回歸,通過找出擬合兩個(gè)屬性(或變量)的“最佳”直線,使得一個(gè)屬性可以用來預(yù)測另一個(gè)。當(dāng)然也有多元線性回歸,它涉及更多的屬性,且數(shù)據(jù)擬合到一個(gè)多維曲面上。
聚類(Clustering):通過把數(shù)據(jù)對象劃分為子集來檢測離群點(diǎn)。每個(gè)子集形成一個(gè)簇,簇中的對象彼此相似,但與其他簇中的對象不相似。落在某個(gè)簇集之外的值被視為集群點(diǎn),可以去除。
當(dāng)然除上述三種之外,還有很多其他的數(shù)據(jù)噪聲去除方法,如有些基本的統(tǒng)計(jì)描述技術(shù)(如散點(diǎn)圖和盒圖)和數(shù)據(jù)可視化技術(shù)一樣也能用于識別代表噪聲的離群點(diǎn),對數(shù)據(jù)進(jìn)行“光滑”。
(4)數(shù)據(jù)清洗過程
上面介紹的不完整數(shù)據(jù)、不一致數(shù)據(jù)和噪聲數(shù)據(jù)都是會導(dǎo)致不正確的數(shù)據(jù),我們簡單介紹了一些應(yīng)對和處理方法,然而,實(shí)際上對數(shù)據(jù)進(jìn)行清洗并不是那么輕松簡單的事情,它還涉及一些重要過程。
數(shù)據(jù)清洗過程中要做的第一件事就是檢測偏差。造成偏差的原因有多種,有的是人為的有意或無意造成的數(shù)據(jù)輸入錯(cuò)誤,有的是設(shè)備或系統(tǒng)造成的錯(cuò)誤,有的是設(shè)計(jì)過程中的失誤,有的是傳輸過程中的錯(cuò)誤,有的是內(nèi)涵不一致的數(shù)據(jù)表示,還有的是過期的數(shù)據(jù)。對于種種數(shù)據(jù)偏差,我們需要對數(shù)據(jù)本身的特性有一定的認(rèn)識,比如:數(shù)據(jù)有哪些屬性,每個(gè)屬性的數(shù)據(jù)類型和定義域是什么,數(shù)據(jù)的分布是均勻的還是不均勻的,一組數(shù)據(jù)的平均值、中位數(shù)是什么,數(shù)據(jù)期望值、方差是什么,大部分?jǐn)?shù)據(jù)都落在哪個(gè)區(qū)間?等等,這些關(guān)于數(shù)據(jù)的知識有助于我們判斷正常數(shù)據(jù)范圍和異常數(shù)據(jù)值。此外,我們還要對不一致數(shù)據(jù)進(jìn)行問題查找,根據(jù)唯一性、連續(xù)性等規(guī)則和空值規(guī)則來考察數(shù)據(jù)是否缺失、一致等。
數(shù)據(jù)清洗過程中的第二件事就是數(shù)據(jù)規(guī)整。一旦發(fā)現(xiàn)了數(shù)據(jù)偏差,我們就需要對數(shù)據(jù)進(jìn)行更正和修改,即數(shù)據(jù)規(guī)整,用一些推測值或正確值來替換有偏差的數(shù)據(jù)。有時(shí)僅僅通過人工修改就能對數(shù)據(jù)進(jìn)行規(guī)整,有時(shí)則需要較為復(fù)雜的變換步驟,須采用一些高級的數(shù)據(jù)轉(zhuǎn)換工具和手段來輔助。
以上兩個(gè)步驟不是一次性完成,而是迭代執(zhí)行的,需要多次迭代才能達(dá)到較好的結(jié)果。
(5)數(shù)據(jù)清洗工具
在實(shí)際應(yīng)用中,有很多商用或開源的工具可以幫助我們進(jìn)行數(shù)據(jù)清洗。
這些工具有的采用簡單的領(lǐng)域知識(如拼寫檢查),檢查并糾正數(shù)據(jù)中存在的錯(cuò)誤和偏差。在數(shù)據(jù)來源較多的情況下,還可以采用分析和模糊匹配技術(shù)進(jìn)行數(shù)據(jù)清洗。此外,還有一些被稱為數(shù)據(jù)審計(jì)的工具可以輔助使用,這類工具通過分析數(shù)據(jù)發(fā)現(xiàn)規(guī)則和聯(lián)系,并檢測違反這些條件的數(shù)據(jù)來發(fā)現(xiàn)錯(cuò)誤和偏差,如它們可以采用統(tǒng)計(jì)分析來發(fā)現(xiàn)相關(guān)性或者通過聚類來識別離群點(diǎn)。當(dāng)然,也有一些基本的統(tǒng)計(jì)分析和數(shù)據(jù)可視化工具可以輔助發(fā)現(xiàn)數(shù)據(jù)錯(cuò)誤和偏差點(diǎn)。
對于存在不一致性需要進(jìn)行數(shù)據(jù)變換的數(shù)據(jù),我們可以采用一些數(shù)據(jù)遷移工具來進(jìn)行簡單的變換,如常見的ETL工具,就能允許用戶通過圖形用戶界面進(jìn)行數(shù)據(jù)變換,Sqoop就是一種數(shù)據(jù)遷移工具,用于在Hadoop和關(guān)系數(shù)據(jù)庫(結(jié)構(gòu)化存儲器)之間交換數(shù)據(jù),進(jìn)而改進(jìn)數(shù)據(jù)的互操作性,它也是數(shù)據(jù)清洗工具的一種。
4、數(shù)據(jù)集成
數(shù)據(jù)的不一致性也是常見的引起數(shù)據(jù)錯(cuò)誤的原因,為了減少數(shù)據(jù)集的不一致性和冗余,我們需要對數(shù)據(jù)進(jìn)行集成,也就是對來自多個(gè)數(shù)據(jù)存儲的數(shù)據(jù)進(jìn)行合并處理、解決語義模糊性的過程。數(shù)據(jù)集成就是將若干個(gè)分散的數(shù)據(jù)源中的數(shù)據(jù),邏輯地或物理地集成到一個(gè)統(tǒng)一的數(shù)據(jù)集合中,其核心任務(wù)是要將互相關(guān)聯(lián)的分布式異構(gòu)數(shù)據(jù)源集成到一起,提供統(tǒng)一的數(shù)據(jù)接口,使用戶能夠以透明的方式訪問這些數(shù)據(jù)源。集成是指維護(hù)數(shù)據(jù)源整體上的數(shù)據(jù)一致性以提高信息共享利用的效率;透明的方式是指用戶無需關(guān)心如何實(shí)現(xiàn)對異構(gòu)數(shù)據(jù)源數(shù)據(jù)的訪問,只關(guān)心以何種方式訪問何種數(shù)據(jù)。
(1)數(shù)據(jù)集成的難點(diǎn)
數(shù)據(jù)分析之前多半需要進(jìn)行數(shù)據(jù)集成。數(shù)據(jù)集成即將多個(gè)數(shù)據(jù)源中的數(shù)據(jù)合并,存放在一個(gè)一致的數(shù)據(jù)存儲中,如存放在數(shù)據(jù)倉庫或者大數(shù)據(jù)平臺中。網(wǎng)絡(luò)安全態(tài)勢感知的數(shù)據(jù)源可能包括多個(gè)數(shù)據(jù)庫、數(shù)據(jù)立方體或一般文件,常見的如各種DBMS、各類XML文檔、HTML文檔、電子郵件、文本文件、包捕獲數(shù)據(jù)等結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)集成的難點(diǎn)主要體現(xiàn)在以下方面:
異構(gòu)性。被集成的數(shù)據(jù)源來自多個(gè)渠道,數(shù)據(jù)模型異構(gòu)給集成帶來很大困難。這些異構(gòu)性主要表現(xiàn)在語法、數(shù)據(jù)語義、數(shù)據(jù)源使用環(huán)境等。例如,在語法異構(gòu)上,源數(shù)據(jù)和目的數(shù)據(jù)之間命名規(guī)則及數(shù)據(jù)類型存在不同,需要實(shí)現(xiàn)字段到字段、記錄到記錄的映射,解決其中名字沖突和數(shù)據(jù)類型沖突。還有一些不常見的語法異構(gòu),如數(shù)據(jù)源在構(gòu)建時(shí)隱含了一些約束信息,在數(shù)據(jù)集成時(shí)這些約束隱藏可能會造成錯(cuò)誤。在語義異構(gòu)上,常常是需要破壞字段的原子性,直接處理數(shù)據(jù)內(nèi)容,常見的語義異構(gòu)有字段拆分、字段合并、字段數(shù)據(jù)格式變換、記錄間字段轉(zhuǎn)移等。語法異構(gòu)和語義異構(gòu)的區(qū)別可以追溯到數(shù)據(jù)源建模時(shí)的差異:當(dāng)數(shù)據(jù)源的實(shí)體關(guān)系模型相同,只是命名規(guī)則不同時(shí),造成的只是數(shù)據(jù)源之間的語法異構(gòu);當(dāng)數(shù)據(jù)源構(gòu)建實(shí)體模型時(shí)采用了不同的粒度劃分、不同的實(shí)體間關(guān)系以及不同的字段數(shù)據(jù)語義表示,必然會造成數(shù)據(jù)源間的語義異構(gòu),給數(shù)據(jù)集成帶來很大麻煩。此外,復(fù)雜的關(guān)系模型也會造成很多語義異構(gòu)現(xiàn)象。
分布性。數(shù)據(jù)源是分布在不同系統(tǒng)和設(shè)備中的,需要依靠網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,這就涉及網(wǎng)絡(luò)傳輸性能以及如何保證安全性等問題。
自治性。各個(gè)數(shù)據(jù)源有很強(qiáng)的自治性,可以在不通知集成系統(tǒng)的前提下改變自身的結(jié)構(gòu)和數(shù)據(jù),這就給數(shù)據(jù)集成系統(tǒng)的魯棒性提出挑戰(zhàn)。
(2)數(shù)據(jù)集成類型層次
數(shù)據(jù)集成可以分為以下四個(gè)類型層次。
1)基本數(shù)據(jù)集成
在基本數(shù)據(jù)集成的過程中會遇到很多問題,其中最難的問題之一就是通用標(biāo)識符問題,當(dāng)同一業(yè)務(wù)實(shí)體存在于多個(gè)系統(tǒng)源中并且沒有明確的辦法確認(rèn)這些實(shí)體是同一實(shí)體時(shí),就會產(chǎn)生這類問題。處理該問題的辦法有:
● 隔離。保證實(shí)體的每次出現(xiàn)都指派一個(gè)唯一標(biāo)識符。
● 調(diào)和。確認(rèn)哪些實(shí)體是相同的,并且將該實(shí)體的各次出現(xiàn)合并起來。
● 指定。當(dāng)目標(biāo)元素有多個(gè)來源時(shí),指定某一系統(tǒng)在沖突時(shí)占主導(dǎo)地位。
數(shù)據(jù)丟失問題也是很常見的問題之一,一般解決辦法是為丟失的數(shù)據(jù)產(chǎn)生一個(gè)非常接近實(shí)際的估計(jì)值來進(jìn)行處理。
2)多級視圖集成
多級視圖主要用于對數(shù)據(jù)源之間的關(guān)系從低層次向高層次進(jìn)行集成:底層數(shù)據(jù)表示方式為局部模型的局部格式,如關(guān)系和文件;中間數(shù)據(jù)表示方式為公共模式格式,如擴(kuò)展關(guān)系模型或?qū)ο竽P?;高級?shù)據(jù)表示方式為綜合模型格式。視圖的集成化過程為兩級映射:
● 數(shù)據(jù)從局部數(shù)據(jù)庫中經(jīng)過數(shù)據(jù)翻譯、轉(zhuǎn)換并集成為符合公共模型格式的中間視圖。
● 進(jìn)行語義沖突消除、數(shù)據(jù)集成和數(shù)據(jù)導(dǎo)出處理,將中間視圖集成為綜合視圖。
3)模式集成
模式集成的指導(dǎo)理論很少,其設(shè)計(jì)的好壞常常視設(shè)計(jì)者的經(jīng)驗(yàn)而定,它屬于數(shù)據(jù)庫設(shè)計(jì)問題。在實(shí)際應(yīng)用中,數(shù)據(jù)源的模式集成和數(shù)據(jù)庫設(shè)計(jì)仍有相當(dāng)大的差距,最明顯的表現(xiàn)是在模式集成時(shí)出現(xiàn)的命名、單位、結(jié)構(gòu)和抽象層次等發(fā)生沖突的問題,無法照搬數(shù)據(jù)庫模式設(shè)計(jì)的經(jīng)驗(yàn)來進(jìn)行處理,需要根據(jù)具體情況而定。
在眾多互操作系統(tǒng)中,模式集成的基本框架有屬性等價(jià)、關(guān)聯(lián)等價(jià)和類等價(jià)等,但最終都可以歸類為屬性等價(jià)。
4)多粒度數(shù)據(jù)集成
多粒度數(shù)據(jù)集成是異構(gòu)數(shù)據(jù)集成中最難的部分,理想的多粒度數(shù)據(jù)集成模式應(yīng)當(dāng)是自動逐步抽象。多粒度數(shù)據(jù)集成包括數(shù)據(jù)綜合和數(shù)據(jù)細(xì)化兩個(gè)方面。
● 數(shù)據(jù)綜合也稱為數(shù)據(jù)抽象,實(shí)際上是特征提取和歸并的過程,它是指由高精度數(shù)據(jù)經(jīng)過抽象形成精度較低但粒度較大的數(shù)據(jù),其作用過程為從多個(gè)較高精度的局部數(shù)據(jù)中獲得較低精度的全局?jǐn)?shù)據(jù),并對各局域數(shù)據(jù)進(jìn)行綜合,提取其主要特征。
● 數(shù)據(jù)細(xì)化指通過由一定精度的數(shù)據(jù)獲取精度較高的數(shù)據(jù),實(shí)現(xiàn)該過程的主要途徑有時(shí)空轉(zhuǎn)換、相關(guān)分析或者由綜合中數(shù)據(jù)變動的記錄進(jìn)行恢復(fù)等。
(3)數(shù)據(jù)集成方法模式
數(shù)據(jù)集成能把不同來源、格式、特點(diǎn)性質(zhì)的數(shù)據(jù)在邏輯上或物理上有機(jī)地集中,從而提供全面的數(shù)據(jù)共享。在數(shù)據(jù)集成領(lǐng)域,目前已經(jīng)有很多成熟的框架可以利用,下面對這幾種數(shù)據(jù)集成方法模式做一個(gè)基本的分析。
聯(lián)邦模式。這種模式常常會構(gòu)造一個(gè)聯(lián)盟數(shù)據(jù)庫,可以是集中數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)或者其他聯(lián)邦式系統(tǒng)類型,它由半自治數(shù)據(jù)庫系統(tǒng)構(gòu)成,相互之間分享數(shù)據(jù),聯(lián)盟中各數(shù)據(jù)源之間相互提供訪問接口。在這種模式下又分為緊耦合和松耦合兩種情況,緊耦合提供統(tǒng)一的訪問模式,一般是靜態(tài)的,在增加數(shù)據(jù)源上比較困難;而松耦合則不提供統(tǒng)一的接口,但可以通過統(tǒng)一的語言訪問數(shù)據(jù)源,松耦合的前提是解決所有數(shù)據(jù)源語義上的不一致等問題。
中間件模式。中間件位于異構(gòu)數(shù)據(jù)源系統(tǒng)(數(shù)據(jù)層)和應(yīng)用程序(應(yīng)用層)之間,向上為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一的數(shù)據(jù)模式和通用訪問接口,向下則協(xié)調(diào)各數(shù)據(jù)源系統(tǒng)。中間件模式主要是采用統(tǒng)一的全局?jǐn)?shù)據(jù)模型來訪問異構(gòu)的數(shù)據(jù)庫、遺留系統(tǒng)、Web資源等。各數(shù)據(jù)源的應(yīng)用程序獨(dú)立完成自身的任務(wù),中間件系統(tǒng)為異構(gòu)數(shù)據(jù)源提供一個(gè)高層次檢索服務(wù)。它是當(dāng)前比較流行的一種數(shù)據(jù)集成方法,通過在中間層提供一個(gè)統(tǒng)一的數(shù)據(jù)邏輯視圖,隱藏底層的數(shù)據(jù)細(xì)節(jié),使得用戶可以把集成數(shù)據(jù)源看為一個(gè)統(tǒng)一整體。能否實(shí)現(xiàn)該模型的關(guān)鍵在于如何構(gòu)造一個(gè)邏輯視圖,使得不同數(shù)據(jù)源之間能映射到這個(gè)中間層上。
數(shù)據(jù)倉庫模式。數(shù)據(jù)倉庫是面向主題、集成的、與時(shí)間相關(guān)和不可修改的數(shù)據(jù)集合,它將各種應(yīng)用系統(tǒng)集成在一起,為統(tǒng)一的歷史數(shù)據(jù)分析提供堅(jiān)實(shí)的平臺,對信息處理提供支持。其中,數(shù)據(jù)被歸類為廣義的、功能上獨(dú)立、沒有重疊的主題。數(shù)據(jù)倉庫技術(shù)在另外一個(gè)層面上表達(dá)數(shù)據(jù)之間的共享,它主要是為了針對某個(gè)應(yīng)用領(lǐng)域提出的一種數(shù)據(jù)集成方法。
以上幾種方法模式在一定程度上解決了應(yīng)用程序之間的數(shù)據(jù)共享和互通的問題,但也存在差異:聯(lián)邦模式主要面向多個(gè)數(shù)據(jù)庫系統(tǒng)的集成,其中數(shù)據(jù)源有可能要映射到每一個(gè)數(shù)據(jù)模式,當(dāng)集成的數(shù)據(jù)量和數(shù)據(jù)庫系統(tǒng)很大時(shí)困難重重;而中間件和數(shù)據(jù)倉庫模式更適應(yīng)海量數(shù)據(jù)的集成,我們在網(wǎng)絡(luò)安全態(tài)勢感知的應(yīng)用上可以更多借鑒這兩種模式。
5、數(shù)據(jù)歸約
網(wǎng)絡(luò)安全數(shù)據(jù)量浩如煙海、多如細(xì)沙,通過數(shù)據(jù)清洗和數(shù)據(jù)集成,僅僅能去除一部分無用或錯(cuò)誤數(shù)據(jù),但對后續(xù)的數(shù)據(jù)分析和態(tài)勢理解預(yù)測并不能節(jié)約更多的時(shí)間和工作量,因?yàn)閿?shù)據(jù)量仍然很大,我們還需要進(jìn)行一定的手段和方法來減少需要處理的數(shù)據(jù)量。網(wǎng)絡(luò)安全數(shù)據(jù)歸約屬于數(shù)據(jù)融合的范疇,其大致過程為:按照數(shù)據(jù)的來源、類別、屬性、時(shí)間等進(jìn)行融合,形成來源明確、類別統(tǒng)一、屬性一致、時(shí)間有序的源數(shù)據(jù)。結(jié)合IP特征、流量特征、行為特征等,對同類特征指標(biāo)、同類行為規(guī)律的數(shù)據(jù)進(jìn)行融合處理,形成在表達(dá)的內(nèi)容、反映的效果、目標(biāo)的指向上具有共性的數(shù)據(jù)族。
對于小型或中型數(shù)據(jù)集,一般的數(shù)據(jù)預(yù)處理步驟已經(jīng)足夠,但對真正大型數(shù)據(jù)集來講,在進(jìn)行數(shù)據(jù)分析以前更可能采取一個(gè)中間的、額外的步驟——數(shù)據(jù)歸約。所謂歸約,就是在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡數(shù)據(jù)量。數(shù)據(jù)歸約主要有兩個(gè)途徑:屬性選擇和數(shù)據(jù)采樣,分別針對原始數(shù)據(jù)集中的屬性和記錄。數(shù)據(jù)歸約可用來得到海量數(shù)據(jù)集的歸約表示,被歸約后的數(shù)據(jù)集雖然小,但仍大致保持原始數(shù)據(jù)的完整性。
數(shù)據(jù)歸約常用到的策略包括特征歸約、維歸約、樣本歸約、數(shù)量歸約和數(shù)據(jù)壓縮等,接下來進(jìn)行一一介紹和分析。
(1)特征歸約
用于分析的數(shù)據(jù)集可能包含數(shù)以百計(jì)的特征(或?qū)傩裕?,其中大部分特征可能與網(wǎng)絡(luò)安全態(tài)勢感知任務(wù)不相關(guān)或者是冗余的。特征歸約是從原有的特征中刪除不相關(guān)、弱相關(guān)或冗余的特征,或者通過對特征進(jìn)行重組來減少特征的個(gè)數(shù),進(jìn)而找出最小特征集,使數(shù)據(jù)類的概率分布盡可能地接近使用所有特征得到的原分布。其原則是在保留甚至提高原有判別能力的同時(shí),盡可能地減少特征向量的維度。特征歸約算法的輸入是一組特征,輸出的是該組特征的一個(gè)子集。特征歸約一般包括3個(gè)步驟:
搜索:在特征空間中搜索特征子集,每個(gè)子集稱為一個(gè)狀態(tài),由選中的特征所構(gòu)成。
評估:輸入一個(gè)狀態(tài)(子集),通過評估函數(shù)或預(yù)先設(shè)定的閾值輸出一個(gè)評估值,使評估值達(dá)到最優(yōu)。
分類:使用最終的特征集來完成分類算法。
我們通常使用統(tǒng)計(jì)顯著性檢驗(yàn)來確定“最好的”和“最差的”特征,這種檢驗(yàn)假定屬性間是相互獨(dú)立的。特征歸約的基本方法有:①逐步向前選擇,即從空特征集開始,確定特征集中“最好的”特征,將其加入歸約集中,不停進(jìn)行迭代,將剩下的原特征集中的“最好的”特征添加進(jìn)來;②逐步向后刪除,即從整個(gè)特征集開始,不斷刪除特征集中“最差的”特征,反復(fù)迭代;③組合式方法,即將逐步向前選擇和逐步向后刪除方法結(jié)合使用,每次選擇一個(gè)“最好的”特征,并在剩余特征中刪除一個(gè)“最差的”特征,依次迭代;④決策樹歸納,即在每個(gè)節(jié)點(diǎn)上,算法會選擇“最好的”特征,并將數(shù)據(jù)劃分成類,每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)特征上的測試,每個(gè)分支對應(yīng)于測試的一個(gè)結(jié)果,每個(gè)外部節(jié)點(diǎn)表示一個(gè)類預(yù)測。
特征歸約處理的效果體現(xiàn)在:歸約后的數(shù)據(jù)大量減少;數(shù)據(jù)分析處理精度提高;數(shù)據(jù)預(yù)處理結(jié)果簡單且特征減少。
(2)維歸約
不同于特征歸約,維歸約的主要目的是減少所考慮的隨機(jī)變量或?qū)傩缘膫€(gè)數(shù)。維歸約常用的方法有小波變換和主成分分析,它們都是通過把原始數(shù)據(jù)變換或投影到較小的空間,來對數(shù)據(jù)進(jìn)行降維。
小波變換:一種線性信號處理技術(shù),將數(shù)據(jù)向量X變換成不同的數(shù)值小波系數(shù)向量X’,每個(gè)元組看作一個(gè)n維數(shù)據(jù)向量,即X=(x1,x2,…,xn),描述n個(gè)數(shù)據(jù)庫屬性在元組上的n個(gè)測量值。小波變換常用于多維數(shù)據(jù),如數(shù)據(jù)立方體,一般按以下方法實(shí)現(xiàn)。首先將變換用于第一個(gè)維,然后第二個(gè)維,以此類推。其計(jì)算復(fù)雜度與立方體中單元的個(gè)數(shù)呈線性關(guān)系。對于稀疏或傾斜數(shù)據(jù)以及具有有序?qū)傩缘臄?shù)據(jù),小波變換能給出很好的結(jié)果。據(jù)測量,小波變換的有損壓縮優(yōu)于JPEG壓縮。在實(shí)際應(yīng)用中,許多領(lǐng)域如時(shí)間序列數(shù)據(jù)分析、計(jì)算機(jī)視覺和指紋圖像壓縮都會用到小波變換。
主成分分析:主成分分析又稱K-L方法,搜索k個(gè)最能代表數(shù)據(jù)的n維正交向量,其中k≤n,將原數(shù)據(jù)投影到較小的集合中。
主成分分析基本過程為:①對輸入數(shù)據(jù)規(guī)范化,使每個(gè)屬性都落入相同區(qū)間;②計(jì)算k個(gè)標(biāo)準(zhǔn)正交向量,作為規(guī)范化輸入數(shù)據(jù)的基,這些向量稱為主成分,輸入數(shù)據(jù)是主成分的線性組合;③對主成分按強(qiáng)弱(方差大?。┙敌蚺帕校虎苋サ糨^弱的成分(方差較小的)來歸約數(shù)據(jù)。該法可用于有序和無序的屬性,且能處理稀疏和傾斜數(shù)據(jù),多用來做多元回歸和聚類分析的輸入。多維數(shù)據(jù)可通過歸約為二維問題來處理。不同于小波變換適合高維數(shù)據(jù),主成分分析能更好地處理稀疏數(shù)據(jù)。
(3)樣本歸約
樣本都是已知的,通常數(shù)目很大,質(zhì)量或高或低,可能有或者沒有關(guān)于實(shí)際問題的先驗(yàn)知識。所謂樣本歸約,是指從完整的數(shù)據(jù)集中選出一個(gè)有代表性的樣本的子集。所選取子集大小的確定要以計(jì)算成本、存儲要求、估計(jì)量的精度以及其他一些與算法和數(shù)據(jù)特性作為衡量因素。
數(shù)據(jù)分析的初始數(shù)據(jù)集描述了一個(gè)極大的總體,而采用樣本歸約后,對數(shù)據(jù)的分析只能基于樣本的一個(gè)子集。初始數(shù)據(jù)集中最大和最關(guān)鍵的維度數(shù)就是樣本的數(shù)目,也就是數(shù)據(jù)表中的記錄數(shù)。當(dāng)我們確定數(shù)據(jù)的樣本子集后,就用它來提供整個(gè)數(shù)據(jù)集的一些信息,這個(gè)樣本子集通常又稱為“估計(jì)量”,它的質(zhì)量依賴于所選取樣本子集中的元素。數(shù)據(jù)取樣過程總會造成取樣誤差,這對所有的方法和策略來講都是不可避免的,當(dāng)樣本子集的規(guī)模變大時(shí),取樣誤差一般會降低,所以數(shù)據(jù)集越大,采用樣本歸約的效果越好。
與采用整個(gè)數(shù)據(jù)集的數(shù)據(jù)進(jìn)行分析相比較,樣本歸約具有以下優(yōu)點(diǎn):一是成本低,二是速度更快,三是范圍更廣,四是在有些情況下可以獲得更高的精度。因此,樣本歸約也是較為常見的數(shù)據(jù)歸約方法之一。
(4)數(shù)量歸約
數(shù)量歸約是指用可替代的、較小的數(shù)據(jù)表示形式來替換原數(shù)據(jù)。數(shù)量歸約可以是有參的,也可以是無參的。對于有參方法而言,則使用一個(gè)模型來估計(jì)數(shù)據(jù),只需要存放模型參數(shù),而不需要存放實(shí)際數(shù)據(jù)。有參的數(shù)量歸約有以下兩種:
回歸:線性回歸和多元回歸。
對數(shù)–線性模型:近似離散多維概率分布。
無參的數(shù)量歸約有以下四種:
直方圖:采用分箱近似數(shù)據(jù)分布,其中V–最優(yōu)和MaxDiff直方圖是最精確實(shí)用的。
聚類:將數(shù)據(jù)元組視為對象,將對象劃分為群或聚類,使得在一個(gè)聚類中的對象“類似”而與其他聚類中的對象“不類似”,在分析時(shí)使用數(shù)據(jù)的聚類代替實(shí)際數(shù)據(jù)。
抽樣:與樣本歸約有一定交叉,用數(shù)據(jù)的較小隨機(jī)樣本表示大的數(shù)據(jù)集,如簡單選擇n個(gè)樣本(類似樣本歸約)、聚類選樣和分層選樣等。
數(shù)據(jù)立方體聚集:數(shù)據(jù)立方體存儲多維聚集信息,每個(gè)單元存放一個(gè)聚集值,對應(yīng)多維空間的一個(gè)數(shù)據(jù)點(diǎn),在最低抽象層創(chuàng)建的稱為基本立方體,在最高層抽象的稱為頂點(diǎn)立方體。
數(shù)量歸約是數(shù)據(jù)離散化技術(shù)的一種,它將具有連續(xù)型特征的值離散化,使之成為少量的區(qū)間,每個(gè)區(qū)間映射到一個(gè)離散符號,這種技術(shù)的好處在于簡化了數(shù)據(jù)描述,并易于理解數(shù)據(jù)和最終分析結(jié)果。
(5)數(shù)據(jù)壓縮
數(shù)據(jù)壓縮通過采用一定的變換方法和技術(shù),對原始數(shù)據(jù)進(jìn)行歸約或“壓縮”表示。如果能夠通過對“壓縮”后的數(shù)據(jù)進(jìn)行重構(gòu),還原出原始數(shù)據(jù),且這個(gè)過程不損失信息,那么可以說這種數(shù)據(jù)壓縮是無損的。如果我們只能近似地重構(gòu)并還原原始數(shù)據(jù),那么該數(shù)據(jù)歸約則稱為有損的。通常,維歸約和數(shù)量歸約也可以視為某種形式的數(shù)據(jù)壓縮。
當(dāng)然,還有許多其他方法可以用來進(jìn)行數(shù)據(jù)歸約。我們應(yīng)當(dāng)注意的是,花費(fèi)在數(shù)據(jù)歸約上的計(jì)算時(shí)間不應(yīng)超過或“抵消”在歸約后的數(shù)據(jù)上進(jìn)行分析和挖掘所節(jié)省的時(shí)間,這樣的歸約才有意義和有價(jià)值。
6、數(shù)據(jù)變換
數(shù)據(jù)預(yù)處理階段還有一種常用的技術(shù)就是數(shù)據(jù)變換。數(shù)據(jù)變換又稱為數(shù)據(jù)轉(zhuǎn)換,是指將數(shù)據(jù)從一種表示形式變?yōu)榱硪环N表現(xiàn)形式的過程。通過一定的數(shù)據(jù)變換,數(shù)據(jù)被轉(zhuǎn)換或統(tǒng)一成適合于進(jìn)行分析的形式,為網(wǎng)絡(luò)安全態(tài)勢理解提供更有效的數(shù)據(jù)形式。
(1)數(shù)據(jù)變換策略
常見的數(shù)據(jù)變換策略有以下幾種:
光滑:也就是去掉數(shù)據(jù)中的噪聲。這與前面介紹的數(shù)據(jù)清洗過程有一定交叉。
屬性(特征)構(gòu)造:由給定的屬性構(gòu)造新的屬性并添加到屬性集中,以輔助后續(xù)分析。
聚合:對數(shù)據(jù)進(jìn)行匯總和集中,可以為多個(gè)抽象層的數(shù)據(jù)分析構(gòu)造數(shù)據(jù)立方體。這與前面介紹的數(shù)據(jù)歸約過程也有一定交叉。
標(biāo)準(zhǔn)化:把屬性數(shù)據(jù)按比例縮放,使之落入一個(gè)特定的小區(qū)間。
離散化:將數(shù)值屬性的原始值用區(qū)間標(biāo)簽或概念標(biāo)簽替換,這些標(biāo)簽可以遞歸地組織成更高層概念,導(dǎo)致數(shù)值屬性的概念分層,對于同一個(gè)屬性可以定義多個(gè)概念分層。
概念分層:將某些屬性泛化到較高的概念層,這些高層次概念層蘊(yùn)含在數(shù)據(jù)庫的模式中,可以在模式定義級自動定義。
(2)數(shù)據(jù)變換處理內(nèi)容
根據(jù)上述策略,數(shù)據(jù)變換通常包含以下處理內(nèi)容:
平滑處理:該過程可以幫助消除數(shù)據(jù)中的噪聲,主要技術(shù)方法有聚類方法、分箱方法和回歸方法等。
合計(jì)處理:對數(shù)據(jù)進(jìn)行總結(jié)或合計(jì)操作。這樣操作常用于構(gòu)造數(shù)據(jù)立方體或?qū)?shù)據(jù)進(jìn)行多粒度分析。
泛化處理:用更抽象或更高層次的概念來取代低層次或數(shù)據(jù)層的數(shù)據(jù)對象。
標(biāo)準(zhǔn)化處理:就是將有關(guān)屬性數(shù)據(jù)的比例投射到特定小范圍之中。
(3)數(shù)據(jù)變換方法
我們從上面已經(jīng)了解到數(shù)據(jù)變換的常用策略和處理內(nèi)容,下面介紹幾種有代表性的數(shù)據(jù)變換方法。
分箱方法。這是一種基于指定的箱個(gè)數(shù)的自頂向下的分裂技術(shù)。例如,通過使用等寬或等頻分箱,然后用箱均值或中位數(shù)替換箱中的每個(gè)值,可以將屬性值離散化,就像用箱的均值或箱的中位數(shù)“光滑”一樣。該技術(shù)可以遞歸地作用于結(jié)果劃分,產(chǎn)生概念分層。由于并不使用類信息,其是一種非監(jiān)督的離散化技術(shù)。它對用戶指定的箱個(gè)數(shù)很敏感,也容易受離群點(diǎn)的影響。
直方圖分析方法。該方法也是一種非監(jiān)督的離散化技術(shù)。直方圖由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,可以使用各種劃分規(guī)則來定義直方圖。一般來說,等頻直方圖是較理想的情況,數(shù)據(jù)值被劃分為多個(gè)分區(qū),每個(gè)分區(qū)包括相同個(gè)數(shù)的數(shù)據(jù)元組。直方圖分析方法可以遞歸地用于每個(gè)分區(qū),自動地產(chǎn)生多級概念分層,直到達(dá)到一個(gè)預(yù)先設(shè)定的概念層數(shù)為止,也可以對每一層使用最小區(qū)間長度來控制遞歸過程,最小區(qū)間長度設(shè)定每層每個(gè)分區(qū)的最小寬度,或每層每個(gè)分區(qū)中值的最少數(shù)目。
聚類、決策樹和相關(guān)分析方法。聚類分析即將一個(gè)屬性的值劃分成簇或組,每個(gè)簇中的值相似,由聚類分析產(chǎn)生的簇的集合稱作一個(gè)聚類。聚類可以用來產(chǎn)生一個(gè)屬性的概念分層,其中每個(gè)簇形成概念分層的一個(gè)節(jié)點(diǎn)。在相同的數(shù)據(jù)集上,不同的聚類方法可能產(chǎn)生不同的聚類,聚類的策略有自頂向下的劃分策略和自底向上的合并策略,在前一種策略中,每一個(gè)初始簇或分區(qū)可以進(jìn)一步分解成若干子簇,形成較低的概念層;在后一種策略中,通過反復(fù)地對鄰近簇進(jìn)行分組,形成較高的概念層。決策樹是一種樹形結(jié)構(gòu),也稱作分類樹,其中每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的測試,每個(gè)分支代表一個(gè)測試輸出,每個(gè)節(jié)點(diǎn)代表一種類別。決策樹是一種常用的分類方法,一般采用自頂向下劃分的策略,它也是一種監(jiān)督學(xué)習(xí)方法。決策樹方法的主要思想是選擇劃分點(diǎn)(熵是最常用于確定劃分點(diǎn)的度量),使得一個(gè)給定的結(jié)果分區(qū)包含盡可能多的同類元組,選擇某個(gè)屬性值的最小化熵為劃分點(diǎn)并遞歸地劃分結(jié)果區(qū)間,得到該屬性的概念分層。相關(guān)分析是對不同特征(屬性)或數(shù)據(jù)之間的相關(guān)關(guān)系進(jìn)行分析的一種統(tǒng)計(jì)方法。按相關(guān)的程度分為完全相關(guān)、不完全相關(guān)和不相關(guān);按相關(guān)的方向分為正相關(guān)和負(fù)相關(guān);按影響因素的多少分為單相關(guān)和復(fù)相關(guān)。常用的相關(guān)分析方法有圖表相關(guān)分析(折線圖及散點(diǎn)圖)、協(xié)方差及協(xié)方差矩陣、相關(guān)系數(shù)、一元回歸及多元回歸、信息熵及互信息等。上述方法各有特點(diǎn),其中圖表方法最為直觀,相關(guān)系數(shù)方法可以看到變量之間兩兩的相關(guān)性,回歸方程可以對相關(guān)關(guān)系進(jìn)行提煉并生成模型用于預(yù)測,互信息可以對文本類特征間的相關(guān)關(guān)系進(jìn)行度量。
標(biāo)準(zhǔn)化方法。在數(shù)據(jù)預(yù)處理過程中,由于所采用的度量單位對數(shù)據(jù)分析有一定影響,不同的度量單位會產(chǎn)生不同的結(jié)果,為了幫助避免對度量單位選擇的依賴性,需要采用一定的標(biāo)準(zhǔn)化(或規(guī)范化)手段,對度量單位進(jìn)行數(shù)據(jù)變換,使之落入較小的共同區(qū)間。一般在沒有標(biāo)準(zhǔn)化的情況下,用較小的單位表示屬性會導(dǎo)致該屬性具有較大值域,對這樣的屬性常會賦予較高的“權(quán)重”,而標(biāo)準(zhǔn)化方法則會盡量賦予所有屬性相等的權(quán)重。常用的數(shù)據(jù)標(biāo)準(zhǔn)化方法有三種,即最小–最大規(guī)范化、z分?jǐn)?shù)規(guī)范化和按小數(shù)定標(biāo)規(guī)范化。對于涉及神經(jīng)網(wǎng)絡(luò)的分類算法或者基于距離度量的分類和聚類的情況,標(biāo)準(zhǔn)化方法特別有用,在沒有數(shù)據(jù)的先驗(yàn)知識時(shí)標(biāo)準(zhǔn)化也是很有用的。
概念分層方法。該方法一般適用于對標(biāo)稱數(shù)據(jù)的數(shù)據(jù)變換。標(biāo)稱屬性具有有窮多個(gè)不同值,這些值呈無序排列,采用人工定義概念分層非常耗時(shí)和枯燥,因此可以利用數(shù)據(jù)庫隱藏的模式自動地對其進(jìn)行定義和分層。概念分層可以把數(shù)據(jù)變換到多個(gè)粒度層,常見的方法有:①采用人工判別方式在模式級顯式地說明屬性的部分序(如偏序或全序),進(jìn)而容易地定義概念分層。通常,標(biāo)稱屬性或維的概念分層涉及一組屬性。②通過顯式數(shù)據(jù)分組說明分層結(jié)構(gòu)的一部分。在大型數(shù)據(jù)庫中,通過顯式的值枚舉定義整個(gè)概念分層是不現(xiàn)實(shí)的,然而,對于小部分中間層數(shù)據(jù),可以很容易地顯式說明分組。③說明屬性集但不說明它們的偏序。通過說明一個(gè)屬性集形成概念分層,但并不顯式地說明它們的偏序,然后由系統(tǒng)自動地產(chǎn)生屬性的序(根據(jù)給定屬性集中每個(gè)屬性不同值的個(gè)數(shù)),構(gòu)造有意義的概念分層,具有最多不同值的屬性放在分層結(jié)構(gòu)的最底層。一個(gè)屬性的不同值個(gè)數(shù)越少,其所在概念分層結(jié)構(gòu)中所處的層次越高。④只說明部分屬性集。在定義分層時(shí),通過人工方式可能對分層結(jié)構(gòu)中應(yīng)當(dāng)包含什么不那么清楚,因此在分層結(jié)構(gòu)說明中可能只包含相關(guān)屬性的一小部分,為了處理這種部分說明的分層結(jié)構(gòu),可以在數(shù)據(jù)庫模式中嵌入數(shù)據(jù)語義,使得語義密切相關(guān)的屬性能夠聚集在一起,這樣一個(gè)屬性的說明可能觸發(fā)整個(gè)語義密切相關(guān)的屬性組聚攏,進(jìn)而形成一個(gè)完整的分層結(jié)構(gòu)。
7、數(shù)據(jù)融合
(1)數(shù)據(jù)融合與態(tài)勢感知
數(shù)據(jù)融合與整個(gè)態(tài)勢感知過程的關(guān)系都極為密切,不僅僅在態(tài)勢提取階段,在態(tài)勢理解和預(yù)測階段也會用到大量的數(shù)據(jù)融合算法模型,甚至前面介紹的預(yù)處理方法有些也會與數(shù)據(jù)融合方法有交叉,因?yàn)閿?shù)據(jù)融合不僅僅是一種數(shù)據(jù)處理方法,還是一門學(xué)科。我們先來看看數(shù)據(jù)融合的產(chǎn)生背景。早在20世紀(jì)70年代軍事領(lǐng)域就提出了“多源數(shù)據(jù)融合”的概念,多源數(shù)據(jù)融合就是模仿人和動物處理信息的認(rèn)知過程。人或動物首先通過眼睛、耳朵和鼻子等多種感官對客觀事物實(shí)施多種類、多方位的感知,獲得大量互補(bǔ)和冗余的信息,然后由大腦對這些感知信息依據(jù)某種未知的規(guī)則進(jìn)行組合和處理,從而得到對客觀對象統(tǒng)一與和諧的理解和認(rèn)識。人們希望用機(jī)器來模仿這種由感知到認(rèn)知的過程,于是產(chǎn)生了新的邊緣學(xué)科——數(shù)據(jù)融合。數(shù)據(jù)融合也稱為信息融合,是指對多源數(shù)據(jù)進(jìn)行多級別、多層次、多方面的集成、關(guān)聯(lián)、處理和綜合,以獲得更高精度、概率或置信度的信息,并據(jù)此完成需要的估計(jì)和決策的信息處理過程。
數(shù)據(jù)融合技術(shù)起源于軍事領(lǐng)域,也在軍事領(lǐng)域得到廣泛應(yīng)用,其應(yīng)用范圍主要有:①組建分布式傳感器網(wǎng)絡(luò)進(jìn)行監(jiān)視,比如雷達(dá)網(wǎng)絡(luò)監(jiān)視空中目標(biāo)、聲吶網(wǎng)絡(luò)監(jiān)視潛艇。②實(shí)用多傳感器對火力控制系統(tǒng)進(jìn)行跟蹤指揮。③在指揮控制系統(tǒng)中進(jìn)行應(yīng)用,進(jìn)行態(tài)勢和威脅估計(jì)。④偵察和預(yù)警等。美國軍隊(duì)的軍事情報(bào)分析動態(tài)顯示專家系統(tǒng)、多傳感器多平臺跟蹤的情報(bào)相關(guān)處理器系統(tǒng)、陸軍戰(zhàn)術(shù)指控系統(tǒng),法國的防空指揮控制系統(tǒng),德國“豹2”坦克的信息系統(tǒng)都應(yīng)用了數(shù)據(jù)融合技術(shù)。在民用方面,數(shù)據(jù)融合被成功應(yīng)用于機(jī)器人和智能儀器系統(tǒng)、遙感圖像分析與理解、氣象預(yù)報(bào)、安全防范、工業(yè)監(jiān)控、智能交通、經(jīng)濟(jì)金融等諸多領(lǐng)域。
態(tài)勢感知的概念源于空中交通監(jiān)管,態(tài)勢感知過程以態(tài)勢數(shù)據(jù)的融合處理為中心,態(tài)勢感知模型的建立大多以數(shù)據(jù)融合模型為基礎(chǔ),態(tài)勢感知過程的數(shù)據(jù)處理流程也與數(shù)據(jù)融合模型的處理流程非常相似。最早提出“網(wǎng)絡(luò)空間態(tài)勢感知”概念的Tim Bass設(shè)計(jì)的基于多傳感器數(shù)據(jù)融合的入侵檢測框架,就是將數(shù)據(jù)融合領(lǐng)域中的JDL模型應(yīng)用到網(wǎng)絡(luò)安全態(tài)勢感知領(lǐng)域的結(jié)果。由此可見,網(wǎng)絡(luò)空間態(tài)勢感知從誕生之初就與數(shù)據(jù)融合技術(shù)密不可分。數(shù)據(jù)融合技術(shù)是態(tài)勢感知技術(shù)的基礎(chǔ),態(tài)勢感知需要結(jié)合網(wǎng)絡(luò)中各種設(shè)備的多樣信息以得到一個(gè)綜合結(jié)果,對數(shù)據(jù)的處理和融合是態(tài)勢感知過程的中心。網(wǎng)絡(luò)環(huán)境中的各種設(shè)備信息、安全告警信息及網(wǎng)絡(luò)流量信息等繁雜多樣的信息構(gòu)成了網(wǎng)絡(luò)中的多源異構(gòu)數(shù)據(jù),態(tài)勢感知的目的是對這些數(shù)據(jù)進(jìn)行融合處理并得到網(wǎng)絡(luò)的總體態(tài)勢。數(shù)據(jù)融合技術(shù)能有效融合所獲得的多源數(shù)據(jù),充分利用其冗余性和互補(bǔ)性,在多個(gè)數(shù)據(jù)源之間取長補(bǔ)短,從而為感知過程提供保障,以便更準(zhǔn)確地生成網(wǎng)絡(luò)空間態(tài)勢信息。
(2)數(shù)據(jù)融合的層次分類
數(shù)據(jù)融合作為一種多級別、多層次的數(shù)據(jù)處理,作用對象主要是來自多個(gè)傳感器或多個(gè)數(shù)據(jù)源的數(shù)據(jù),經(jīng)過數(shù)據(jù)融合所做的操作,使得通過數(shù)據(jù)分析而得到的結(jié)論更加準(zhǔn)確與可靠。按照信息抽象程度可以把數(shù)據(jù)融合分為3個(gè)層次,從低到高依次為數(shù)據(jù)級融合、特征級融合和決策級融合。
最低層為數(shù)據(jù)級融合,也稱為信號級融合。對未經(jīng)處理的各個(gè)數(shù)據(jù)源的原始數(shù)據(jù)進(jìn)行綜合分析處理,進(jìn)行的操作只包括對數(shù)據(jù)的格式進(jìn)行變換、對數(shù)據(jù)進(jìn)行合并等,最大程度地保持了原始信息的內(nèi)容。這種處理方式可以處理大量的信息,但是操作需要的時(shí)間較長,不具備良好的實(shí)時(shí)性。
中間一層為特征級融合。在對原始數(shù)據(jù)進(jìn)行預(yù)處理以后,對數(shù)據(jù)對象的特征進(jìn)行提取,之后再進(jìn)行綜合處理。通過數(shù)據(jù)的特征提取,在獲得數(shù)據(jù)中重要信息的同時(shí),去掉一些不需要關(guān)注的信息,這樣就實(shí)現(xiàn)了信息的壓縮,減小了數(shù)據(jù)的規(guī)模,滿足了實(shí)時(shí)處理的要求。
最高層是決策級融合。在決策級融合之前,已經(jīng)對數(shù)據(jù)源完成了決策或分類。決策級融合根據(jù)一定的規(guī)則和決策的可信度做出最優(yōu)決策,因此具有良好的實(shí)時(shí)性和容錯(cuò)性。
在當(dāng)前復(fù)雜的網(wǎng)絡(luò)環(huán)境中存在著多種多樣的安全設(shè)備,這些安全設(shè)備從不同的角度對網(wǎng)絡(luò)上不同的內(nèi)容進(jìn)行監(jiān)控,所提供的安全事件信息的格式也各不相同。將處在不同位置、所提供信息格式也不相同的網(wǎng)絡(luò)安全設(shè)備看作網(wǎng)絡(luò)安全狀態(tài)信息采集傳感器,那么采用數(shù)據(jù)融合技術(shù)對各種網(wǎng)絡(luò)安全事件信息進(jìn)行預(yù)處理操作,在此基礎(chǔ)上進(jìn)行歸一化、態(tài)勢聚合計(jì)算等操作,就可以實(shí)現(xiàn)對網(wǎng)絡(luò)運(yùn)行狀況以及面臨的威脅情況等的實(shí)時(shí)評估。在對多傳感器產(chǎn)生的原始安全信息進(jìn)行壓縮和特征提取等低層數(shù)據(jù)融合操作后,其輸出結(jié)果就可以為高層次的態(tài)勢評估提供依據(jù)。數(shù)據(jù)融合以及相關(guān)的算法在網(wǎng)絡(luò)安全管理和安全態(tài)勢分析與評估中得到了很多應(yīng)用。
(3)數(shù)據(jù)融合相關(guān)算法
數(shù)據(jù)融合繼承自許多傳統(tǒng)學(xué)科并且運(yùn)用了許多新技術(shù),是一種對數(shù)據(jù)進(jìn)行綜合處理的技術(shù)。按照不同的分類方法,有的將數(shù)據(jù)融合方法分為三大類,即直接操作數(shù)據(jù)源(如加權(quán)平均、神經(jīng)元網(wǎng)絡(luò))、利用對象的統(tǒng)計(jì)特性和概率模型進(jìn)行操作(如卡爾曼濾波、貝葉斯估計(jì)、統(tǒng)計(jì)決策理論)和基于規(guī)則推理的方法(如模糊推理、證據(jù)推理、產(chǎn)生式規(guī)則等);有的將數(shù)據(jù)融合方法分為兩大類,一類是經(jīng)典方法,主要包括基于模型和基于概率的方法,如加權(quán)平均法、卡爾曼濾波法、貝葉斯推理、Dempster-Shafer證據(jù)理論(簡稱D-S證據(jù)理論)、小波分析、經(jīng)典概率推理等,另一類是現(xiàn)代方法,主要包括邏輯推理和機(jī)器學(xué)習(xí)的人工智能方法,如聚類分析法、粗糙集、模板法、模糊理論、人工神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、進(jìn)化算法等。
1)經(jīng)典方法
加權(quán)平均法是最簡單直觀的數(shù)據(jù)融合方法,它將不同傳感器提供的數(shù)據(jù)賦予不同的權(quán)重,加權(quán)平均生成融合結(jié)果。其優(yōu)點(diǎn)是直接對原始傳感器數(shù)據(jù)進(jìn)行融合,能實(shí)時(shí)處理傳感器數(shù)據(jù),適用于動態(tài)環(huán)境,缺點(diǎn)是權(quán)重系數(shù)帶有一定的主觀性,不易設(shè)定和調(diào)整。
卡爾曼濾波法常用于實(shí)時(shí)融合動態(tài)底層冗余傳感器數(shù)據(jù),用統(tǒng)計(jì)特征遞推決定統(tǒng)計(jì)意義下的最優(yōu)融合估計(jì)。其優(yōu)點(diǎn)是它的遞推特性保證系統(tǒng)處理不需要大量的數(shù)據(jù)存儲和計(jì)算,可實(shí)現(xiàn)實(shí)時(shí)處理;缺點(diǎn)是對出錯(cuò)數(shù)據(jù)非常敏感,需要有關(guān)測量誤差的統(tǒng)計(jì)知識作為支撐。
貝葉斯推理法基于貝葉斯推理法則,在設(shè)定先驗(yàn)概率的條件下利用貝葉斯推理法則計(jì)算出后驗(yàn)概率,基于后驗(yàn)概率做出決策。貝葉斯推理在許多智能任務(wù)中都能作為對于不確定推理的標(biāo)準(zhǔn)化有效方法,其優(yōu)點(diǎn)是簡潔、易于處理相關(guān)事件;缺點(diǎn)是難以區(qū)分不確定事件,在實(shí)際運(yùn)用中定義先驗(yàn)似然函數(shù)較為困難,當(dāng)假定與實(shí)際矛盾時(shí),推理結(jié)果很差,在處理多假設(shè)和多條件問題時(shí)相當(dāng)復(fù)雜。
D-S證據(jù)理論的特點(diǎn)是允許對各種等級的準(zhǔn)確程度進(jìn)行描述,并且直接允許描述未知事物的不確定性。在D-S證據(jù)理論中使用了一個(gè)與概率論相比更加弱的信任函數(shù),信任函數(shù)的作用就是能夠準(zhǔn)確地把不知道和不確定之間的差異區(qū)分開來。其優(yōu)點(diǎn)是不需要先驗(yàn)信息,通過引入置信區(qū)間、信度函數(shù)等概念對不確定信息采用區(qū)間估計(jì)的方法描述,解決了不確定性的表示方法。缺點(diǎn)在于其計(jì)算復(fù)雜性是一個(gè)指數(shù)爆炸問題,并且組合規(guī)則對證據(jù)獨(dú)立性的要求使得其在解決證據(jù)本身沖突的問題時(shí)可能出錯(cuò)。
2)現(xiàn)代方法
聚類分析法是一組啟發(fā)式算法,通過關(guān)聯(lián)度或相似性函數(shù)來提供表示特征向量之間相似或不相似程度的值,據(jù)此將多維數(shù)據(jù)分類,使得同一類內(nèi)樣本關(guān)聯(lián)性最大,不同類之間樣本關(guān)聯(lián)性最小。其優(yōu)點(diǎn)是在標(biāo)識類應(yīng)用中模式數(shù)目不是很精確的情況下效果很好,可以發(fā)現(xiàn)數(shù)據(jù)分布的一些隱含的有用信息。缺點(diǎn)在于由于其本身的啟發(fā)性使得算法具有潛在的傾向性,聚類算法、相似性參數(shù)、數(shù)據(jù)的排列方式甚至數(shù)據(jù)的輸入順序等都對結(jié)果有影響。
粗糙集理論的主要思想是在保持分類能力不變的前提下,通過對知識的約簡導(dǎo)出概念的分類規(guī)則。它是一種處理模糊性和不確定性的數(shù)學(xué)方法,利用粗糙集方法分析決策表可以評價(jià)特定屬性的重要性,建立屬性集的約簡以及從決策表中去除冗余屬性,從約簡的決策表中產(chǎn)生分類規(guī)則并利用得到的結(jié)果進(jìn)行決策。
模板法應(yīng)用“匹配”的概念,通過預(yù)先建立的邊界來進(jìn)行身份分類。它首先把多維特征空間分解為不同區(qū)域來表示不同身份類別,通過特征提取建立一個(gè)特征向量,對比多傳感器觀測數(shù)據(jù)與特征向量在特征空間中的位置關(guān)系來確定身份。模板法的輸入是傳感器的觀測數(shù)據(jù),輸出的是觀測結(jié)果的身份,其缺點(diǎn)是邊界建立時(shí)會互相覆蓋從而使身份識別產(chǎn)生模糊性,同時(shí)特征的選擇和分布也會對結(jié)果有很強(qiáng)的影響。
模糊理論是基于分類的局部理論,建立在一組可變的模糊規(guī)則之上。模糊理論以隸屬函數(shù)來表達(dá)規(guī)則的模糊概念和詞語的意思,從而在數(shù)字表達(dá)和符號表達(dá)之間建立一個(gè)交互接口。它適用于處理非精確問題,以及信息或決策沖突問題的融合。由于不同類型的傳感器識別能力不同,模糊理論中考慮了信源的重要程度,更能反映客觀實(shí)際,提高了融合系統(tǒng)的實(shí)用性。
人工神經(jīng)網(wǎng)絡(luò)是模擬人腦結(jié)構(gòu)和智能特點(diǎn),以及人腦信息處理機(jī)制構(gòu)造的模型,是對自然界某種算法或函數(shù)的逼近,也可能是對一種邏輯策略的表達(dá)。人工神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)融合方面應(yīng)用廣泛,如前向多層神經(jīng)網(wǎng)絡(luò)及其逆推學(xué)習(xí)算法、對向傳播神經(jīng)網(wǎng)絡(luò)等。神經(jīng)網(wǎng)絡(luò)處理數(shù)據(jù)容錯(cuò)性好,具有大規(guī)模并行模擬處理能力,具有很強(qiáng)的自學(xué)習(xí)、自適應(yīng)能力,某些方面可以替代復(fù)雜耗時(shí)的傳統(tǒng)算法。
專家系統(tǒng)也稱基于知識的系統(tǒng),是具備智能特點(diǎn)的計(jì)算機(jī)程序,該系統(tǒng)具備解決特定問題所需專門領(lǐng)域的知識,是在特定領(lǐng)域內(nèi)通過模仿人類專家的思維活動以及推理與判斷來求解復(fù)雜問題。其核心部分為知識庫和推理機(jī),知識庫用來存放專家提供的知識,系統(tǒng)基于知識庫中的知識模擬專家的思維方式來求解問題。推理機(jī)包含一般問題求解過程所用的推理方法和控制策略,由具體的程序?qū)崿F(xiàn)。推理機(jī)如同專家解決問題的思維方式,知識庫通過推理機(jī)來實(shí)現(xiàn)其價(jià)值。專家系統(tǒng)可用于決策級數(shù)據(jù)融合,適合完成那些沒有公認(rèn)理論和方法、數(shù)據(jù)不精確或不完整的數(shù)據(jù)融合。
不同數(shù)據(jù)融合算法的優(yōu)缺點(diǎn)以及適用范圍如表1所示。
表1 各種數(shù)據(jù)融合算法對比分析
此外,關(guān)聯(lián)分析這個(gè)方法也很適合網(wǎng)絡(luò)安全數(shù)據(jù)的融合預(yù)處理。常見的有:一是依據(jù)數(shù)據(jù)族的屬性相似度進(jìn)行關(guān)聯(lián),如數(shù)據(jù)族指向的目標(biāo)相同、端口相同或目標(biāo)地址相同等,建立關(guān)聯(lián)關(guān)系。二是依據(jù)時(shí)間順序進(jìn)行關(guān)聯(lián),如同一IP在網(wǎng)絡(luò)流量、操作日志、應(yīng)用審計(jì)、監(jiān)測報(bào)警等數(shù)據(jù)上具有時(shí)序特征的,建立關(guān)聯(lián)關(guān)系。三是IP交互關(guān)聯(lián),在IP通信、數(shù)據(jù)流向、請求與應(yīng)答等存在交互行為的,建立關(guān)聯(lián)關(guān)系。通過上述數(shù)據(jù)關(guān)聯(lián),可將原始數(shù)據(jù)進(jìn)行重新組織,以梳理出數(shù)據(jù)的流向、行為、脈絡(luò)、層次等關(guān)系,形成數(shù)據(jù)關(guān)系圖譜。