基于密度的聚類中心自動確定的混合屬性數(shù)據(jù)流聚類方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種數(shù)據(jù)聚類方法。
【背景技術(shù)】
[0002] 隨著通信技術(shù)和硬件設(shè)備的不斷發(fā)展,數(shù)據(jù)流挖掘技術(shù)在實(shí)時監(jiān)控系統(tǒng)、氣象衛(wèi) 星遙感、網(wǎng)絡(luò)通信量監(jiān)測等方面有著巨大應(yīng)用前景,針對數(shù)據(jù)流快速連續(xù)到達(dá)、持續(xù)增長 的特點(diǎn),傳統(tǒng)聚類算法無法適用于數(shù)據(jù)流對象,數(shù)據(jù)流對聚類算法提出了如下新的要求: 1.對自然簇個數(shù)無須假設(shè);2.能夠發(fā)現(xiàn)任意形狀的簇;3.具有處理離群點(diǎn)的能力。而且面 對現(xiàn)實(shí)中的大部分?jǐn)?shù)據(jù)流都是混合屬性數(shù)據(jù)流,其中既包含了數(shù)值屬性數(shù)據(jù)和分類屬性數(shù) 據(jù),如何有效的從這種混合屬性的數(shù)據(jù)流中挖掘出具有價值的信息已顯得尤為重要。
[0003] 近年來數(shù)據(jù)聚類研究工作廣泛展開,但現(xiàn)有的數(shù)據(jù)流聚類算法大部分局限于處理 只具有數(shù)值屬性的數(shù)據(jù)流,另外有少量算法局限于處理只有分類屬性的數(shù)據(jù)流,針對混合 屬性數(shù)據(jù)流的算法較少。Aggarwal提出了進(jìn)化數(shù)據(jù)流聚類框架CluStream,該算法首次采 用了兩階段處理框架:在線的微聚類和離線的宏聚類。在線階段算法提出了微簇的結(jié)構(gòu), 不斷對到達(dá)的數(shù)據(jù)點(diǎn)進(jìn)行維護(hù),生成概要信息。離線階段算法負(fù)責(zé)相應(yīng)的用戶請求,根據(jù) 概要數(shù)據(jù)生成最終聚類結(jié)果。該算法靈活的擴(kuò)展性得到了廣大的關(guān)注。但是CluStream 算法也存在一些缺點(diǎn):首先該算法不能處理任意形狀的簇;其次對于噪聲的適應(yīng)性較差; 并且需要人為指定聚類微簇的數(shù)量,嚴(yán)重影響了原始數(shù)據(jù)聚類的形狀分布。曹峰提出了 Den-Stream算法,該算法沿用了 CluStream的兩階段處理框架,并將微簇分為潛在核心微 簇和孤立點(diǎn)微簇結(jié)構(gòu),能夠支持任意形狀的聚類。但是由于Den-Stream算法采用全局一致 的絕對密度作為參數(shù),所以使得聚類結(jié)果對參數(shù)的選擇非常敏感。針對Den-Stream算法問 題,Tang□提出了一種改進(jìn)DenStream算法DenStream2,引入重疊因子的概念,有效解決了 交疊微簇的歸屬問題。Zhang在頂級會議PKDD上首次提出了 StrAP算法,該算法在AP算法 的基礎(chǔ)上改進(jìn),使之面向數(shù)據(jù)流對象,該算法將新到達(dá)的數(shù)據(jù)對象與當(dāng)前模型匹配,匹配成 功則更新微簇,否則將其視為噪聲點(diǎn)放入暫存盒中。張建朋提出了 StrDenAP算法,該算法 在StrAP算法的基礎(chǔ)上,借鑒了 CluStream的兩階段框架,采用近鄰傳播算法,考慮數(shù)據(jù)到 達(dá)時間對聚類結(jié)果的影響,算法能夠取得較好的聚類效果。
[0004] 鑒于現(xiàn)實(shí)中大部分?jǐn)?shù)據(jù)流都是混合屬性數(shù)據(jù)流,針對這一問題,楊春宇提出了 HCluSteam算法,該算法采用CluStream提出的兩層框架,對混合屬性的分類屬性部分,提 出了微聚類的直方圖表示方法,并利用泊松過程對樣本到達(dá)的時間進(jìn)行建模,能夠處理混 合屬性數(shù)據(jù),但該算法不能有效處理任意形狀的簇,在線聚類由于維護(hù)分類屬性頻度直方 圖需要耗費(fèi)大量時間。黃德才在HCluStream的基礎(chǔ)上提出了 MCStream算法,該算法使用 兩階段框架,在在線微聚類中使用面向維度的距離來度量對象之間的相似度,宏聚類中使 用改進(jìn)的M-DBSCAN密度聚類算法進(jìn)行最終聚類。該算法能夠處理任意形狀的簇,但由于面 向維度的距離的參數(shù)是用戶給出,且需要的參數(shù)較多,存在一定的局限性。
【發(fā)明內(nèi)容】
[0005] 為了克服已有混合屬性數(shù)據(jù)流聚類算法聚類精度不高、處理離群點(diǎn)能力差的不 足,本發(fā)明提供一種精度較高、處理離群點(diǎn)能力良好的基于密度的聚類中心自動確定的混 合屬性數(shù)據(jù)流聚類方法。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0007] -種基于密度的聚類中心自動確定的混合屬性數(shù)據(jù)流聚類方法,所述聚類方法包 括以下步驟:
[0008] 1)初始化,對數(shù)據(jù)流中最初的Ninit個數(shù)據(jù)對象運(yùn)用New-FSFDP算法進(jìn)行聚類,生 成最初的密集微簇,以初始化整個在線處理過程,將生成的所有密集微簇的平均半徑作為 最初的ε ;
[0009] I. 1根據(jù)混合屬性占有分析結(jié)果對數(shù)據(jù)D確定相應(yīng)的距離計(jì)算方式,以式P 1 = 和式備= min/:Pj>Pi(dy)計(jì)算每個數(shù)據(jù)對象i的PjP δ 1;其中ρ丄和δ i分別 代表數(shù)據(jù)對象i的密度和最小距離,(I1 j表示數(shù)據(jù)對象d i與數(shù)據(jù)對象d j之間的距離,d。為截 斷距離;
[0010] 1.2得到PjP δ i的函數(shù)關(guān)系δ i=f(p上根據(jù)回歸分析中逆函數(shù)Jf = Wx 來擬合此函數(shù)關(guān)系,令f 1,則y = h+bi X X',則利用線性回歸模型得到擬合δ i = f (p J 曲線;其中X是自變量,y是自變量X的函數(shù),bAO時,圖像在一、三象限;b'O時,圖像在二、 四象限;b。表示在y = b 1;/χ的基礎(chǔ)上,上移或下移的幅度;
[0011] 1. 3采用殘差分析計(jì)算擬合函數(shù)的各殘差分布特征,并求得k個奇異點(diǎn)集合 (。1,。2,· · ·,Ck);
[0012] 1. 4將除簇類中心點(diǎn)外的其他點(diǎn)的類別標(biāo)簽與高于當(dāng)前對象局部密度的最近鄰對 象的標(biāo)簽一致,從而對所有對象的類別進(jìn)行標(biāo)定;
[0013] 1.5獲得最初的密集微簇,并將所有密集微簇的平均半徑作為最初的ε ;
[0014] 2)在線維護(hù)過程
[0015] 2. 1當(dāng)新數(shù)據(jù)對象Xt到達(dá)時,則計(jì)算新數(shù)據(jù)對象到現(xiàn)有密集微簇dmc之間的距 離,若d (Xt, dmc) < ε,則將該數(shù)據(jù)對象加入到該密集微簇dmc中,若新數(shù)據(jù)對象不能被現(xiàn) 有的密集微簇所吸收,則計(jì)算新數(shù)據(jù)對象到現(xiàn)有的稀疏微簇smc之間的距離,若d(X t,smc) < ε,則將該數(shù)據(jù)對象加入到該稀疏微簇smc中;若新到達(dá)的數(shù)據(jù)對象均不能被現(xiàn)有的密 集微簇和稀疏微簇所吸收,則新建一個稀疏微簇,將該新數(shù)據(jù)對象加入到該稀疏微簇中;
[0016] 2. 2當(dāng)新到達(dá)的對象被加入到相應(yīng)的密集微簇或稀疏微簇中,則對相應(yīng)的微簇特 征向量進(jìn)行更新;若新數(shù)據(jù)對象加入的微簇為稀疏微簇,則判斷該稀疏微簇smc的密度值, 若D (smc, t) > Dthrad,說明該稀疏微簇smc已經(jīng)發(fā)展成為一個密集微簇,從稀疏微簇集合中 刪除該smc,并加入到密集微簇集合中;
[0017] 2. 3將一個密集微簇衰減為稀疏微簇的最小時間作為檢測的時間間隔,設(shè)置其檢 測時間TimeGap如下:
[0018] (!)
[0019] 其中Dthred是密度閾值,λ是衰減因子;
[0020] 每隔TimeGap時間,對所有微簇進(jìn)行檢測,若密集微簇的密度不斷衰減,而使得其 密度值小于權(quán)值,即D (mc,Τ。)< Dthrad,則意味著該密集微簇已經(jīng)退化為離群點(diǎn)噪聲,將其刪 除釋放空間來存儲新的微簇;
[0021] 3)離線聚類過程
[0022] 3. 1從在線部分存儲的微簇匯總信息中尋找到一個密集微簇mc,以該微簇作為本 次聚類的起始點(diǎn)開始聚類過程;
[0023] 3. 2按照廣度優(yōu)先搜索原則,尋找到密集微簇me直接密度可達(dá)的微簇Hic1,然后對 mCl*的密集微簇繼續(xù)進(jìn)行廣度優(yōu)化搜索,直到所有到微簇me密度可達(dá)的微簇都被搜索為 止;
[0024] 3. 3當(dāng)一次聚類過程結(jié)束時,從剩余的未聚類微簇中找出新的密集微簇,則重復(fù) 3. 1-3. 2步驟繼續(xù)聚類,若不存在任何未被聚類密集微簇,則跳到步驟3. 4 ;
[0025] 3. 4輸出離線聚類的最終結(jié)果,輸出結(jié)果并結(jié)束。
[0026] 進(jìn)一步,所述步驟2. 3中,對稀疏微簇的密度檢測策略為:陳舊的微簇表明該聚類 代表的模式已經(jīng)過時,不能描述當(dāng)前數(shù)據(jù),即如果
時,其中T。表示當(dāng)前時 間,T。表示微簇創(chuàng)建時間,T 1表示微簇最后一次更新的時間,那么該微簇屬于過期稀疏微 簇,應(yīng)當(dāng)刪除,Θ是截?cái)嚅撝怠?br>[0027] 或者是:所述步驟2. 3中,對稀疏微簇的密度檢測策略為:刪除密度值過小的稀疏 微簇,表明該稀疏微簇很可能是由噪聲或野值引入的,不是主要模式,即如果稀疏微簇的密 度D (me,TJ < ξ (T。,T。),其中T。表示當(dāng)前時間,T。表示微簇創(chuàng)建時間,則該微簇是密度值 過小的微簇,其中
1其中Τ。表示當(dāng)前時間,T。表示微簇創(chuàng)建時間, λ表示衰減因子,TimeGap表示檢測時間間隔。
[0028] 本發(fā)明的有益效果主要表現(xiàn)在:能夠處理包含數(shù)值型和分