專利名稱:處理數(shù)據(jù)流的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及數(shù)據(jù)處理技術(shù),并且尤其涉及用于聚類(clustering)和分類諸如高維數(shù)據(jù)流之類的數(shù)據(jù)流的技術(shù)。
背景技術(shù):
因?yàn)榭梢苑浅H菀椎厥占鲾?shù)據(jù),所以用于處理數(shù)據(jù)流的技術(shù)近些年來(lái)已經(jīng)變得重要了。也就是說(shuō),硬件技術(shù)的進(jìn)步已經(jīng)使日常生活中自動(dòng)地記錄與事務(wù)和活動(dòng)相關(guān)聯(lián)的數(shù)據(jù)變得容易。僅僅舉例來(lái)說(shuō),可以在零售應(yīng)用、多媒體應(yīng)用、遠(yuǎn)程通信應(yīng)用等的環(huán)境中收集這樣的數(shù)據(jù)。此外,已知這樣的數(shù)據(jù)經(jīng)常具有與之相關(guān)聯(lián)的非常高的維數(shù)(dimensionality)。僅僅舉例來(lái)說(shuō),內(nèi)在地具有高維數(shù)的數(shù)據(jù)集可以包括人口統(tǒng)計(jì)數(shù)據(jù)集,其中維度包含諸如姓名、年齡、薪水、以及許多其它用于表征個(gè)人的特征之類的信息。
這樣的數(shù)據(jù)流在許多實(shí)際領(lǐng)域(例如,如上面通過(guò)舉例提及的零售、多媒體、遠(yuǎn)程通信)中的普遍存在已經(jīng)導(dǎo)致進(jìn)行了許多研究,尤其是在流數(shù)據(jù)的聚類(clustering)和分類的領(lǐng)域更是如此。對(duì)于數(shù)據(jù)流領(lǐng)域來(lái)說(shuō),聚類問(wèn)題是尤其讓人感興趣的,這是因?yàn)樗梢詰?yīng)用于數(shù)據(jù)概括和離群值(outlier)檢測(cè)。在下述文獻(xiàn)中公開(kāi)了這種研究的示例1998年的ACM SIGMOD會(huì)議上、由R.Agrawal等人所著的“Automatic Subspace Clustering of High Dimensional Data for DataMining Applications”;1999年的ACM SIGMOD會(huì)議h、由C.C.Aggarwal等人所著的“Fast Algorithms for Projected Clustering”;2003年的VLDB會(huì)議上、由C.C.Aggarwal等人所著的“A Frameworkfor Clustering Evolving Data Streams”;以及2004的VLDB會(huì)議上、由C.C.Aggarwal等人所著的“A Framework for High DimensionalProjected Clustering of Data Streams”,這些公開(kāi)通過(guò)引用包括在此。
發(fā)明內(nèi)容
本發(fā)明提供了用于聚類和分類流數(shù)據(jù)的技術(shù)。雖然不局限于此,但是這樣的技術(shù)尤其適合于呈現(xiàn)高維數(shù)的流數(shù)據(jù)。
舉例來(lái)說(shuō),在本發(fā)明的一個(gè)方面,一種用于處理數(shù)據(jù)流的技術(shù)包含以下步驟/操作。維護(hù)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類的聚類結(jié)構(gòu)。使用在聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn),為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度(projected dimension)集。使用與用于一個(gè)或者多個(gè)聚類中的每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,為數(shù)據(jù)流的進(jìn)入(incoming)數(shù)據(jù)點(diǎn)確定到一個(gè)或者多個(gè)聚類的分配。
在本發(fā)明的另一個(gè)方面中,聚類結(jié)構(gòu)可以用于對(duì)數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行分類。
根據(jù)對(duì)以下要結(jié)合附圖閱讀的本發(fā)明的說(shuō)明性實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的這些及其他目的、特征和優(yōu)點(diǎn)將變得明顯。
圖1說(shuō)明了依據(jù)本發(fā)明的一個(gè)實(shí)施例的服務(wù)器結(jié)構(gòu),依據(jù)該結(jié)構(gòu)可以采用數(shù)據(jù)流處理;圖2說(shuō)明了依據(jù)本發(fā)明的一個(gè)實(shí)施例、用于對(duì)高維數(shù)據(jù)流進(jìn)行聚類的方法;圖3說(shuō)明了依據(jù)本發(fā)明的實(shí)施例、用于在不同的聚類上確定投影(projection)的方法;圖4說(shuō)明了依據(jù)本發(fā)明的實(shí)施例、用于為聚類查找界限的方法;以及圖5說(shuō)明了依據(jù)本發(fā)明的實(shí)施例、用于執(zhí)行高維數(shù)據(jù)流分類的方法。
具體實(shí)施例方式
以下的描述將使用一個(gè)示例性的數(shù)據(jù)處理系統(tǒng)體系結(jié)構(gòu)來(lái)說(shuō)明本發(fā)明。然而,應(yīng)該理解,本發(fā)明不局限于和任何特定的系統(tǒng)體系結(jié)構(gòu)一起使用。作為替代,本發(fā)明一般來(lái)說(shuō)可應(yīng)用于其中期望執(zhí)行數(shù)據(jù)流聚類和分類的任何數(shù)據(jù)處理系統(tǒng)。
雖然本發(fā)明不局限于此,但是本發(fā)明尤其適用于高維流數(shù)據(jù)集。僅僅舉例而言,當(dāng)有10個(gè)或更多維度時(shí),可以認(rèn)為流的維數(shù)是“高”的。然而,沒(méi)有規(guī)定認(rèn)為流數(shù)據(jù)呈現(xiàn)“高”維數(shù)的嚴(yán)格的維數(shù)閾值。盡管如此,本發(fā)明的技術(shù)不局限于任何特定量的維數(shù)閾值。
此外,此處使用的短語(yǔ)“數(shù)據(jù)流”可以泛指在給定時(shí)間段上的連續(xù)數(shù)據(jù)序列。舉例來(lái)說(shuō),可以由使用連續(xù)數(shù)據(jù)存儲(chǔ)的實(shí)時(shí)處理生成這樣的數(shù)據(jù)序列。例如,甚至諸如使用信用卡之類的、每天生活中的簡(jiǎn)單交易也會(huì)導(dǎo)致在信用卡公司的數(shù)據(jù)庫(kù)處的自動(dòng)存儲(chǔ)。對(duì)于大公司來(lái)說(shuō),這可以導(dǎo)致上百萬(wàn)的數(shù)據(jù)事務(wù)-高容量數(shù)據(jù)流的典型示例。
如將在下面詳細(xì)說(shuō)明的那樣,本發(fā)明提供了用于在高維數(shù)據(jù)流上構(gòu)造聚類的技術(shù)。這樣的技術(shù)采用迭代處理,其用于在維度子空間中聚類數(shù)據(jù)對(duì)象。可以進(jìn)一步采用該方法來(lái)對(duì)高維流數(shù)據(jù)進(jìn)行分類。為了執(zhí)行分類,在一個(gè)說(shuō)明性實(shí)施例中,本發(fā)明的技術(shù)通過(guò)使用交替投影并且在這些投影上進(jìn)行聚類來(lái)構(gòu)造聚類。因此,本發(fā)明提供了用于高維數(shù)的投影數(shù)據(jù)流的聚類和分類的技術(shù)。
將聚類問(wèn)題說(shuō)明性地定義為以下內(nèi)容對(duì)于給定的數(shù)據(jù)點(diǎn)(此處也稱為“點(diǎn)”)集,希望把這些點(diǎn)劃分成為一個(gè)或多個(gè)相似的對(duì)象組,其中由距離函數(shù)定義相似性的概念。在數(shù)據(jù)流領(lǐng)域中,聚類問(wèn)題需要這樣的處理,其可以連續(xù)地確定數(shù)據(jù)中的支配(dominant)聚類,而不受流的先前歷史記錄所支配。
即使在傳統(tǒng)的靜態(tài)數(shù)據(jù)集領(lǐng)域中,高維數(shù)情況也向聚類算法給出了一個(gè)特別的難題。這是因?yàn)樵诟呔S數(shù)情況中數(shù)據(jù)的稀疏性(sparsity)而造成的。在高維空間中,所有的點(diǎn)對(duì)都趨向于彼此是幾乎等間距的。因此,以有意義的方法定義基于距離的聚類經(jīng)常是不切實(shí)際的。
已知存在可以為維度的特定子集確定聚類的用于投影聚類的技術(shù),可參見(jiàn)例如1999年的ACM SIGMOD會(huì)議上、由C.C.Aggarwal等人所著的“Fast Algorithms for Projected Clustering”(其公開(kāi)通過(guò)引用包括在此)。在這些方法中,這樣定義聚類以便每個(gè)聚類對(duì)于特定的一組維度是特定的。這在某種程度上減輕了高維空間中的稀疏性問(wèn)題。即使由于數(shù)據(jù)的稀疏性而導(dǎo)致未必可以在全部維度上有意義地定義聚類,但是也可以找到維度的某些子集,在其上的點(diǎn)的特定子集形成高質(zhì)量和有意義的聚類。當(dāng)然,這些維度的子集可以在不同的聚類上發(fā)生改變。這樣的聚類稱為投影聚類。
投影聚類的概念形式上定義如下。假定k是要查找的聚類數(shù)目。聚類算法將把其中報(bào)告了每個(gè)聚類的子空間的維數(shù)l當(dāng)做輸入。該算法的輸出包含所述聚類中的點(diǎn)集,以及聚類特定的維度集。
在數(shù)據(jù)流的環(huán)境中,查找投影聚類的問(wèn)題變得更加是個(gè)難題。這是因?yàn)闉槊總€(gè)聚類查找相關(guān)維度集的附加問(wèn)題使得該問(wèn)題在數(shù)據(jù)流環(huán)境中顯著增加了更多計(jì)算強(qiáng)度。雖然已經(jīng)在數(shù)據(jù)流環(huán)境中研究了聚類問(wèn)題,但是這些方法是用于全維數(shù)聚類的情況。本發(fā)明依據(jù)投影聚類解決了對(duì)高維數(shù)據(jù)流進(jìn)行聚類的顯著更難的問(wèn)題。
如將要說(shuō)明性闡述的那樣,本發(fā)明提供了用于高維投影流聚類的技術(shù),所述聚類包括在流的發(fā)展過(guò)程期間連續(xù)改進(jìn)投影維度和數(shù)據(jù)點(diǎn)的集合。以這樣的方式執(zhí)行與每個(gè)聚類相關(guān)聯(lián)的維度集的更新,以便可以隨著時(shí)間的推移有效地衍變與每個(gè)聚類相關(guān)聯(lián)的點(diǎn)和維度(應(yīng)當(dāng)理解,維度是點(diǎn)的一個(gè)分量,例如人口統(tǒng)計(jì)數(shù)據(jù)庫(kù)對(duì)于每個(gè)個(gè)人具有一個(gè)點(diǎn),其中的一個(gè)維度是他的年齡)。為了實(shí)現(xiàn)這個(gè)目標(biāo),使用了在這些聚類內(nèi)部的點(diǎn)的統(tǒng)計(jì)數(shù)據(jù)的壓縮(condensed)表示。以這樣的方式選擇這些壓縮表示,以便可以在快速數(shù)據(jù)流中有效地更新它們。同時(shí),存儲(chǔ)足夠量的統(tǒng)計(jì)數(shù)據(jù),以便可以快速地計(jì)算有關(guān)在給定投影中的聚類的重要量度。
此外,本發(fā)明解決了高維數(shù)據(jù)流分類的問(wèn)題。應(yīng)當(dāng)注意到,由于有大量可以在分類處理中使用的屬性組合,所以高維數(shù)的情況向分類問(wèn)題給出了特殊的難題。可以使用本發(fā)明的聚類處理以便提高分類處理的效率,這是因?yàn)榭梢耘c高維投影流聚類方法結(jié)合使用最接近聚類分類處理??梢允褂眠@個(gè)最接近聚類分類方法,以便為各種情況構(gòu)造有效的高維分類器。
數(shù)據(jù)流包含在時(shí)戳T1…TK到達(dá)的多維記錄X1…XK的集合。每個(gè)數(shù)據(jù)點(diǎn)Xi是包含d個(gè)維度的多維記錄,表示為Xi=(xi1…xid)。因?yàn)榱骶垲愄幚響?yīng)該向新近的(recent)數(shù)據(jù)點(diǎn)提供更高的重要性級(jí)別,所以引入了衰減數(shù)據(jù)結(jié)構(gòu)的概念,該結(jié)構(gòu)能夠以靈活的方式對(duì)聚類的新近性(recency)進(jìn)行調(diào)整。假定每個(gè)數(shù)據(jù)點(diǎn)具有由對(duì)時(shí)間t的函數(shù)f(t)定義的權(quán)重。函數(shù)f(t)也稱為衰減函數(shù)。衰減函數(shù)的值在(0,1)的范圍內(nèi)。還假定衰減函數(shù)是隨著時(shí)間t均勻衰變(decay)的單調(diào)遞減函數(shù)。特別地,為衰減函數(shù)選擇了指數(shù)形式。為了將這個(gè)概念公式化,將數(shù)據(jù)流中的點(diǎn)的半衰期定義如下點(diǎn)的半衰期定義為在f(t0)=(1/2)f(0)的時(shí)間處。
概念上來(lái)說(shuō),定義半衰期的目的是定義分配給流中的每個(gè)數(shù)據(jù)點(diǎn)的權(quán)重的衰變速率。相應(yīng)地,將衰變速率定義為數(shù)據(jù)流的半衰期的倒數(shù)。用λ=1/t0表示衰減率。為了保持半衰期屬性,用f(t)=2-λ-t定義數(shù)據(jù)流中每個(gè)點(diǎn)的權(quán)重。從聚類處理的觀點(diǎn)來(lái)看,每個(gè)數(shù)據(jù)點(diǎn)的權(quán)重是f(t)。顯然這個(gè)衰變函數(shù)創(chuàng)建了1/λ的半衰期。此外,顯然通過(guò)改變?chǔ)说闹涤锌赡芨淖償?shù)據(jù)流中歷史信息重要性衰變的速率。λ的值越高,和更新近的數(shù)據(jù)相比,歷史信息的重要性越低。
下面將定義衰減聚類結(jié)構(gòu)(FCS),它是一種被設(shè)計(jì)成能捕獲在數(shù)據(jù)流的過(guò)程期間生成的聚類的關(guān)鍵統(tǒng)計(jì)特征的數(shù)據(jù)結(jié)構(gòu)。衰減聚類結(jié)構(gòu)的目的是捕獲足夠數(shù)目的基礎(chǔ)統(tǒng)計(jì)數(shù)據(jù),以便有可能計(jì)算這些基礎(chǔ)聚類的關(guān)鍵特征。
在時(shí)間t處用于具有時(shí)戳Ti1…Tin的d維點(diǎn)集C={Xi1…Xin}的衰減聚類結(jié)構(gòu)被定義為包含以下條目集的(2·d+1)元組(i)對(duì)于每個(gè)維度j,由在那個(gè)維度中的相應(yīng)數(shù)據(jù)值的平方的加權(quán)和給出第j個(gè)條目。每個(gè)數(shù)據(jù)點(diǎn)的權(quán)重由該數(shù)據(jù)點(diǎn)的從其到達(dá)數(shù)據(jù)流開(kāi)始的失時(shí)效(staleness)級(jí)別所定義。因此,這個(gè)條目包含d個(gè)值。第j個(gè)條目等于∑k=1nf(t-Tik)·(xikj)2。
(ii)對(duì)于每個(gè)維度j,由相應(yīng)數(shù)據(jù)值的加權(quán)和給出第j個(gè)條目。每個(gè)數(shù)據(jù)點(diǎn)的權(quán)重由該數(shù)據(jù)點(diǎn)的從其到達(dá)數(shù)據(jù)流開(kāi)始的失時(shí)效級(jí)別所定義。因此,這個(gè)條目包含d個(gè)值。第j個(gè)條目等于∑k=1nf(t-Tik)·(xikj)。
(iii)此外還維護(hù)單個(gè)條目W(t),其包含在時(shí)間t處所有數(shù)據(jù)點(diǎn)權(quán)重的總和。因此,這個(gè)條目等于∑k-1nf(t-Tik)。
依據(jù)本發(fā)明,用于聚類的整體方法使用迭代處理,其與為不同聚類構(gòu)造點(diǎn)和維度相結(jié)合地維護(hù)衰減聚類結(jié)構(gòu)。這個(gè)為不同聚類構(gòu)造和維護(hù)點(diǎn)和維度的處理描述如下。此外,該方法可以用于高維分類。這是因?yàn)樵摷夹g(shù)可以用于構(gòu)造對(duì)于給定類別來(lái)說(shuō)特定的聚類。當(dāng)接收到新的測(cè)試示例時(shí),將它們放入最接近的聚類中,并且報(bào)告相應(yīng)的類別標(biāo)記。
首先參見(jiàn)圖1,一個(gè)框圖說(shuō)明了適于采用依據(jù)本發(fā)明實(shí)施例的聚類和分類方法的硬件實(shí)現(xiàn)。如說(shuō)明的那樣,示例系統(tǒng)包含服務(wù)器100。服務(wù)器100可以包含中央處理單元(CPU)120,其與主存儲(chǔ)器130和盤(pán)140相連。雖然沒(méi)有明確示出,但是假定可以有多個(gè)可以從中收集要被處理的數(shù)據(jù)的客戶端經(jīng)由通信網(wǎng)絡(luò)與服務(wù)器100進(jìn)行交互。應(yīng)當(dāng)理解該網(wǎng)絡(luò)可以是諸如例如Internet或者萬(wàn)維網(wǎng)之類的公共信息網(wǎng)絡(luò),但是做為選擇,客戶端和服務(wù)器可以經(jīng)由私用網(wǎng)絡(luò)、局域網(wǎng)、或者某些其它適當(dāng)?shù)木W(wǎng)絡(luò)進(jìn)行連接。此外,還將要理解,服務(wù)器100可以從任何其它一個(gè)或者多個(gè)來(lái)源接收要被處理的數(shù)據(jù)流。
在服務(wù)器100上的CPU 120處執(zhí)行本發(fā)明中的聚類和分類操作/計(jì)算。應(yīng)當(dāng)理解,客戶端設(shè)備可以將要被處理的數(shù)據(jù)集提供給服務(wù)器100。然而,所有或者部分要被處理的數(shù)據(jù)集可能在服務(wù)器處早已是可得到的(例如,在盤(pán)140上),或者可以由服務(wù)器進(jìn)行訪問(wèn)??梢允褂弥鞔鎯?chǔ)器130,以便存儲(chǔ)某些或者所有在操作/計(jì)算期間執(zhí)行的中間結(jié)果。這些操作/計(jì)算的結(jié)果可以返回給請(qǐng)求客戶端設(shè)備和/或提供給某些其它目的地。
在一個(gè)優(yōu)選實(shí)施例中,如此處所描述的那樣,包括用于執(zhí)行本發(fā)明的方法的指令或者代碼的軟件部件可以存儲(chǔ)在上面關(guān)于服務(wù)器所描述的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備中,并且當(dāng)準(zhǔn)備好要被使用時(shí),其可以由CPU部分或者全部加載,并且由CPU執(zhí)行。
因?yàn)楸景l(fā)明的方法被設(shè)計(jì)用于數(shù)據(jù)流的投影聚類,所以有一個(gè)維度集與每個(gè)聚類相關(guān)聯(lián)。因此,將與每個(gè)聚類C中的相關(guān)維度集相對(duì)應(yīng)的d維位向量B(C)與該聚類C相關(guān)聯(lián)。在這個(gè)d維向量中的每個(gè)元素均具有與給定維度是否包含在那個(gè)聚類中相對(duì)應(yīng)的1-0值(每個(gè)元素可以具有要么“1”值要么“0”值)。這個(gè)位向量是在把進(jìn)入點(diǎn)分配到適當(dāng)聚類中所必須的簿記(book-keeping)所需要的。隨著該方法的進(jìn)展,這個(gè)位向量進(jìn)行改變以反映維度的變化集。
用于高維聚類的方法利用迭代的方法,其在重新定義包含在每個(gè)聚類中的維度集的同時(shí)連續(xù)地確定新的聚類結(jié)構(gòu)。到聚類方法的輸入包括當(dāng)前聚類結(jié)構(gòu)FCS和與每個(gè)聚類相關(guān)聯(lián)的維度集。這些聚類結(jié)構(gòu)和維度集隨著方法的進(jìn)展而動(dòng)態(tài)地進(jìn)行更新。與每個(gè)聚類相關(guān)聯(lián)的維度集BS包括用于FCS中的每個(gè)聚類結(jié)構(gòu)的d維位向量B(Ci)。這個(gè)位向量對(duì)于包含在聚類Ci中的每個(gè)維度包含一個(gè)比特。此外,將聚類的最大數(shù)目k和平均聚類維數(shù)l用作輸入?yún)?shù)。平均聚類維數(shù)l表示在聚類投影中使用的維度平均數(shù)。
本發(fā)明中的迭代數(shù)據(jù)流聚類方法在處理的每個(gè)步驟中將數(shù)據(jù)點(diǎn)分配給最接近的聚類結(jié)構(gòu)。通過(guò)使用投影距離量度確定最接近的聚類結(jié)構(gòu)。對(duì)于每個(gè)聚類,在距離計(jì)算中僅僅使用與那個(gè)聚類相關(guān)的那些維度。同時(shí),繼續(xù)重新定義與每個(gè)聚類相關(guān)聯(lián)的投影維度集。投影維度的重新定義試圖保持聚類在該投影維度上的半徑盡可能地低。因此,聚類處理同時(shí)維護(hù)聚類以及與每個(gè)聚類相關(guān)聯(lián)的維度集。
圖2中說(shuō)明了整體聚類處理200。處理從塊210開(kāi)始。在步驟220,處理初始化數(shù)據(jù)中的聚類集。如果期望的話,眾所周知的k均值方法可用于構(gòu)造初始聚類集。在1998年由A.Jain等人所著、NJ,Englewood Cliffs的Prentice Hill出版的“Algorithms for ClusteringData”中描述了眾所周知的k均值方法,這個(gè)公開(kāi)通過(guò)引用包括在此。
在步驟230,處理查找與每一個(gè)聚類集相關(guān)聯(lián)的維度集。下面將描述有關(guān)查找這個(gè)維度集的細(xì)節(jié)。
在步驟240,處理將來(lái)自數(shù)據(jù)流的進(jìn)入點(diǎn)分配給最接近的聚類,或者創(chuàng)建新的聚類??梢匀缦滤鰧?shí)現(xiàn)確定關(guān)于進(jìn)入數(shù)據(jù)點(diǎn)X的最接近聚類結(jié)構(gòu)。該處理僅僅使用用于相應(yīng)聚類的投影維度集計(jì)算X到每個(gè)聚類質(zhì)心的距離。在BS中的這個(gè)數(shù)據(jù)用作簿記機(jī)制,以在距離計(jì)算期間確定用于每個(gè)聚類的投影維度集。一旦確定了應(yīng)該將數(shù)據(jù)點(diǎn)X分配給哪個(gè)聚類,處理就確定相應(yīng)聚類的極限半徑。極限半徑被認(rèn)為是聚類的邊界。不把在這個(gè)邊界外面的數(shù)據(jù)點(diǎn)添加到聚類中。相反,這樣的點(diǎn)創(chuàng)建它們自己的新聚類。如果進(jìn)來(lái)的數(shù)據(jù)點(diǎn)在該極限半徑內(nèi),則把它添加到該聚類中。否則,構(gòu)造包含該單獨(dú)數(shù)據(jù)點(diǎn)X的新聚類。
在步驟250,處理更新聚類統(tǒng)計(jì)數(shù)據(jù)以反映在該聚類中的進(jìn)來(lái)點(diǎn)。然后,處理返回到步驟230,以處理數(shù)據(jù)流中的下一個(gè)點(diǎn)。
接下來(lái),通過(guò)在FCS中沿著用于每個(gè)聚類的每個(gè)維度計(jì)算擴(kuò)展(spread)來(lái)實(shí)現(xiàn)投影維度的構(gòu)造。因此,計(jì)算了總共|FCS|*d個(gè)值并且以遞增次序進(jìn)行排名。選擇具有最小半徑的|FCS|*1個(gè)維度作為用于這個(gè)聚類的投影維度。為了計(jì)算維度的目的,把進(jìn)來(lái)的數(shù)據(jù)點(diǎn)X包含在每個(gè)聚類中。這確保如果將進(jìn)來(lái)的數(shù)據(jù)點(diǎn)添加到這個(gè)聚類中,則相應(yīng)的投影維度集反映了所包括的數(shù)據(jù)點(diǎn)X。當(dāng)聚類包含少量數(shù)據(jù)點(diǎn)時(shí),這有助于對(duì)投影維數(shù)的更穩(wěn)定的計(jì)算。以這樣的方式選擇聚類的維度,以便沿著每個(gè)維度的擴(kuò)展是盡可能小的。
應(yīng)注意到許多聚類可能僅僅包含一些點(diǎn)。這使得難以以統(tǒng)計(jì)學(xué)上魯棒的方式計(jì)算維度。在極端的情況下,一個(gè)聚類可能僅僅包含一個(gè)點(diǎn)。在這個(gè)惡化的情況下,維度的計(jì)算是不可能的,這是因?yàn)椴荒軈^(qū)分沿著不同維度的半徑。為了處理這樣的惡化情況,在為每個(gè)聚類確定維度期間使用進(jìn)來(lái)的數(shù)據(jù)點(diǎn)X。以這樣的方式挑選維度以便即使在選擇了投影維度之后X也良好地符合所選擇的聚類,是所期望的。具體而言,在確定維度的處理期間,將數(shù)據(jù)點(diǎn)X暫時(shí)添加到每個(gè)可能的聚類中。這對(duì)于為包含非常少數(shù)據(jù)點(diǎn)的聚類所選擇的維度產(chǎn)生了顯著的差異。一旦已經(jīng)選擇了這些所選中的維度,就將相應(yīng)的位存儲(chǔ)在BS中。
圖3說(shuō)明了在不同的聚類上確定投影的過(guò)程中使用的處理300。處理從塊310開(kāi)始。在步驟320,處理確定沿著各個(gè)維度的變化。在步驟330,處理確定具有最小變化的維度集。在步驟340,選擇和報(bào)告這些維度集。處理在塊350結(jié)束。
為了確定關(guān)于進(jìn)來(lái)數(shù)據(jù)點(diǎn)的最接近聚類,可以使用用于確定X距離每個(gè)聚類Cr的投影距離的過(guò)程。為了查找投影距離,確定沿著在B(Cr)中具有位值1的每個(gè)維度的距離。將沿著這些維度的平均距離(也稱為曼哈頓部分(Manhattan Segmental)距離)報(bào)告為投影距離。為每個(gè)聚類計(jì)算這個(gè)距離值,而且將數(shù)據(jù)點(diǎn)X添加到具有最小距離值的聚類中。
回想起在圖2的步驟240中,將進(jìn)來(lái)數(shù)據(jù)點(diǎn)添加到聚類中,或者利用單獨(dú)的數(shù)據(jù)點(diǎn)創(chuàng)建新的聚類。查找極限半徑的動(dòng)機(jī)是確定聚類的邊界。向不在其最接近聚類的極限半徑內(nèi)的這些進(jìn)來(lái)數(shù)據(jù)點(diǎn)分配它們自己的聚類。這是因?yàn)檫@些數(shù)據(jù)點(diǎn)不是自然地適合在任何現(xiàn)有聚類的內(nèi)部。將極限半徑定義為該聚類中的數(shù)據(jù)點(diǎn)的平均半徑的某個(gè)因數(shù)。可以使用衰減聚類結(jié)構(gòu)中的統(tǒng)計(jì)數(shù)據(jù)計(jì)算這個(gè)半徑。
因此,位于沿著其最接近聚類的投影維度的平均半徑的因數(shù)τ外面的任何進(jìn)來(lái)數(shù)據(jù)點(diǎn)使得創(chuàng)建包含單獨(dú)數(shù)據(jù)點(diǎn)的新聚類成為必需。在圖4中說(shuō)明了沿著投影維度查找平均半徑的處理。
如圖4所示,處理400從塊410開(kāi)始。在步驟420,處理沿著投影維度確定半徑。在步驟430,然后確定在投影維度上的平均半徑。處理在塊440結(jié)束。
如上所述,本發(fā)明的聚類處理可以有利地用于高維分類。為了使用該方法用于高維分類,分別為數(shù)據(jù)中的每個(gè)類別創(chuàng)建聚類。一旦已經(jīng)創(chuàng)建了這樣的聚類,圖5中說(shuō)明的處理就可以用于獨(dú)立測(cè)試實(shí)例的分類。
如圖5所示,處理500從塊500開(kāi)始。在步驟520,處理沿著維度的投影集查找測(cè)試實(shí)例的最接近聚類。在步驟530,將最接近聚類的類別標(biāo)記報(bào)告為測(cè)試實(shí)例的相關(guān)類別標(biāo)記。處理在塊540結(jié)束。
因此,如在此處說(shuō)明性描述的那樣,本發(fā)明提供了用于數(shù)據(jù)流的高維投影聚類的新框架。它通過(guò)維護(hù)聚類隨時(shí)間的壓縮表示,查找特定維度子集中的投影聚類。數(shù)據(jù)流的高維投影聚類開(kāi)啟了進(jìn)行流數(shù)據(jù)挖掘的新方向。利用這種方法,人們可以將投影聚類作為一個(gè)步驟進(jìn)行處置,其可以用來(lái)提供用于流分類的更有效方法,類似地,其也可以用于演化和離群值(outlier)分析。有利地,本發(fā)明為了執(zhí)行數(shù)據(jù)挖掘而提供了高維的投影流聚類處理。
雖然此處已經(jīng)參考附圖描述了本發(fā)明的說(shuō)明性實(shí)施例,但是應(yīng)當(dāng)理解,本發(fā)明不局限于那些明確的實(shí)施例,而且可以由本領(lǐng)域技術(shù)人員進(jìn)行各種其它的改變和修改而沒(méi)有背離本發(fā)明的范圍或者精神。
權(quán)利要求
1.一種處理數(shù)據(jù)流的方法,包含步驟維護(hù)一個(gè)聚類結(jié)構(gòu),該聚類結(jié)構(gòu)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類;使用該聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn)為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度集;以及使用與用于一個(gè)或者多個(gè)聚類中每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,確定數(shù)據(jù)流中的進(jìn)入數(shù)據(jù)點(diǎn)到一個(gè)或者多個(gè)聚類的分配。
2.如權(quán)利要求1所述的方法,其中,分配確定步驟還包含當(dāng)進(jìn)入數(shù)據(jù)點(diǎn)在一個(gè)或者多個(gè)聚類中的最接近聚類的邊界之內(nèi)時(shí),將該進(jìn)入數(shù)據(jù)點(diǎn)分配給最接近的聚類。
3.如權(quán)利要求2所述的方法,其中,分配步驟還包含使用聚類的半徑確定聚類的邊界。
4.如權(quán)利要求1所述的方法,其中,分配確定步驟還包含當(dāng)進(jìn)入數(shù)據(jù)點(diǎn)在最接近聚類的邊界之外時(shí),將該進(jìn)入數(shù)據(jù)點(diǎn)分配給一個(gè)新創(chuàng)建的聚類。
5.如權(quán)利要求1所述的方法,其中,分配確定步驟還包含使用相應(yīng)的投影維度集將進(jìn)入數(shù)據(jù)點(diǎn)分配給最接近的聚類。
6.如權(quán)利要求1所述的方法,其中分配確定步驟還包含使用每個(gè)聚類的相應(yīng)維度集確定進(jìn)入數(shù)據(jù)點(diǎn)到每個(gè)聚類的距離。
7.如權(quán)利要求1所述的方法,其中維度集確定步驟還包含使用沿著各個(gè)維度的變化來(lái)確定投影維度集。
8.如權(quán)利要求7所述的方法,其中維度集確定步驟還包含選擇具有最小變化的投影維度集。
9.如權(quán)利要求1所述的方法,還包含步驟使用聚類結(jié)構(gòu)用于對(duì)數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行分類。
10.如權(quán)利要求9所述的方法,其中聚類結(jié)構(gòu)維護(hù)步驟還包含以類別特定的方式維護(hù)一個(gè)或者多個(gè)聚類。
11.如權(quán)利要求10所述的方法,還包含步驟將最接近聚類的類別標(biāo)記標(biāo)識(shí)為關(guān)于正被分類的數(shù)據(jù)的相關(guān)標(biāo)記。
12.一種用于處理數(shù)據(jù)流的設(shè)備,包含存儲(chǔ)器;以及至少一個(gè)處理器,可以操作用于(i)維護(hù)一個(gè)聚類結(jié)構(gòu),該聚類結(jié)構(gòu)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類;(ii)使用該聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn)為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度集;以及(iii)使用與用于一個(gè)或者多個(gè)聚類中每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,確定數(shù)據(jù)流中的進(jìn)入數(shù)據(jù)點(diǎn)到一個(gè)或者多個(gè)聚類的分配。
13.如權(quán)利要求12所述的設(shè)備,其中,分配確定操作還包含當(dāng)進(jìn)入數(shù)據(jù)點(diǎn)在一個(gè)或者多個(gè)聚類中的最接近聚類的邊界之內(nèi)時(shí),將該進(jìn)入數(shù)據(jù)點(diǎn)分配給最接近的聚類。
14.如權(quán)利要求13所述的設(shè)備,其中,分配操作還包含使用聚類的半徑確定聚類的邊界。
15.如權(quán)利要求12所述的設(shè)備,其中,分配確定操作還包含當(dāng)進(jìn)入數(shù)據(jù)點(diǎn)在最接近聚類的邊界之外時(shí),將該進(jìn)入數(shù)據(jù)點(diǎn)分配給一個(gè)新創(chuàng)建的聚類。
16.如權(quán)利要求12所述的設(shè)備,其中,分配確定操作還包含使用相應(yīng)的投影維度集將進(jìn)入數(shù)據(jù)點(diǎn)分配給最接近的聚類。
17.如權(quán)利要求12所述的設(shè)備,其中,分配確定操作還包含使用每個(gè)聚類的相應(yīng)維度集確定進(jìn)入數(shù)據(jù)點(diǎn)到每個(gè)聚類的距離。
18.如權(quán)利要求12所述的設(shè)備,其中,維度集確定操作還包含使用沿著各個(gè)維度的變化來(lái)確定投影維度集。
19.如權(quán)利要求18所述的設(shè)備,其中,維度集確定操作還包含選擇具有最小變化的投影維度集。
20.如權(quán)利要求12所述的設(shè)備,其中,至少一個(gè)處理器還可以操作用于使用聚類結(jié)構(gòu)用于對(duì)數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行分類。
21.如權(quán)利要求20所述的設(shè)備,其中,聚類結(jié)構(gòu)維護(hù)操作還包含以類別特定的方式維護(hù)一個(gè)或者多個(gè)聚類。
22.如權(quán)利要求21所述的設(shè)備,其中至少一個(gè)處理器還可以操作用于將最接近聚類的類別標(biāo)記標(biāo)識(shí)為關(guān)于正被分類的數(shù)據(jù)的相關(guān)標(biāo)記。
23.一種設(shè)備,包含服務(wù)器,響應(yīng)于與一個(gè)或多個(gè)客戶端設(shè)備相關(guān)聯(lián)的數(shù)據(jù)流,可以操作用于(i)維護(hù)一個(gè)聚類結(jié)構(gòu),該聚類結(jié)構(gòu)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類;(ii)使用該聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn)為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度集;以及(iii)使用與用于一個(gè)或者多個(gè)聚類中每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,確定數(shù)據(jù)流中的進(jìn)入數(shù)據(jù)點(diǎn)到一個(gè)或者多個(gè)聚類的分配。
24.一種在處理數(shù)據(jù)流的過(guò)程中使用的制品,該制品包含機(jī)器可讀介質(zhì),該介質(zhì)包含一個(gè)或多個(gè)程序,當(dāng)執(zhí)行這些程序時(shí),其實(shí)現(xiàn)以下步驟維護(hù)一個(gè)聚類結(jié)構(gòu),該聚類結(jié)構(gòu)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類;使用該聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn)為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度集;以及使用與用于一個(gè)或者多個(gè)聚類中每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,確定數(shù)據(jù)流中的進(jìn)入數(shù)據(jù)點(diǎn)到一個(gè)或者多個(gè)聚類的分配。
全文摘要
公開(kāi)了用于對(duì)流數(shù)據(jù)進(jìn)行聚類和分類的技術(shù)。舉例來(lái)說(shuō),一種用于處理數(shù)據(jù)流的技術(shù)包含以下步驟/操作。維護(hù)表示數(shù)據(jù)流中的一個(gè)或多個(gè)聚類的聚類結(jié)構(gòu)。使用該聚類結(jié)構(gòu)中的數(shù)據(jù)點(diǎn)為一個(gè)或者多個(gè)聚類中的每一個(gè)聚類確定一個(gè)投影維度集。使用與用于一個(gè)或者多個(gè)聚類中每一個(gè)聚類的每個(gè)投影維度集相關(guān)聯(lián)的距離,確定數(shù)據(jù)流中的進(jìn)入數(shù)據(jù)點(diǎn)到一個(gè)或者多個(gè)聚類的分配。此外,該聚類結(jié)構(gòu)可以用于對(duì)數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行分類。
文檔編號(hào)G06F17/30GK1855097SQ200610005938
公開(kāi)日2006年11月1日 申請(qǐng)日期2006年1月19日 優(yōu)先權(quán)日2005年4月20日
發(fā)明者查魯·C·阿加瓦爾, 俞士倫 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司