徐蘇婭,胡彩平,王立松
(南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 210016)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信的方式形成一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作的感知、采集和處理網(wǎng)絡(luò)覆蓋的地理區(qū)域中感知對(duì)象的信息,并發(fā)給用戶[1]。無(wú)線通信等技術(shù)的快速發(fā)展,推動(dòng)了低功耗多功能傳感器的快速發(fā)展,從而使這種網(wǎng)絡(luò)系統(tǒng)的應(yīng)用越來(lái)越廣泛,包括環(huán)境監(jiān)測(cè)、交通管理、醫(yī)療衛(wèi)生、工農(nóng)業(yè)等。然而由于無(wú)線傳感器網(wǎng)絡(luò)自身存在的一些缺陷以及采集數(shù)據(jù)量越來(lái)越大等因素的影響,采集的數(shù)據(jù)樣本中不可避免地存在一些錯(cuò)誤或異常數(shù)據(jù),即所謂的離群點(diǎn)。在現(xiàn)實(shí)社會(huì)中,相對(duì)于那些經(jīng)常發(fā)生和出現(xiàn)的事物,人們往往對(duì)那些不常出現(xiàn)的特別事件或物體更感興趣[2]。例如對(duì)于森林檢測(cè)而言,溫度異常的數(shù)據(jù)或許預(yù)示火災(zāi)的發(fā)生,因此對(duì)離群點(diǎn)的檢測(cè)是有必要的。
到目前為止,對(duì)離群點(diǎn)還沒(méi)有一個(gè)正式的定義。Hawkins是這樣定義離群點(diǎn)的:“如果在一個(gè)數(shù)據(jù)樣本與其他樣本之間存在足以引起懷疑的差異,則稱其為離群點(diǎn)[3]。”離群點(diǎn)有多種別名:孤立點(diǎn)、異常點(diǎn)、新穎點(diǎn)、偏離點(diǎn)、噪音等。在許多研究中,為減少不一致數(shù)據(jù)也即離群數(shù)據(jù)對(duì)分析結(jié)果的影響,離群點(diǎn)常被忽略或者作為噪聲被處理,然而一個(gè)人的噪聲可能是另一個(gè)人的信號(hào),不加分析的舍棄離群數(shù)據(jù),可能導(dǎo)致重要信息的丟失。例如在欺詐檢測(cè)中,離群數(shù)據(jù)可能意味著欺詐行為的發(fā)生;在環(huán)境監(jiān)測(cè)中,離群數(shù)據(jù)可能預(yù)示著災(zāi)害天氣的到來(lái)。
根據(jù)離群點(diǎn)的定義,當(dāng)一個(gè)數(shù)據(jù)樣本的屬性值有異常時(shí),它會(huì)被識(shí)別為離群點(diǎn)。相對(duì)于多屬性的數(shù)據(jù)樣本來(lái)說(shuō),單個(gè)屬性的數(shù)據(jù)樣本更容易被識(shí)別。然而,每個(gè)傳感器節(jié)點(diǎn)都配備多個(gè)不同的傳感器,這樣數(shù)據(jù)樣本就存在多個(gè)屬性,這些屬性可能就存在特定的相關(guān)性。因此,把多個(gè)數(shù)值屬性融合之后再進(jìn)行離群點(diǎn)檢測(cè),其正確性會(huì)更高,也更具有實(shí)際意義。
數(shù)據(jù)融合最早起源于軍事領(lǐng)域,是一個(gè)愈來(lái)愈受到人們重視的研究方向。它的誕生可以歸結(jié)于在一個(gè)系統(tǒng)中使用了多個(gè)不同的傳感器,因此也稱為多傳感器數(shù)據(jù)融合。目前對(duì)數(shù)據(jù)融合還沒(méi)有得到一致的定義,它是針對(duì)使用多個(gè)或多類傳感器系統(tǒng)的處理方法,利用計(jì)算機(jī)和嵌入式技術(shù)對(duì)按時(shí)間序列獲得的數(shù)據(jù)信息在一定規(guī)則下做出決策和估計(jì)。
數(shù)據(jù)融合的關(guān)鍵技術(shù)主要是數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)相關(guān)、數(shù)據(jù)庫(kù)和融合計(jì)算等,其中融合計(jì)算是多傳感器數(shù)據(jù)融合系統(tǒng)的核心技術(shù)[4]。文中用到了數(shù)據(jù)轉(zhuǎn)換技術(shù),由于多傳感器輸出的數(shù)據(jù)形式、環(huán)境描述不一樣,數(shù)據(jù)融合中心處理這些不同來(lái)源的信息時(shí),首先需要把這些數(shù)據(jù)轉(zhuǎn)換成相同的形式和描述,然后再進(jìn)行相關(guān)處理。數(shù)據(jù)轉(zhuǎn)換時(shí),不僅要轉(zhuǎn)換不同層次的信息,而且需要轉(zhuǎn)換對(duì)環(huán)境或目標(biāo)描述的不同與相似之處。即使同一層次的信息,也存在不同的描述。再者,數(shù)據(jù)融合存在時(shí)間性與空間性,因此要用到坐標(biāo)變換。坐標(biāo)變換的非線性帶來(lái)的誤差直接影響數(shù)據(jù)的質(zhì)量和時(shí)空校準(zhǔn),影響融合處理的質(zhì)量[5-6]。
貝葉斯的主要思想是這樣的:對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,哪個(gè)最大就認(rèn)為此待分項(xiàng)就屬于哪個(gè)類別。貝葉斯分類是一類分類算法的總稱,這類算法是以貝葉斯定理為基礎(chǔ)的,故統(tǒng)稱為貝葉斯分類。貝葉斯定理也稱為貝葉斯推理,是18世紀(jì)英國(guó)學(xué)者貝葉斯根據(jù)條件概率提出的。假設(shè)表示事件B已經(jīng)發(fā)生的前提下,事件A發(fā)生的概率,叫作事件B發(fā)生下事件A的條件概率。貝葉斯定理基本公式為p(B)/P(A)。
貝葉斯分類的正式定義如下:假設(shè)有一個(gè)未知數(shù)據(jù)樣本x{a1,a2,…,am},屬性個(gè)數(shù)為m,其中每個(gè)a為x的一個(gè)特征屬性,假設(shè)數(shù)據(jù)類別為n,集合C={y1,y2,…,yn},已知數(shù)據(jù)樣本,分別計(jì)算,如果概率最大,即,那么該數(shù)據(jù)樣本屬于第 k 類,即 x∈yk[7-8]。
本文利用貝葉斯分類原理,推廣到多傳感器網(wǎng)絡(luò)中,將數(shù)據(jù)分為正常數(shù)據(jù)和異常數(shù)據(jù)兩個(gè)類別,通過(guò)對(duì)部分?jǐn)?shù)據(jù)訓(xùn)練得到分類模型,然后利用該模型對(duì)未知數(shù)據(jù)進(jìn)行檢測(cè),屬于異常數(shù)據(jù)類別的數(shù)據(jù)樣本就可以認(rèn)為是離群點(diǎn)。
首先將多傳感器收集的多屬性數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,使數(shù)值屬性都變成純量數(shù)據(jù),這樣就可以將多維數(shù)據(jù)進(jìn)行比較。目前常用的數(shù)據(jù)轉(zhuǎn)換主要有min-max標(biāo)準(zhǔn)化、log函數(shù)轉(zhuǎn)換、atan函數(shù)轉(zhuǎn)換、z-score標(biāo)準(zhǔn)化等。
min-max標(biāo)準(zhǔn)化(Min-max normalization),也叫離差標(biāo)準(zhǔn)化,是對(duì)原始數(shù)據(jù)的線性變化,使結(jié)果落到[0,1]區(qū)間,轉(zhuǎn)換函數(shù)為 x*=(x-min)/(max-min),其中max為樣本數(shù)據(jù)的最大值,min為樣本數(shù)據(jù)的最小值。這種方法有一個(gè)缺陷就是當(dāng)有新數(shù)據(jù)加入時(shí),可能導(dǎo)致max和min的變化,因此需要重新定義。log轉(zhuǎn)換函數(shù)為x*=log10(x)/log10(max),其中max為樣本數(shù)據(jù)最大值,并且所有的數(shù)據(jù)均≥1。atan函數(shù)轉(zhuǎn)換利用反正切函數(shù)也可以實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,使用這個(gè)方法進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí)要求數(shù)據(jù)≥0,<0的數(shù)據(jù)將被映射到[-1,0]區(qū)間上,具體轉(zhuǎn)換方法為 x*=a tan(x)*2/π,其中函數(shù)a tan(x)是求x的反正切函數(shù)。z-score標(biāo)準(zhǔn)化(zero-mean normalization),也叫標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化,經(jīng)過(guò)處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1,其轉(zhuǎn)化函數(shù)為x*=(x-u)/σ,其中u為所有樣本數(shù)據(jù)的均值,σ為所有樣本數(shù)據(jù)的標(biāo)準(zhǔn)差。
本文選用的是min-max標(biāo)準(zhǔn)化轉(zhuǎn)換函數(shù),這是比較常用的轉(zhuǎn)換函數(shù),也是最容易實(shí)現(xiàn)的函數(shù)。通過(guò)標(biāo)準(zhǔn)化轉(zhuǎn)換,所有的數(shù)據(jù)屬性都變成無(wú)量綱數(shù)據(jù),彼此間可以進(jìn)行融合計(jì)算。
假設(shè)在無(wú)線傳感器網(wǎng)絡(luò)中,每個(gè)數(shù)據(jù)樣本用一個(gè)n維特征向量表示,這n維特征向量分別用A1,A2,…,An表示。假定數(shù)據(jù)樣本共有m個(gè)類,給定一個(gè)未知類別的數(shù)據(jù)樣本X,在已知該數(shù)據(jù)樣本的條件下,分類器將預(yù)測(cè)其屬于最高后驗(yàn)概率的類。也就是說(shuō),樸素貝葉斯分類將未知樣本分配給Ci(1≤i≤m)類當(dāng)且僅當(dāng),對(duì)任意的 j=1,2,…,m,j≠i。這樣最大的類Ci就被稱為最大后驗(yàn)假定,可以根據(jù)貝葉斯定理p(Ci)/p(X)求出。
由于對(duì)于所有類為常數(shù),只要p(X Ci)P(Ci)最大即可。如果類Ci的先驗(yàn)概率未知,則通常假定這些類是等概率的,即p(C1)=p(C2)=…=p(Cm),因此問(wèn)題就轉(zhuǎn)換為對(duì)的最大化。否則,就需要最大化,這里類的先驗(yàn)概率可以用公式p(Ci)=si/S計(jì)算,其中si是類Ci中的訓(xùn)練樣本數(shù),而S是訓(xùn)練樣本總數(shù)。
多屬性數(shù)據(jù)集的計(jì)算開(kāi)銷可能較大,為降低計(jì)算開(kāi)銷,可以做類條件獨(dú)立的樸素假定。給定樣本的類標(biāo)號(hào),假定屬性相互條件獨(dú)立,即在屬性間不存在依賴關(guān)系。這樣
。對(duì)未知樣本分類,也就是對(duì)每個(gè)類別Ci,計(jì)算的大小。如果,那么數(shù)據(jù)樣本X就被指派到類別 Ci,即數(shù)據(jù)樣本 X被指派到最大的類。
利用數(shù)據(jù)融合和貝葉斯分類結(jié)合的方法進(jìn)行離群點(diǎn)檢測(cè),首先將傳感器收集的數(shù)據(jù)轉(zhuǎn)換成同一樣式,然后對(duì)不同屬性進(jìn)行融合分類,檢測(cè)出離群點(diǎn),分別對(duì)所有單個(gè)屬性、部分屬性、所有屬性融合檢測(cè),分別得出其檢測(cè)的正確性,并進(jìn)行比較,實(shí)驗(yàn)得出多屬性的融合檢測(cè)結(jié)果比單一或低維屬性的融合檢測(cè)效果更好。
數(shù)據(jù)預(yù)處理階段:(1)加載數(shù)據(jù)樣本S,選取溫度、濕度、亮度和電壓4個(gè)屬性。(2)利用min-max標(biāo)準(zhǔn)化方法對(duì)數(shù)據(jù)樣本S進(jìn)行標(biāo)準(zhǔn)化處理,使其都變成純量綱數(shù)值。(3)在得到的標(biāo)準(zhǔn)化數(shù)據(jù)樣本中隨機(jī)插入離群數(shù)據(jù)樣本So。(4)將含有離群點(diǎn)的數(shù)據(jù)樣本分成兩部分,一部分是用于訓(xùn)練建模的訓(xùn)練樣本Strain;另一部分是用于測(cè)試數(shù)據(jù)的測(cè)試樣本Stest。訓(xùn)練數(shù)據(jù)樣本階段:(1)將樣本所屬類別分為Cnormal和 Coutlier兩類,分別求出兩類的概率 Pnormal和Poutlier。(2)對(duì)指定的類別和數(shù)據(jù)樣本的不同屬性融合,分別求出均值mu和方差xigma。
測(cè)試數(shù)據(jù)樣本階段:(1)給定測(cè)試樣本X,分別計(jì)算數(shù)據(jù)屬性xi屬于類Ci的概率(2)對(duì)于0≤i≤n,其中n為測(cè)試樣本總數(shù),數(shù)據(jù)樣本X被指派到最大的類中。(3)最后,計(jì)算分類的正確率。
利用數(shù)據(jù)融合和貝葉斯分類結(jié)合的方法進(jìn)行離群點(diǎn)檢測(cè),首先將傳感器收集的數(shù)據(jù)轉(zhuǎn)換成同一樣式,然后對(duì)不同屬性進(jìn)行融合分類。假設(shè)m為數(shù)據(jù)樣本個(gè)數(shù),n為數(shù)據(jù)樣本的維度;k為離群點(diǎn)個(gè)數(shù);t為將數(shù)據(jù)樣本分成的種類數(shù)。在預(yù)處理階段數(shù)據(jù)標(biāo)準(zhǔn)化的復(fù)雜度為O(mn),隨機(jī)插入離群數(shù)據(jù)樣本的復(fù)雜度為O(k),訓(xùn)練數(shù)據(jù)樣本階段的復(fù)雜度為O(tm),測(cè)試數(shù)據(jù)樣本階段的復(fù)雜度為O(mnt)。由此可見(jiàn),F(xiàn)usion-Bayes算法的復(fù)雜度較低,效率較高。
實(shí)驗(yàn)采用的數(shù)據(jù)樣本是由伯克利實(shí)驗(yàn)室配置的無(wú)線傳感器網(wǎng)絡(luò)收集而來(lái)[5]。實(shí)驗(yàn)中選取如圖1所示的鄰近7個(gè)傳感器節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行檢測(cè),實(shí)驗(yàn)在Matlab2007上進(jìn)行的。每個(gè)數(shù)據(jù)樣本有8個(gè)屬性,即日期、時(shí)間、時(shí)間戳、標(biāo)記號(hào)、溫度、濕度、亮度和電壓,實(shí)驗(yàn)中選取后4個(gè)屬性進(jìn)行融合檢測(cè)。實(shí)驗(yàn)中選取圓圈內(nèi)標(biāo)注的簇節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),Node35是中心節(jié)點(diǎn),其余節(jié)點(diǎn)是鄰居節(jié)點(diǎn)。這些數(shù)據(jù)樣本是傳感器節(jié)點(diǎn)在2004年3月5日內(nèi)收集的,在每個(gè)傳感器節(jié)點(diǎn)收集的數(shù)據(jù)中加入由Matlab隨機(jī)生成的200個(gè)離群點(diǎn),這些隨機(jī)生成的離群點(diǎn)和傳感器數(shù)據(jù)樣本轉(zhuǎn)換后的格式一致。
圖1 伯克利實(shí)驗(yàn)布置的傳感器分布圖
實(shí)驗(yàn)中共對(duì)7個(gè)傳感器節(jié)點(diǎn)在一天內(nèi)收集的樣本數(shù)據(jù)進(jìn)行檢測(cè),傳感器節(jié)點(diǎn)平均31 s進(jìn)行一次數(shù)據(jù)記錄,每個(gè)傳感器收集的數(shù)據(jù)樣本融合由Matlab隨機(jī)生成的離群點(diǎn),總個(gè)數(shù)約為2 000個(gè),利用基于數(shù)據(jù)融合的離群點(diǎn)進(jìn)行檢測(cè),每個(gè)數(shù)據(jù)樣本有4個(gè)屬性,即溫度、濕度、亮度和電壓,根據(jù)不同屬性進(jìn)行融合可得到15組不同的組合,分別對(duì)這些組合進(jìn)行離群點(diǎn)檢測(cè)實(shí)驗(yàn),每個(gè)傳感器節(jié)點(diǎn)在不同屬性融合的前提下,檢測(cè)正確率如圖2所示,其中橫坐標(biāo)對(duì)應(yīng)所選取的7個(gè)傳感器位置,縱坐標(biāo)是檢測(cè)的正確率。
圖2可以看出對(duì)溫度、濕度、亮度和電壓4個(gè)屬性進(jìn)行融合后檢測(cè)的正確率最高,僅對(duì)單一屬性檢測(cè)的結(jié)果最差,選取若干個(gè)屬性進(jìn)行融合后再進(jìn)行離群點(diǎn)檢測(cè)的正確性居于上述情況之間。但并非是對(duì)所有單維屬性或低維屬性的檢測(cè)結(jié)果都不好,這正是后期需要研究的工作。因?yàn)楸緦?shí)驗(yàn)主要是從檢測(cè)的正確率來(lái)考慮,實(shí)際應(yīng)用中還應(yīng)該考慮時(shí)間空間復(fù)雜度等其他客觀因素的影響,如果能找到一種數(shù)據(jù)融合模型,在給定的特定條件下,能決定選取幾個(gè)屬性、哪幾個(gè)屬性的融合可以使檢測(cè)結(jié)果最好,那么這將為多屬性數(shù)據(jù)樣本的離群點(diǎn)檢測(cè)工作帶來(lái)較大的便利,也避免了對(duì)所有屬性融合和大的計(jì)算開(kāi)銷。
4 結(jié)束語(yǔ)
提出了基于Fusion-Bayes的貝葉斯檢測(cè)方法,該方法首先利用數(shù)據(jù)融合方法對(duì)數(shù)據(jù)樣本的多維屬性進(jìn)行數(shù)據(jù)轉(zhuǎn)換,然后融合不同屬性進(jìn)行離群點(diǎn)檢測(cè),相比于單維屬性的檢測(cè),多維屬性融合的檢測(cè)結(jié)果正確性更高。該方法仍存在需要改進(jìn)的地方,例如在什么情況下可以根據(jù)單維或低維屬性進(jìn)行離群點(diǎn)檢測(cè),若可以用低維屬性進(jìn)行檢測(cè),那么如何選取屬性等問(wèn)題。本文采用的離群點(diǎn)檢測(cè)方法是貝葉斯方法,雖然貝葉斯方法的檢測(cè)正確率較高,但是貝葉斯方法設(shè)定了過(guò)多假設(shè),這些問(wèn)題在以后的工作中會(huì)繼續(xù)研究,以期找到更好的檢測(cè)方法。
[1]孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[2]TAN P N,STEINBACH M,KUMAR V.Introduction to data mining[M].Beijing:Posts& Telecom Press,2006.
[3]HAN J,KAMBER M.Data mining:concepts and techniques[M].San Francisco:Morgan Kaufmann Publishers,2001.
[4]龔元明,蕭德云,王俊杰.多傳感器數(shù)據(jù)融合技術(shù):上[J].冶金自動(dòng)化,2002(4):4-7.
[5]那彥,田軍,楊萬(wàn)海,等.數(shù)據(jù)融合技術(shù)與多傳感器探測(cè)[J].電子科技,2002(3):39 -41.
[6]蔡科,左憲章,康健,等.無(wú)線傳感器網(wǎng)絡(luò)測(cè)試系統(tǒng)數(shù)據(jù)融合研究[J].計(jì)算機(jī)仿真,2010(7):1-4.
[7]毛曉明,盧光躍,趙國(guó).一種提高無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位精度的算法[J].西安郵電學(xué)院學(xué)報(bào),2012,17(1):42-46.
[8]石紅麗,王潔,唐艷,等.基于無(wú)線傳感器網(wǎng)絡(luò)的K均值算法研究[J].電子設(shè)計(jì)工程,2011,19(6):113-115.