專利名稱:在數(shù)據(jù)處理系統(tǒng)中使用連續(xù)最優(yōu)化對(duì)類屬數(shù)據(jù)集排序的制作方法
技術(shù)領(lǐng)域:
一般而言,本發(fā)明涉及數(shù)據(jù)發(fā)掘(data exploration)和分析技術(shù),特別是涉及用于這種數(shù)據(jù)發(fā)掘和分析技術(shù)的對(duì)類屬數(shù)據(jù)(categorical data)進(jìn)行排序和可視化的系統(tǒng)和方法。
背景技術(shù):
可視表示在傳遞和解釋來(lái)自大量數(shù)據(jù)的信息方面變得越來(lái)越重要。這是因?yàn)橐呀?jīng)知道人類的視覺在識(shí)別有意義的圖案和空間關(guān)系方面特別地好。好的、有效的可視表示能以一種最大限度地利用我們的視覺技能的方式展現(xiàn)信息,從而揭示隱藏在數(shù)據(jù)中的有意義的趨勢(shì)和異常。在實(shí)際數(shù)據(jù)集中的大量數(shù)據(jù)屬性是類屬性的。一個(gè)類屬值傳遞一個(gè)對(duì)象的類別。通常既沒有一個(gè)自然順序也沒有距離與類屬值關(guān)聯(lián)。例如,考慮一個(gè)代表事件時(shí)間序列的數(shù)據(jù)集,它具有諸如宿主名、事件名、事件嚴(yán)重性等屬性。盡管我們能可論證地定義事件嚴(yán)重性的一個(gè)有意義的順序,但沒有自然的方式定義宿主名和事件名的距離和順序。在構(gòu)建可視化方面,盡管對(duì)于通過直接利用其內(nèi)在幾何特性來(lái)可視化數(shù)值數(shù)據(jù)已進(jìn)行過相當(dāng)?shù)难芯?,但在可視化和提取類屬?shù)據(jù)結(jié)構(gòu)方面的工作卻少得多。顯然,屬性值缺少順序增加了額外的復(fù)雜性。這是因?yàn)橛邪粗笖?shù)增加的許多方式能使類屬值完全地排序。然而,所有這些順序未必能產(chǎn)生同樣有效的可視化。Ma和Hellerstein鑒別了該問題并表示排序算法的質(zhì)量對(duì)于有效地可視化類屬數(shù)據(jù)是至關(guān)重要的,見歐洲專利申請(qǐng)No.00309231.9號(hào);S.Ma和J.L. Hellerstein,“對(duì)類屬數(shù)據(jù)排序以改進(jìn)可視化”,IEEE信息可視化研討會(huì)文集;1999;以及S.Ma和J.L. Hellerstein,“事件瀏覽器用于事件管理的事件數(shù)據(jù)發(fā)掘性分析”,DSOM 1999,它們公開的內(nèi)容在這里被納入作為參考。
為說(shuō)明對(duì)類屬值排序的重要性,我們考慮Ma和Hellerstein在上文引用的公開內(nèi)容中使用過的相同數(shù)據(jù)集。該數(shù)據(jù)集包含10,000個(gè)以上的事件,它們是由160個(gè)宿主在三天時(shí)間內(nèi)產(chǎn)生的,具有20個(gè)事件類型。圖1顯示該數(shù)據(jù)集的散布圖,其中x軸和y軸分別代表事件的時(shí)間和宿主名(例如一個(gè)計(jì)算設(shè)備網(wǎng)絡(luò)中的主機(jī)標(biāo)識(shí)符(id))。在這幅圖中,因?yàn)樗拗髅穷悓俚模鼈儽仨氁阅撤N方式映射到幾何坐標(biāo)上(在y軸上)。在圖1中宿主名的順序是宿主名的隨機(jī)排列??上У氖牵?yàn)檫@種隨機(jī)排序方案,圖1的散布圖所產(chǎn)生的結(jié)果不是特別有揭示性的。這樣,顯然需要某種較好的排序或映射,以提供數(shù)據(jù)集的更高質(zhì)量可視化。
Ma和Hellerstein在上文引用的公開內(nèi)容中要解決的一個(gè)關(guān)鍵問題是如何找出能造成有效可視化的映射,這也是本發(fā)明的一個(gè)焦點(diǎn)。顯然,在構(gòu)建這種映射背后的指導(dǎo)原則是利用幾何近似來(lái)捕獲對(duì)象間的關(guān)系。就是說(shuō),我們想讓類似的、有關(guān)聯(lián)的對(duì)象彼此靠近放置。
大量的研究努力和商業(yè)產(chǎn)品已把可視化技術(shù)應(yīng)用于類屬數(shù)據(jù)集,例如,M.O.Word,“Xmdv Tool用于可視化多元數(shù)據(jù)的多方法集成”,可視化大會(huì)文集(Los Alamitos,CA,USA)IEEE計(jì)算機(jī)學(xué)會(huì)出版社,第326-336頁(yè),1994年10月;來(lái)自IBM公司的鉆石軟件;以及由序列號(hào)09/359,874標(biāo)識(shí)的美國(guó)專利申請(qǐng),1999年7月27日提交,標(biāo)題為“用于事件管理的數(shù)據(jù)發(fā)掘分析系統(tǒng)和方法”,它們公開的內(nèi)容在這里被納入作為參考。這些努力可被分類為四類。
一種簡(jiǎn)單的途徑是根據(jù)一個(gè)輔助的數(shù)值屬性對(duì)類屬值排序或按字母順序?qū)@些類屬值排序。在我們的上一個(gè)例子中,我們可按宿主名在數(shù)據(jù)集中第一次出現(xiàn)的時(shí)間對(duì)宿主名排序。這一途徑是基于假定由系統(tǒng)產(chǎn)生的事件的順序中存在某種因果關(guān)系。然而,這一途徑與可視任務(wù)無(wú)關(guān),因此,通常不能提供最好的可視化質(zhì)量。隨著數(shù)據(jù)集的大小和復(fù)雜性的增長(zhǎng),這一途徑的性能會(huì)變差。
第二類主要是集中于基于集群的途徑,例如參見V.Ganti等的“CACTUS使用概要對(duì)類屬數(shù)據(jù)集群”,第五屆關(guān)于知識(shí)發(fā)現(xiàn)和數(shù)據(jù)挖掘的ACM SIGKDD國(guó)際會(huì)議文集,ACM出版社,第73-83頁(yè),1999年8月;D.Gibson等的“集群類屬數(shù)據(jù)基于動(dòng)態(tài)系統(tǒng)的一個(gè)途徑”,第24屆關(guān)于甚大數(shù)據(jù)庫(kù)VLDB的國(guó)際會(huì)議文集,311-322頁(yè),1998年8月;S.Guha等的“Rock一種用于類屬屬性的穩(wěn)建集群算法”,第15屆數(shù)據(jù)工程國(guó)際會(huì)議文集,1999;以及S.Ma和J.L. Hellerstein的“對(duì)類屬數(shù)據(jù)排序以改進(jìn)可視化”,IEEE信息可視化研討會(huì)文集,1999,它們公開的內(nèi)容在這里被納入作為參考。
集群是深入了解數(shù)據(jù)集的一種自然方式。然而,為了可視化的目的,有三個(gè)問題影響它的價(jià)值。第一,盡管能在幾何空間中標(biāo)識(shí)集群,但集群描述仍是無(wú)序的,而且需要一些附加的非平凡的方法對(duì)集群排序和可視化和對(duì)每個(gè)集群內(nèi)的元素排序和可視化。第二,大多數(shù)集群算法偏好某些通常是很結(jié)構(gòu)化的集群形狀(例如上文引用的CACTUS途徑中的矩形區(qū))并且總是趨向于把數(shù)據(jù)分區(qū)到這種形狀的集群中,盡管在該數(shù)據(jù)集中可能根本沒有集群趨勢(shì)。特別是,CACTUS途徑顯示,上文引用的Gibson途徑不能發(fā)現(xiàn)若干自然的集群類別,例如在某些屬性子集上有重疊投影的集群。我們感到,對(duì)于數(shù)據(jù)的集群結(jié)構(gòu)做任何假定都會(huì)達(dá)不到使用集群算法提取結(jié)構(gòu)的總體目的。本發(fā)明的目標(biāo)是在不對(duì)數(shù)據(jù)作任何預(yù)先假定的情況下揭示其順序的技術(shù)。為此,本發(fā)明使用一個(gè)最優(yōu)化框架來(lái)使這一問題公式化。
與這第二類算法有關(guān),在上述由序列號(hào)No.09/359,874標(biāo)識(shí)的美國(guó)專利申請(qǐng)中提議的這第三個(gè)途徑是基于層次排序。該途徑提供迭代組合最靠近的點(diǎn)對(duì)(針對(duì)某種相似性函數(shù))并用單點(diǎn)代替該對(duì)。這樣,使這些點(diǎn)構(gòu)成嵌套式排序子集的嚴(yán)格層次結(jié)構(gòu)。任何兩個(gè)子集之間最短路徑的長(zhǎng)度對(duì)應(yīng)于它們的相似程度。全局排序的構(gòu)成簡(jiǎn)化為以自底向上方式遞歸地局部排序子集對(duì)。以這一途徑,嚴(yán)格的層次樹不能反映出使這些點(diǎn)能關(guān)聯(lián)起來(lái)的多種不同方式,而且隨著數(shù)據(jù)集的大小和復(fù)雜性的增長(zhǎng),這種情況會(huì)變得更加嚴(yán)重。其次,層次排序在性質(zhì)上是確定性的(一旦這些點(diǎn)被分組到一起,便沒有機(jī)會(huì)重新評(píng)估這種分組,因而也沒有機(jī)會(huì)重新評(píng)估這種排序)。
第四種途徑是使用投影方法,如多維標(biāo)度(MDS)或在C.Faloutsos等的“FastMap對(duì)傳統(tǒng)的和多媒體的數(shù)據(jù)集進(jìn)行編索引、數(shù)據(jù)挖掘和可視化的快速算法”中提議的算法,關(guān)于數(shù)據(jù)管理的1995 ACM SIGMOD國(guó)際會(huì)議(San Jose,California,USA)文集,163-174頁(yè),1995年5月,所公開的內(nèi)容在這里被納入作為參考。存在一個(gè)基本的限制與這些技術(shù)的目標(biāo)相關(guān)聯(lián)。MDS產(chǎn)生數(shù)據(jù)的一個(gè)低維可視表示,它盡可能令人信服地保留原始數(shù)據(jù)點(diǎn)之間的距離(針對(duì)相似性函數(shù))。問題在于為了可視發(fā)掘的目的,人們通常事先不知道在尋找什么而且也沒有好的相似性函數(shù)。所以,針對(duì)特定相似性函數(shù)保留距離不應(yīng)是它本身的目標(biāo),相反,該順序應(yīng)與合理的相似性函數(shù)一致。就是說(shuō),如果點(diǎn)u比w更與v相似,則按此順序u應(yīng)被映射到更接近于v而不是更接近于w;然而,保留實(shí)際相似性比值不應(yīng)是目的。換言之,應(yīng)該更希望其順序是保留拓?fù)涞亩皇潜A艟嚯x的(針對(duì)某特定相似性函數(shù)測(cè)量的距離)。再有,對(duì)于大的數(shù)據(jù)集,MDS過于昂貴,而且不允許增量式地把新點(diǎn)映射到已有投影上(一旦增加一個(gè)新點(diǎn),基本上要重新計(jì)算整個(gè)映射)。
發(fā)明內(nèi)容
本發(fā)明提供對(duì)類屬屬性排序的技術(shù),從而使數(shù)據(jù)更好地可視化。在本發(fā)明的第一方面,基于計(jì)算機(jī)的對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值進(jìn)行排序的技術(shù)包含如下步驟/操作第一,得到要排序的類屬值。如果給定這些類屬值,則對(duì)這些類屬值排序的任務(wù)被公式化為連續(xù)最優(yōu)化排序問題。一旦該任務(wù)被公式化為連續(xù)最優(yōu)化排序問題,則能計(jì)算出該連續(xù)最優(yōu)化排序問題的至少一個(gè)連續(xù)的(優(yōu)選地,優(yōu)化的)排序解。該技術(shù)還可包括把計(jì)算出的連續(xù)排序解從一個(gè)連續(xù)空間映射到一個(gè)離散空間。至少是計(jì)算出的連續(xù)排序解中的一部分可被用于一個(gè)數(shù)據(jù)可視化系統(tǒng)(即可以顯示給用戶)。
在一個(gè)實(shí)施例中,使類屬值排序任務(wù)成為連續(xù)最優(yōu)化排序問題的步驟/操作可包含基于一個(gè)或多個(gè)屬性的類屬值計(jì)算一個(gè)相似性矩陣。相似性矩陣可基于一個(gè)或多個(gè)多重集操作。這一個(gè)或多個(gè)多重集操作可包含計(jì)算兩類相似性量度,第一類是在來(lái)自同一屬性的兩個(gè)類屬值之間計(jì)算出的相似性量度,第二類是在來(lái)自不同屬性的兩個(gè)類屬值之間計(jì)算出的相似性量度。再有,使類屬值排序任務(wù)成為連續(xù)最優(yōu)化排序問題的步驟/操作可進(jìn)一步包含由相似性矩陣計(jì)算拉普拉斯(Laplace)矩陣。然后,計(jì)算該連續(xù)最優(yōu)化排序問題的至少一個(gè)連續(xù)排序結(jié)果的步驟/操作包含找出該拉普拉斯矩陣的最小正本征值,然后從拉普拉斯矩陣的最小正本征值得到相應(yīng)的最優(yōu)化本征矢量。然后,能根據(jù)與最優(yōu)化本征矢量關(guān)聯(lián)的相應(yīng)值對(duì)這些類屬值排序。
在本發(fā)明的第二方面,提供了用于對(duì)涉及多重屬性的類屬值進(jìn)行排序的技術(shù)。根據(jù)這種技術(shù),在使類屬值排序任務(wù)成為連續(xù)最優(yōu)化排序問題之前,涉及多重屬性的類屬值被映射到一個(gè)對(duì)象集,從而使上述的“成為”和“計(jì)算”步驟/操作是結(jié)合該對(duì)象集進(jìn)行。
在本發(fā)明的第三方面,對(duì)與一個(gè)數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值進(jìn)行排序的多級(jí)框架技術(shù)包含如下步驟/操作第一,得到要排序的類屬值。如果給定這些類屬值,則這些類屬值被模擬為一個(gè)原始圖形結(jié)構(gòu),其各頂點(diǎn)為要排序的類屬值,邊緣的權(quán)重為被連接頂點(diǎn)的相似性。然后,由一個(gè)或多個(gè)較粗略的圖形結(jié)構(gòu)的層次序列近似該原始圖形結(jié)構(gòu),這里具有相似局部結(jié)構(gòu)的頂點(diǎn)被合并成較粗略的圖形結(jié)構(gòu)中的一個(gè)頂點(diǎn)。最粗略的圖形結(jié)構(gòu)被按照連續(xù)最優(yōu)化排序操作進(jìn)行排序。最粗略的圖形結(jié)構(gòu)的排序結(jié)被傳播回到原始圖形結(jié)構(gòu),于是至少是與原始圖形結(jié)構(gòu)關(guān)聯(lián)的被傳播的排序結(jié)果的一部分可被用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
由下文中結(jié)合附圖對(duì)本發(fā)明實(shí)施例的詳細(xì)描述,本發(fā)明的這些和其他目的、特點(diǎn)和優(yōu)點(diǎn)將變得顯然。
圖1顯示一個(gè)散布圖,這里y軸代表宿主id(標(biāo)識(shí)符),x軸代表時(shí)間,而且宿主id是隨機(jī)賦予的;圖2A是一個(gè)通用可視化系統(tǒng)的方框圖;圖2B是使用根據(jù)本發(fā)明的排序機(jī)制作為數(shù)據(jù)預(yù)處理一部分的系統(tǒng)的方框圖;圖2C是使用根據(jù)本發(fā)明的排序機(jī)制作為數(shù)據(jù)管理一部分的系統(tǒng)的方框圖;圖2D是使用根據(jù)本發(fā)明的排序機(jī)制作為一個(gè)觀察器的一部分的系統(tǒng)的方框圖;圖3A是流程圖,顯示根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行排序的頻譜算法;圖3B顯示一個(gè)散布圖,這里y軸代表宿主id(標(biāo)識(shí)符),x軸代表時(shí)間,而且宿主id是按照根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行排序的頻譜算法賦予的。
圖4是流程圖,顯示根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行排序的處置多重屬性的頻譜算法;圖5是流程圖,顯示根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行排序的處置大數(shù)據(jù)集的多級(jí)頻譜算法;圖6顯示根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行排序的多級(jí)頻譜算法的結(jié)果舉例;以及圖7顯示根據(jù)本發(fā)明使用一個(gè)或多個(gè)排序算法的硬件實(shí)現(xiàn)示例。
具體實(shí)施例方式
本發(fā)明提供對(duì)類屬屬性排序從而使數(shù)據(jù)更好地可視化的技術(shù)。為此,如下文中舉例解釋的那樣,本發(fā)明可被認(rèn)為是聚焦于如下三個(gè)問題。
(1)如何研發(fā)快速而有效的算法。對(duì)類屬數(shù)據(jù)排序的問題可被公式化為一個(gè)組合最優(yōu)化問題,它是一個(gè)NP-難題。這意味著其最優(yōu)化結(jié)果不可能在多項(xiàng)式時(shí)間(polynomial time)內(nèi)得到。結(jié)果,大多數(shù)研究努力依靠?jī)H能給出近最優(yōu)化結(jié)果的組合試探法。例如,先前Ma和Hellerstein把此排序問題歸結(jié)為一個(gè)哈密爾頓路徑問題,并使用貪婪試探去尋找對(duì)哈密爾頓路徑的近似,它又定義一個(gè)排序。然而,試探算法或者可能是效率太低或者不能提供最好的結(jié)果(通常在算法的運(yùn)行時(shí)間和由算法發(fā)現(xiàn)的近似結(jié)果的接近程度二者之間有一個(gè)折衷)。其他研究努力提出一些局部改進(jìn)技術(shù),如上文引用的Gibson工作中的動(dòng)態(tài)系統(tǒng)途徑,強(qiáng)迫定向放置等。盡管這些研究策略通常設(shè)法在相對(duì)較少的圖形中捕獲許多有意義的連接和圖案,但對(duì)這些策略沒有適當(dāng)?shù)睦碚摾斫?。充其量也不過是對(duì)一些特定案例有一些理論分析,但尚未發(fā)展出一般理論。眾所周知,關(guān)于排序的質(zhì)量和使算法收斂所需的時(shí)間是很難說(shuō)出理由的。所有這些使得難于得到對(duì)近似程度的保證。根據(jù)本發(fā)明,我們以根本上不同的方式表達(dá)此排序問題,它允許避免難于操作的組合公式化。
(2)如何對(duì)具有多重類屬屬性的數(shù)據(jù)排序。在實(shí)際生活中的數(shù)據(jù)往往有多重類屬屬性。例如,一個(gè)系統(tǒng)事件至少有兩個(gè)類屬屬性事件類型和宿主名??梢暬夹g(shù),如3維散布圖和平行坐標(biāo)圖,使我們能發(fā)掘多維數(shù)據(jù)。顯然,使用這些技術(shù)有效地可視化更多維則需要對(duì)相應(yīng)的類屬屬性排序。
(3)如何按比例放大排序算法以處置大量數(shù)據(jù)。當(dāng)今,把大量數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中并非不尋常的事件。這提供了寶貴的機(jī)會(huì)去發(fā)現(xiàn)信息。然而,處置大量數(shù)據(jù)提出一個(gè)巨大的挑戰(zhàn),即要開發(fā)出與數(shù)據(jù)成線性比例的有效算法。當(dāng)在分析大量數(shù)據(jù)時(shí),為小量數(shù)據(jù)設(shè)計(jì)的算法會(huì)崩潰。
本發(fā)明提供一種對(duì)類屬數(shù)據(jù)排序的新途徑,它解決這三個(gè)問題以及其他問題。
為得到一個(gè)高效率的而又有效力的算法,我們開發(fā)了一個(gè)不同的途徑,從而避免了先前公式化時(shí)的組合復(fù)雜性。本發(fā)明的一個(gè)關(guān)鍵思想是把排序問題公式化為一個(gè)連續(xù)最優(yōu)化問題。這樣,本發(fā)明的排序算法可包含三個(gè)步驟(a)把離散排序問題變換為連續(xù)最優(yōu)化問題;(b)求解該連續(xù)最優(yōu)化問題;以及(c)把最優(yōu)化連續(xù)解映射為最接近的離散解。為實(shí)現(xiàn)(a),我們放松相應(yīng)的離散公式化中的離散性約束。就是說(shuō),我們的目標(biāo)不是找出最佳排序,而是在于找出把原始類屬值映射到實(shí)數(shù)的最佳連續(xù)映射。步驟(b)求解(a)中得到的連續(xù)最佳化問題。
在下面的實(shí)施例中,我們將說(shuō)明我們公式化的連續(xù)最優(yōu)化有一個(gè)特殊的結(jié)構(gòu),這使它成為可追蹤的,盡管原始的離散問題是NP-難題。這使我們能開發(fā)出給出最優(yōu)化解的頻譜算法。例如,我們的算法使用關(guān)于從數(shù)據(jù)的圖形表示中導(dǎo)出的某些矩陣的頻譜(代數(shù)的)信息。我們的算法使W.E.Donath等的“基于連接矩陣本征矢量的對(duì)圖形分區(qū)算法和計(jì)算機(jī)邏輯”(IBM技術(shù)公開報(bào)告15(1972),No.3,938-944頁(yè))以及M.Fiedler的“圖形的代數(shù)連接性”(捷克斯洛代克數(shù)學(xué)雜志23(1973),No.98,298-305頁(yè))中發(fā)展的對(duì)圖形分區(qū)問題的代數(shù)工具通用化,從而能用于解決排序問題。上述文章公開的內(nèi)容在這里被納入作為參考。最后,在我們得到連續(xù)解之后,步驟(c)把連續(xù)值映射到離散空間。我們應(yīng)該指出,即使對(duì)于連續(xù)問題的解是最佳的,把它映射到最靠近的離散點(diǎn)并不一定給出最佳的離散解(雖然它提供了一個(gè)好的近似)。然而,我們應(yīng)該指出,構(gòu)造一個(gè)數(shù)據(jù)集的順序的問題根本上不同于構(gòu)造分區(qū)松馳提供了有其自己理由的有價(jià)值的可視化;因此,把連續(xù)解映射回離散空間并不是強(qiáng)制性的。
現(xiàn)在我們討論如何使上述算法通用化以處理多重屬性。現(xiàn)實(shí)生活中的數(shù)據(jù)往往有多重屬性。已發(fā)展了許多可視化技術(shù)用于發(fā)掘多重屬性值之間的關(guān)系。例如,3維散布圖允許畫出三維。平行圖使用一系列平行軸,每個(gè)軸代表單個(gè)屬性域。連接相繼軸上值的直線段表明該數(shù)據(jù)集有至少一個(gè)條目含有這兩個(gè)值(作為相應(yīng)屬性之值)。排序問題包含以能改善可視化的方式把屬性值映射到軸線上(通常,其目的是使邊緣交叉數(shù)減至最少)。請(qǐng)注意,由于有兩個(gè)或更多個(gè)類屬屬性需要同時(shí)排序,因此不僅每個(gè)屬性的順序要它自己滿意,而且該順序還必須彼此滿意,這一事實(shí)使這里的情況復(fù)雜化。不去獨(dú)立地對(duì)每個(gè)屬性域排序,本發(fā)明代之以創(chuàng)建“異質(zhì)”線性排序,它代表所有屬性域的值到單一線上的值的映射。這有利地解決了保持所有排序彼此同步的問題。為得到一個(gè)特定屬性域的值的映射,本發(fā)明取此異質(zhì)映射的相應(yīng)條目(此異質(zhì)映射分解成若干同質(zhì)映射)。
盡管頻譜算法一般能產(chǎn)生高質(zhì)量的排序,但它可能比其他方法更昂貴。對(duì)于稀疏矩陣,Lancoz迭代在預(yù)期的O(n1.4)時(shí)間內(nèi)解決對(duì)稱本征值問題。在實(shí)踐中,對(duì)特別大的數(shù)據(jù)集它可能是慢的。再有,來(lái)自實(shí)際大數(shù)據(jù)集的圖形通常是高度超定的,即它可能包含多個(gè)具有幾乎完全相同的相鄰結(jié)構(gòu)的頂點(diǎn)。為了按比例增大我們的算法以對(duì)付大數(shù)據(jù)量,我們?yōu)閳D形分區(qū)問題開發(fā)了多級(jí)排序框架。其總體思想是以一系列較小的、較粗略的圖形近似原始圖形。通過把具有相似相鄰結(jié)構(gòu)的所有頂點(diǎn)瓦解成單個(gè)多重頂點(diǎn),形成下一級(jí)較粗略的圖形。最粗略的圖形被排序。然后,造成的排序通過內(nèi)插穿過中間圖形序列傳播回到原始圖形(并在我們對(duì)排序去粗時(shí)細(xì)化此排序)。為此,我們線性減小圖形大小,從而得到更大的時(shí)間節(jié)省。
總之,我們的發(fā)明提供對(duì)類屬數(shù)據(jù)的排序技術(shù),它包含下列中的一個(gè)或多個(gè)(1)解決排序問題的有效的頻譜算法;(2)處理多重類屬屬性的新技術(shù);以及(3)使算法擴(kuò)大到很大數(shù)據(jù)的通用層次解決方案。
我們應(yīng)該指出,本發(fā)明的另一個(gè)吸引人的特點(diǎn)是由于數(shù)值分析發(fā)現(xiàn)本征矢量以求生存,所以易于得到大量軟件供這一目的使用,例如來(lái)自IBM公司的ESSL軟件庫(kù)。
詳細(xì)描述的下一部分提供對(duì)本發(fā)明實(shí)施例的解釋。首先,利用可視化系統(tǒng)描述排序問題,然后詳細(xì)描述實(shí)現(xiàn)本發(fā)明的算法示例。
圖2A描繪一個(gè)通用的可視化系統(tǒng),例如上文引用的以序列號(hào)No.09/359,874標(biāo)識(shí)的題為“用于事件管理的對(duì)數(shù)據(jù)進(jìn)行發(fā)掘分析的系統(tǒng)和方法”的美國(guó)專利(1999年7月27日提交)中描述的系統(tǒng),該申請(qǐng)公開的內(nèi)容在這里被納入作為參考,它的實(shí)施例也稱作“EventBrowser(事件瀏覽器)”。該可視化系統(tǒng)有三個(gè)主要構(gòu)件數(shù)據(jù)源210,數(shù)據(jù)管理模塊220和觀察器230。該數(shù)據(jù)源存儲(chǔ)要被可視化的數(shù)據(jù)。數(shù)據(jù)管理模塊提供基本數(shù)據(jù)查詢操作,維護(hù)存儲(chǔ)器內(nèi)數(shù)據(jù),并提供各觀察器當(dāng)中的對(duì)應(yīng)性。觀察器提供使用預(yù)先定義的途徑對(duì)數(shù)據(jù)可視化的機(jī)制,如可視化技術(shù)(如散布圖)、概括技術(shù)等。觀察器還負(fù)責(zé)與終端用戶交互作用。
圖2B、2C和2D顯示三個(gè)可視化系統(tǒng),其中可以以不同方式利用本發(fā)明的排序技術(shù)。就是說(shuō),為了產(chǎn)生不同的好處,可在可視化系統(tǒng)的不同位置實(shí)現(xiàn)利用本發(fā)明方法的排序算法或引擎,這將在下文中詳細(xì)解釋。
圖2B顯示一個(gè)本發(fā)明的排序機(jī)制或排序引擎240,它可用作可視化系統(tǒng)的數(shù)據(jù)預(yù)處理階段的一部分。就是說(shuō),在被數(shù)據(jù)管理模塊220和觀察器230使用之前,存儲(chǔ)在數(shù)據(jù)源210中的數(shù)據(jù)受到排序引擎的操作。這一系統(tǒng)的一個(gè)好處在于該排序機(jī)制對(duì)可視化系統(tǒng)是透明的,所以現(xiàn)有的可視化系統(tǒng)無(wú)需改變便能使用該排序機(jī)制。這一實(shí)現(xiàn)很適于其數(shù)據(jù)得到很好理解且比較穩(wěn)定的那些應(yīng)用。就是說(shuō),分析數(shù)據(jù)的過程被固定,所以每次可產(chǎn)生相似的報(bào)告并使用相同的排序算法。
在圖2C顯示的系統(tǒng)中,本發(fā)明的排序引擎(算法)240被作為可視化系統(tǒng)數(shù)據(jù)管理模塊220的一部分納入。這一實(shí)現(xiàn)為使用排序算法增加了更大的靈活性,因?yàn)槟転槎鄠€(gè)觀察器支持多個(gè)排序算法,于是排序能在“閑暇中”完成。
在圖2D顯示的系統(tǒng)中,排序引擎240是作為觀察器230的一部分而實(shí)現(xiàn)的。這一實(shí)現(xiàn)不要對(duì)數(shù)據(jù)管理模塊220做任何改變。此外,這一系統(tǒng)使其能夠通過簡(jiǎn)單地創(chuàng)建特殊觀察器容易修改排序算法以滿足用戶(或應(yīng)用)的特殊需要。
總之,圖2B、2C和2D顯示三種不同的方式以可視化系統(tǒng)實(shí)現(xiàn)本發(fā)明的排序機(jī)制。應(yīng)該理解,選擇使用哪種系統(tǒng)實(shí)現(xiàn)很大程度上取決于應(yīng)用。
現(xiàn)在我們轉(zhuǎn)到詳細(xì)描述本發(fā)明的排序算法。首先,我們?cè)谛问缴详愂鲈搯栴},并展現(xiàn)排序的基本頻譜算法。然后,我們討論如何處置多重類屬屬性。最后,我們發(fā)展處置大量數(shù)據(jù)的多級(jí)解決方案。
首先我們引入一些符號(hào)。令{O1,O2,...On}代表要排序的幾個(gè)對(duì)象。令S(i,j)代表對(duì)象Oi和Oj的相似性。排序問題包含找出{1,...,n}的一個(gè)排列π,使∑ijS(i,j)(π(i)-π(j))2達(dá)到極小。
顯然,這一最優(yōu)化函數(shù)鼓勵(lì)把相似的對(duì)象放在靠近的位置。就是說(shuō),如果兩個(gè)對(duì)象相似,即S(i,j)大,則這兩個(gè)對(duì)象應(yīng)放在靠近的位置,即(π(i)-π(j))2小。我們應(yīng)該指出,上述公式化是離散最優(yōu)化問題,而且是一個(gè)NP-難題。這意味著不大可能在多項(xiàng)式時(shí)間內(nèi)得到最優(yōu)化解。這樣,本發(fā)明通過找出實(shí)放置{x1,...,xn}使在規(guī)一化約束∑i x(i)2=1下∑ij s(i,j)(x(i)-x(j))2達(dá)到極小,以此來(lái)把這一離散最優(yōu)化問題轉(zhuǎn)換成連續(xù)最優(yōu)化問題。
這里xi是一個(gè)實(shí)數(shù),是對(duì)象Oi的放置位置。一旦我們得到最佳放置矢量X={x1,...,xn},我們便能用相應(yīng)的x坐標(biāo)對(duì)對(duì)象排序。請(qǐng)注意,目標(biāo)函數(shù)可重寫為在XTX=1的條件下使XTLX極小化,這里L(fēng)=D-S。應(yīng)該理解,XT代表最佳放置矢量X的轉(zhuǎn)置,而L代表拉普拉斯矩陣。矩陣D是其元素dii=∑js(i,j)的n×n對(duì)角矩陣,S是n×n相似性矩陣。應(yīng)該理解,s(i,j)代表相似性矩陣S的第i行、第j列處的元素。已經(jīng)表明,這一連續(xù)放置問題的解是與最小正本征值關(guān)聯(lián)的拉普拉斯矩陣本征矢量,參見例如K.M.Hall的“r維二次放置算法”,管理科學(xué)17(1970),No.3,219-229頁(yè)。所公開的內(nèi)容在這里被納入作為參考。
利用上述背景說(shuō)明,我們描述根據(jù)本發(fā)明一個(gè)實(shí)施例的排序頻譜算法示例。該算法概括于圖3A中。應(yīng)該理解,原始對(duì)象數(shù)據(jù)用作該算法的輸入。這一原始數(shù)據(jù)可以是一個(gè)數(shù)據(jù)集,如上文中描述的一個(gè)數(shù)據(jù)值,例如含有在三天內(nèi)由160個(gè)宿主產(chǎn)生的有20個(gè)事件類型的超過10000個(gè)事件的數(shù)據(jù)集,這里的宿主名是要被排序或映射的對(duì)象。
首先,在步驟310,該離散排序問題被轉(zhuǎn)換為一個(gè)連續(xù)最優(yōu)化問題。就是說(shuō),步驟310通過計(jì)算相似性矩陣S和拉普拉斯矩陣L把該問題公式化為一個(gè)連續(xù)最優(yōu)化問題。下面將描述計(jì)算相似性矩陣S的方法示例。拉普拉斯矩陣L可根據(jù)上文描述的關(guān)系L=D-S計(jì)算出來(lái),其中D被定義為n×n對(duì)角矩陣,其元素dii=∑js(i,j),這樣D可從S計(jì)算出來(lái)。
接下來(lái),步驟320求解該連續(xù)最優(yōu)化問題。這是通過找出L的最小正本征值再得到相應(yīng)的最優(yōu)本征矢量X來(lái)完成的。應(yīng)該理解,能以本領(lǐng)域技術(shù)人員公知的任何傳統(tǒng)方式得到相應(yīng)的最優(yōu)本征矢量。然后,步驟330以與最優(yōu)本征矢量X關(guān)聯(lián)的相應(yīng)x值對(duì)對(duì)象排序。就是說(shuō),對(duì)象的新順序是{Oi1,Oi2,...,Oin},這里xi1≤xi2≤...≤xin。這樣,結(jié)果被映射為原始對(duì)象的順序。
圖3B顯示把上述排序算法應(yīng)用于圖1散布圖中可視化的同一數(shù)據(jù)集所得到的結(jié)果。我們的目標(biāo)仍是把宿主安排在y軸上。x軸是時(shí)間。圖中坐標(biāo)(x,y)處的點(diǎn)代表由第y個(gè)宿主在時(shí)間x產(chǎn)生的一個(gè)事件。盡管圖1和圖3B代表同樣的數(shù)據(jù)集,但每個(gè)圖使用不同的宿主順序。圖1中的宿主順序是隨機(jī)賦予的;而圖3B中的宿主順序是根據(jù)圖3A中描述的排序算法確定的。顯然,圖3B提供關(guān)于數(shù)據(jù)的更多信息。例如,圖3B中的排序顯示宿主分布圖案(例如,在散布圖頂部云狀分組所描繪的那樣)和宿主的不同行為,從而提供事件數(shù)據(jù)的更高質(zhì)量可視化。
我們現(xiàn)在說(shuō)明如何根據(jù)本發(fā)明的一個(gè)實(shí)施例對(duì)多重類屬屬性排序。這里,本發(fā)明創(chuàng)建所有屬性值到單一對(duì)象集的一對(duì)一映射。例如,假定我們有兩個(gè)屬性A和B。A有兩個(gè)值a1和a2。B有兩個(gè)值b1和b2?,F(xiàn)在,我們能把a(bǔ)1映射到o1,a2映射o2,b1映射到o3,b2映射到o4,這里{o1,o2,o3,o4}是一個(gè)對(duì)象集。這樣,我們把多重屬性值排序問題簡(jiǎn)化為單一對(duì)象集排序問題。在該對(duì)象集由圖3A上下文中描述的頻譜算法排序之后,對(duì)象的排序被映射到相應(yīng)屬性值的排序。假定我們?cè)谏侠姓业降淖顑?yōu)排序是{o3,o2,o4,o1}。于是屬性A和B的值被排序?yàn)閧a2,a1},因?yàn)閛2在o1的前面;類似地,有{b1,b2}。圖4詳細(xì)說(shuō)明這一過程。如圖所示,步驟410使每個(gè)屬性的值映射到對(duì)象并為每對(duì)對(duì)象計(jì)算相似性量度。在步驟420,該方法運(yùn)行排序頻譜算法(圖3A)并得到排序后的對(duì)象集。步驟430把結(jié)果映射回到每個(gè)屬性。
根據(jù)本發(fā)明,要排序的對(duì)象對(duì)應(yīng)于一個(gè)或多個(gè)類屬屬性值。為使用前述算法,我們需要定義任何兩個(gè)類屬屬性值的相似性量度。前述Ma和Hellerstain的工作討論了如何基于其時(shí)間信息對(duì)事件數(shù)據(jù)測(cè)量類屬值的相似性。本發(fā)明發(fā)展了一個(gè)基于多重集操作的相似性量度。例如,假定我們的數(shù)據(jù)有k個(gè)屬性A1,...,Ak,它們的域是D1,...,Dk。顯然,我們需要定義兩類相似性量度 (1)屬性內(nèi)的相似性; (2)屬性間的相似性。前者度量來(lái)自同一屬性的兩個(gè)類屬值之間的相似性;后者度量來(lái)自兩個(gè)不同屬性的兩個(gè)值之間的相似性。為得到屬性間的相似性,令ψxi={d∈D|di=x}]]>為一個(gè)數(shù)據(jù)集,它的第i個(gè)屬性有值x。屬性間相似性S(υi,νj)(這里υ∈Di和ν∈Dj)能由S(υi,vj)=|ψuiIψvj|12(|ψui|+|ψvj|)]]>計(jì)算出來(lái)。類似地,為得到屬性內(nèi)相似性,令θxi={(dj)j≠i|di=x,d∈D}.]]>屬性內(nèi)相似性S(υi,νj)可由S(υi,vi)=|θuIθv|12(|θui|+|θvj|)]]>定義,這里υi和νj是來(lái)自第i個(gè)屬性的兩個(gè)值。
我們現(xiàn)在討論如何根據(jù)本發(fā)明的多級(jí)框架示例處置大量數(shù)據(jù)。為說(shuō)明我們的排序用多級(jí)頻譜算法,我們把數(shù)據(jù)模擬為稀疏異質(zhì)圖,以其頂點(diǎn)為要排序的類屬值。邊緣的權(quán)重代表相連頂點(diǎn)的相似性(如果相連頂點(diǎn)屬于同一屬性域,則為屬性內(nèi)相似性;否則為屬性間相似性)。本發(fā)明以多級(jí)策略對(duì)大的原始圖排序。就是說(shuō),我們以一系列較小的、較粗略的圖形近似該原始圖形。在較粗略的圖形中,有相似局部結(jié)構(gòu)的一組頂點(diǎn)被合并成一個(gè)頂點(diǎn)。然后,最粗略的圖形被排序,并且通過內(nèi)插將該順序經(jīng)由這一系列中間圖形傳回原始圖,其傳回方式是保留粗略圖的排序。這樣做要求把本發(fā)明的基本算法擴(kuò)展到頂點(diǎn)加權(quán)圖,其中的一個(gè)頂點(diǎn)可代表原始圖中的一組頂點(diǎn)。
例如,假定一個(gè)較粗略圖的第i個(gè)頂點(diǎn)代表原始圖的wi個(gè)頂點(diǎn)。把該算法擴(kuò)展到多層頂點(diǎn)圖的自然方式是把wi′納入該最優(yōu)化問題的約束條件。修改后的最優(yōu)化問題能被表述如下在約束條件WXTWX=1之下使XTLX極小,這里W是具有元素wi2的對(duì)角矩陣,wi是由G中的多重頂點(diǎn)i代表的原始圖中頂點(diǎn)個(gè)數(shù)。與原始的公式化相比較,上述最優(yōu)化把約束條件改為Σi(wixi)2=1.]]>可以顯示出,上述最優(yōu)化問題的最優(yōu)解是L′的第一非零本征矢量,這里L(fēng)′=W-1L。
把原始的上文引用的K.M.Hall算法應(yīng)用于實(shí)際數(shù)據(jù)集時(shí)產(chǎn)生的一個(gè)問題是原始的K.M.Hall算法產(chǎn)生的排序遭受強(qiáng)烈的點(diǎn)叢集的影響,特別是在原點(diǎn)周圍。這是因?yàn)樵诖私Y(jié)構(gòu)中的本征矢量通常由于規(guī)一化約束的限制只有少數(shù)大的分量。這迫使坐標(biāo)的其余值接近于零,這而導(dǎo)致可視空間的高群集區(qū)。結(jié)果,選擇對(duì)應(yīng)于最小非零本征值的本征矢量不是必定會(huì)產(chǎn)生好的可視化。這樣,本發(fā)明提供一個(gè)修正,它通過在選擇本征矢量時(shí)加上兩個(gè)結(jié)構(gòu)性約束來(lái)避免這種退化。第一個(gè)約束要求選定的本征矢量的所有元素大于一個(gè)由用戶定義的閾值,例如0.05,它是數(shù)據(jù)集大小的函數(shù)。第二個(gè)約束要求選定的本征矢量的任何兩個(gè)元素之差大于一個(gè)由用戶定義的閾值,例如0.1。這兩個(gè)約束基本上堅(jiān)持了放置矢量要有信息理論意義,即必須有高的最小熵(min-entropy)。
圖5顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的多級(jí)排序算法的流程圖。如圖所示,該算法包含四個(gè)步驟。
在步驟510,該算法構(gòu)成要被排序的類屬值的異質(zhì)圖Go。該異質(zhì)圖的節(jié)點(diǎn)代表類屬值。邊代表兩個(gè)連接節(jié)點(diǎn)的相似性量度。
在步驟520,該算法通過把Gi的一組頂點(diǎn)聚結(jié)到較粗略的圖Gi+1中一個(gè)新的節(jié)點(diǎn)(稱作多重頂點(diǎn)),它的權(quán)重是它代表的原始節(jié)點(diǎn)數(shù),從而創(chuàng)建圖G0,G1,...,Gk(從原始圖G0開始)的一個(gè)層次結(jié)構(gòu)。然后Gi+1作為使圖粗化的另一迭代步驟的輸入圖形。當(dāng)?shù)玫阶銐蛐〉膱D形時(shí),例如當(dāng)達(dá)到100個(gè)節(jié)點(diǎn)或更少節(jié)點(diǎn)的圖形大小時(shí),這一粗化階段便完成了。
在步驟530,該算法使用用于上述多層頂點(diǎn)的頻譜算法(圖3A)對(duì)該層次結(jié)構(gòu)(上文中用Gk表示)中的最小(最粗略)圖形進(jìn)行排序。
在步驟540,該算法通過一系列中間圖形把Gk的排序傳回或內(nèi)插回到G0,從而在算法進(jìn)行過程中對(duì)排序細(xì)化。
有若干理由說(shuō)明為何上述多級(jí)算法工作得好。首先,粗化階段隱藏了圖形的所有不重要的、冗余的細(xì)節(jié),只保留關(guān)于數(shù)據(jù)的最重要的連接性信息。這允許找出好的初始順序,它能作為傳回原始圖的結(jié)果被迭代式地細(xì)化。第二個(gè)理由是這一多級(jí)途徑顯著地加速了計(jì)算,因?yàn)樵擁樞蚴窃诒仍紙D形小得多的圖形上計(jì)算的。這使該算法可按比例地應(yīng)用于很大的數(shù)據(jù)量。事實(shí)上,對(duì)最粗圖形排序所需時(shí)間變?yōu)橹皇且粋€(gè)小的考慮,這樣,實(shí)現(xiàn)這一途徑的系統(tǒng)有能力使用甚至很昂貴的(但很有效的)排序算法。最后,多級(jí)細(xì)化(在最后的去粗階段)改善了初始排序的質(zhì)量。本質(zhì)上,本發(fā)明的頻譜算法采取對(duì)圖形的全局觀察并快速找出一個(gè)好的初始排序,然后,在它被投射回原始圖形時(shí),這一排序被局部細(xì)化。這樣,這一途徑通過使用不同粒度級(jí)別的圖形組合了全局和局部技術(shù)二者的力量。
在下面的描述中,我們進(jìn)一步描述上述算法的步驟520和540如何操作。對(duì)每一步有多種選擇。我們只討論它們中的一些。實(shí)際選擇能由應(yīng)用最好地確定。如果有了這里給出的技術(shù),本領(lǐng)域技術(shù)人員將會(huì)理解其他實(shí)現(xiàn)。
在粗化階段,具有高相似相鄰結(jié)構(gòu)的頂點(diǎn)子集被迭代地合并到下一級(jí)較粗圖形的多重頂點(diǎn)中。這一粗化方案是由這樣的事實(shí)啟發(fā)出來(lái)的實(shí)際數(shù)據(jù)集是高度超定的,其中多個(gè)項(xiàng)點(diǎn)可能有幾乎相同的連接性。根據(jù)經(jīng)驗(yàn),在每一輪粗化過程中,頂點(diǎn)個(gè)數(shù)以因子1/3減少。這一比例清楚表明初始時(shí)在數(shù)據(jù)中有多么大的冗余。兩頂點(diǎn)相鄰性結(jié)構(gòu)的相似性可作為它們的規(guī)一化相鄰性矢量之間(即該圖相似性矩陣相應(yīng)行之間)的歐幾里德距離來(lái)度量。在每次粗化過程中,其成對(duì)的相似性大于某一閾值的一組頂點(diǎn)被組合到一個(gè)多重頂點(diǎn)中。多重頂點(diǎn)的權(quán)重被設(shè)定為它包含的頂點(diǎn)的權(quán)重之和。原始圖形各頂點(diǎn)的權(quán)重被設(shè)為1。連接兩個(gè)多重頂點(diǎn)A和B的邊緣的權(quán)重被設(shè)為全部從A中某一項(xiàng)點(diǎn)到B中某一頂點(diǎn)的邊緣的權(quán)重之和(請(qǐng)注意,所造成的較粗圖形的權(quán)重已被重新規(guī)一化)。這保證較粗圖形的連接性是從較細(xì)圖形的連接性繼承下來(lái)的。結(jié)果,最粗的圖形保留著原始圖形的許多重要的連接性特性。尋找要合并在一起的頂點(diǎn)子集的一種樸素的途徑是計(jì)算該序列中每個(gè)圖形的相似性矩陣。顯然,這一途徑在計(jì)算上是昂貴的(只計(jì)算初始圖形的相似性矩陣要占用O(n2)時(shí)間)。本發(fā)明使用隨機(jī)化算法計(jì)算子集,該算法近似一個(gè)圖形的被高度連接的分量。在匹配理論、計(jì)算機(jī)影像等領(lǐng)域已知若干個(gè)這種隨機(jī)化算法。在一個(gè)實(shí)現(xiàn)示例中,我們使用在圖形分區(qū)中由Karypis等實(shí)現(xiàn)的重小集團(tuán)匹配(heavy cliquematching)算法的變體,見G.Karypis等的“多級(jí)超圖形分區(qū)在VLSI域中的應(yīng)用”,技術(shù)報(bào)告,明尼蘇達(dá)大學(xué),計(jì)算機(jī)科學(xué)系,1997,短文見第34屆設(shè)計(jì)自動(dòng)化大會(huì),其公開內(nèi)容在這里被納入作為參考。
一旦由上述頻譜算法構(gòu)成最粗圖形中節(jié)點(diǎn)的順序,該順序經(jīng)由該中間圖形序列傳回原始圖形。通常,下一級(jí)較細(xì)圖形的順序要尊重較粗圖形的順序。由于較粗圖形的頂點(diǎn)恰是下一級(jí)較細(xì)圖形的多重頂點(diǎn),向回投射一級(jí)只是簡(jiǎn)化為對(duì)每個(gè)多重頂點(diǎn)內(nèi)的頂點(diǎn)排序。如果一個(gè)多重頂點(diǎn)是大的,一個(gè)頻譜算法能用于對(duì)這一多重頂點(diǎn)的相應(yīng)節(jié)點(diǎn)排序。然而,這一排序得在該圖形其余部分的前后關(guān)系中構(gòu)建。我們發(fā)現(xiàn),把頻譜算法的遞歸應(yīng)用與局部細(xì)化試探法組合起來(lái)可達(dá)到最好的結(jié)果。一個(gè)示例途徑是使用眾所周知的Rayleigh商數(shù)迭代。
圖6通過一個(gè)示例顯示多級(jí)算法。在此例中,我們需對(duì)7個(gè)對(duì)象(A、B、C、D、E、F、G)排序。原始圖繪Go在圖中左手側(cè)。一個(gè)節(jié)點(diǎn)代表要排序的一個(gè)對(duì)象。邊緣代表兩上相連節(jié)點(diǎn)之間的相似性。如前文討論的那樣,有相似局部結(jié)構(gòu)的節(jié)點(diǎn)在粗圖(例如圖形G1)中被合并成一個(gè)多重頂點(diǎn)。例如,{A,B,C}和{D,E,F(xiàn)}分別被合并成多重頂點(diǎn)H和G。然后,我們通過頻譜算法與局部試探法對(duì)最粗圖排序。在這種情況下,我們得到順序{G,J,H}。最后,我們需要通過擴(kuò)展每個(gè)多重頂點(diǎn)將這一結(jié)果傳播回去。對(duì)于我們的例子,我們需要進(jìn)一步對(duì)與H關(guān)聯(lián)的{A,B,C}和與G關(guān)聯(lián)的{D,E,F(xiàn)}排序。這可通過應(yīng)用本發(fā)明的頻譜算法來(lái)完成。最后結(jié)果是{G,F(xiàn),D,E,A,B,C}。
應(yīng)該理解,對(duì)進(jìn)行上述發(fā)明的排序過程中的粗化和細(xì)化所使用的方法進(jìn)行實(shí)際選擇取決于應(yīng)用。這樣,給出這里的技術(shù),本領(lǐng)域技術(shù)人員將實(shí)現(xiàn)各種依賴于應(yīng)用的具體實(shí)現(xiàn)。
現(xiàn)在參考圖7,圖中顯示用于實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)排序算法的計(jì)算機(jī)系統(tǒng)示例。該計(jì)算機(jī)系統(tǒng)處理器702在操作上與存儲(chǔ)器704及I/O設(shè)備706耦合。應(yīng)該理解,這里使用的術(shù)語(yǔ)“處理器”是要包括任何處理設(shè)備,如包括CPU(中央處理單元)和/或其他處理電路的處理設(shè)備。這里使用的術(shù)語(yǔ)“存儲(chǔ)器”包括與處理器或CPU相關(guān)的存儲(chǔ)器,例如RAM、ROM、固定存儲(chǔ)器設(shè)備(例如硬盤)、可拆卸存儲(chǔ)器設(shè)備(例如軟盤)、閃速存儲(chǔ)器等。此外,這里使用的術(shù)語(yǔ)“輸入/輸出設(shè)備”或“I/O設(shè)備”是要包括例如一個(gè)或多個(gè)用于向處理單元輸入數(shù)據(jù)的輸入設(shè)備(如鍵盤、鼠標(biāo)器等)和/或一個(gè)或多個(gè)與該處理單元和/或終端用戶圖形用戶接口關(guān)聯(lián)的輸出設(shè)備(如CRT顯示器、打印機(jī)等)用于展現(xiàn)結(jié)果。例如,顯示器可以是終端用戶觀察根據(jù)本發(fā)明的排序算法產(chǎn)生的可視化結(jié)果的地方。還應(yīng)該理解,“處理器”可指不只一個(gè)處理設(shè)備,而且與一個(gè)處理設(shè)備關(guān)聯(lián)的各種部件可由其他處理設(shè)備共享。
相應(yīng)地,包括用于實(shí)現(xiàn)這里所述本發(fā)明方法的指令或代碼的軟件構(gòu)件(例如一個(gè)或多個(gè)程序)可存儲(chǔ)在相關(guān)聯(lián)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備中(例如ROM,固定或可卸存儲(chǔ)器)作為一個(gè)制造部件,當(dāng)準(zhǔn)備利用時(shí)被部分地或全部地加載(例如加載到ROM中)并由處理器執(zhí)行。這樣,應(yīng)該理解,圖7中所示硬件實(shí)現(xiàn)可以優(yōu)選地用于實(shí)現(xiàn)排序列擎240(這里可利用一個(gè)或多個(gè)本發(fā)明的排序算法)以及圖2A至2D中顯示的可視化系統(tǒng)的構(gòu)件。
雖然這里已參考附圖描述了本發(fā)明的實(shí)施示例,但應(yīng)該理解,本發(fā)明不限于那些精確的實(shí)施例,本領(lǐng)域技術(shù)人員可實(shí)現(xiàn)對(duì)它們的各種其他改變和修改而不脫離本發(fā)明的范圍和精神。
權(quán)利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值進(jìn)行排序的基于計(jì)算機(jī)的方法,該方法包含如下步驟得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;使與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值的排序任務(wù)成為連續(xù)最優(yōu)化排序問題;對(duì)此連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解;以及使計(jì)算出的連續(xù)排序解的至少一部分可用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
2.權(quán)利要求1的方法,進(jìn)一步包含把計(jì)算出的連續(xù)排序解從連續(xù)空間映射到離散空間的步驟。
3.權(quán)利要求1的方法,其中使對(duì)類屬值排序的任務(wù)成為連續(xù)最優(yōu)化排序問題的步驟包含基于一個(gè)或多個(gè)屬性的類屬值計(jì)算一個(gè)相似性矩陣的步驟。
4.權(quán)利要求3的方法,其中相似性矩陣是基于一個(gè)或多個(gè)多重集操作。
5.權(quán)利要求4的方法,其中一個(gè)或多個(gè)多重集操作包含計(jì)算兩類相似性量度,第一類是在來(lái)自同一屬性的兩個(gè)類屬值之間計(jì)算出的相似性量度,第二類是在來(lái)自不同屬性的兩個(gè)類屬值之間計(jì)算出的相似性度量。
6.權(quán)利要求3的方法,其中使對(duì)類屬值排序的任務(wù)成為連續(xù)最優(yōu)化排序問題的步驟進(jìn)一步包含由此相似性矩陣計(jì)算拉普拉斯矩陣的步驟。
7.權(quán)利要求6的方法,其中對(duì)連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解的步驟包含找出該拉普拉斯矩陣最小正本征值的步驟。
8.權(quán)利要求7的方法,其中對(duì)連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解的步驟進(jìn)一步包含從該拉普拉斯矩陣的最小正本征值得到相應(yīng)的最優(yōu)本征矢量的步驟。
9.權(quán)利要求8的方法,進(jìn)一步包含如下步驟在使該解可用于數(shù)據(jù)可視化系統(tǒng)之前,根據(jù)與最優(yōu)本征矢量關(guān)聯(lián)的相應(yīng)值對(duì)類屬值排序。
10.權(quán)利要求1的方法,其中類屬值與多個(gè)屬性關(guān)聯(lián),進(jìn)一步包含如下步驟在使類屬值的排序任務(wù)成為連續(xù)最優(yōu)化排序問題之前,把涉及多個(gè)屬性的類屬值映射到一個(gè)對(duì)象集,從而使“成為”和“計(jì)算”步驟對(duì)該對(duì)象集進(jìn)行。
11.權(quán)利要求1的方法,其中“得到”、“成為”和“計(jì)算”步驟是與數(shù)據(jù)可視化系統(tǒng)的預(yù)處理操作關(guān)聯(lián)在一起實(shí)現(xiàn)的。
12.權(quán)利要求1的方法,其中“得到”、“成為”和“計(jì)算”步驟是與數(shù)據(jù)可視化系統(tǒng)的數(shù)據(jù)管理模塊關(guān)聯(lián)在一起實(shí)現(xiàn)的。
13.權(quán)利要求1的方法,其中“得到”、“成為”和“計(jì)算”步驟是與數(shù)據(jù)可視化系統(tǒng)的數(shù)據(jù)觀察器模塊關(guān)聯(lián)在一起實(shí)現(xiàn)的。
14.一種在數(shù)據(jù)處理系統(tǒng)中對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值進(jìn)行排序的基于計(jì)算機(jī)的方法,該方法包含如下步驟得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;將類屬值模擬為一個(gè)原始圖形結(jié)構(gòu),其各頂點(diǎn)為要排序的類屬值,邊緣的權(quán)重代表被連接的頂點(diǎn)的相似性;由一個(gè)或多個(gè)較粗略的圖形結(jié)構(gòu)的層次序列近似該原始圖形結(jié)構(gòu),其中具有相似局部結(jié)構(gòu)的頂點(diǎn)被合并成較粗略的圖形結(jié)構(gòu)中的一個(gè)頂點(diǎn);按照連續(xù)最優(yōu)化排序操作對(duì)最粗略的圖形結(jié)構(gòu)排序;將最粗略圖形結(jié)構(gòu)的排序傳播回到原始圖形結(jié)構(gòu);以及使被傳播的與原始圖形結(jié)構(gòu)關(guān)聯(lián)的排序中的至少一部分可被用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
15.用于對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值進(jìn)行排序的數(shù)據(jù)處理裝置,該裝置包含至少一個(gè)處理器,其操作為(i)得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;(ii)使與該數(shù)據(jù)關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值的排序任務(wù)成為連續(xù)最優(yōu)化排序問題;(iii)對(duì)些連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解;以及(iv)使計(jì)算出的連續(xù)排序解的至少一部分可用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
16.權(quán)利要求15的裝置,其中該處理器進(jìn)一步操作為把計(jì)算出的連續(xù)排序解從連續(xù)空間映射到離散空間。
17.權(quán)利要求15的裝置,其中使對(duì)類屬值排序的任務(wù)成為連續(xù)最優(yōu)化排序問題包含基于一個(gè)或多個(gè)屬性的類屬值計(jì)算一個(gè)相似性矩陣。
18.權(quán)利要求17的裝置,其中相似性矩陣是基于一個(gè)或多個(gè)多重集操作。
19.權(quán)利要求18的裝置,其中一個(gè)或多個(gè)多重集操作包含計(jì)算兩類相似性量度,第一類是在來(lái)自同一屬性的兩個(gè)類屬值之間計(jì)算出的相似性量度,第二類是在來(lái)自不同屬性的兩個(gè)類屬值之間計(jì)算出的相似性量度。
20.權(quán)利要求17的裝置,其中使對(duì)類屬值排序的任務(wù)成為連續(xù)最優(yōu)化排序問題進(jìn)一步包含由此相似性矩陣計(jì)算拉普拉斯矩陣。
21.權(quán)利要求20的裝置,其中對(duì)連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解包含找出該拉普拉斯矩陣的最小正本征值。
22.權(quán)利要求21的裝置,其中對(duì)連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解進(jìn)一步包含從該拉普拉斯矩陣的最小正本征值得到相應(yīng)的最優(yōu)本征矢量。
23.權(quán)利要求22的裝置,其中該處理器進(jìn)一步操作,以在使該解可用于數(shù)據(jù)可視化系統(tǒng)之前,根據(jù)與最優(yōu)本征矢量關(guān)聯(lián)的相應(yīng)值對(duì)類屬數(shù)據(jù)排序。
24.權(quán)利要求15的裝置,其中類屬值與多個(gè)屬性關(guān)聯(lián),其中該處理器進(jìn)一步操作,以在使類屬值的排序任務(wù)成為連續(xù)最優(yōu)化排序問題之前,把涉及多個(gè)屬性的類屬值映射到一個(gè)對(duì)象集,從而使“成為”和“計(jì)算”步驟對(duì)該對(duì)象集進(jìn)行。
25.權(quán)利要求15的裝置,其中該處理器與數(shù)據(jù)可視化系統(tǒng)的預(yù)處理操作相關(guān)聯(lián)地進(jìn)行“得到”、“成為”和“計(jì)算”步驟。
26.權(quán)利要求15的裝置,其中該處理器與數(shù)據(jù)可視化系統(tǒng)的數(shù)據(jù)管理模塊相關(guān)聯(lián)地進(jìn)行“得到”、“成為”和“計(jì)算”步驟。
27.權(quán)利要求15的裝置,其中該處理器與數(shù)據(jù)可視化系統(tǒng)的數(shù)據(jù)觀察器模塊相關(guān)聯(lián)地進(jìn)行“得到”、“成為”和“計(jì)算”步驟。
28.用于對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值排序的數(shù)據(jù)處理裝置,該裝置包含至少一個(gè)處理器,其操作為(i)得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;(ii)將類屬值模擬為一個(gè)原始圖形結(jié)構(gòu),其各頂點(diǎn)為要排序的類屬值,邊緣的權(quán)重代表被連接頂點(diǎn)的相似性;(iii)由一個(gè)或多個(gè)較粗略的圖形結(jié)構(gòu)的層次序列近似該原始圖形結(jié)構(gòu),其中具有相似局部結(jié)構(gòu)的頂點(diǎn)被合并成較粗略的圖形結(jié)構(gòu)中的一個(gè)頂點(diǎn);(iv)按照連續(xù)最優(yōu)化排序操作對(duì)最粗略的圖形結(jié)構(gòu)排序;(v)將最粗略圖形結(jié)構(gòu)的排序傳播回到原始圖形結(jié)構(gòu);以及(vi)使被傳播的與原始圖形結(jié)構(gòu)關(guān)聯(lián)的排序中的至少一部分可被用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
29.一種用于對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值排序的計(jì)算機(jī)程序,當(dāng)該程序被執(zhí)行時(shí)實(shí)現(xiàn)下列步驟得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;使與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值的排序任務(wù)成為連續(xù)最優(yōu)化排序問題;對(duì)此連續(xù)最優(yōu)化排序問題計(jì)算出至少一個(gè)連續(xù)排序解;以及使計(jì)算出的連續(xù)排序解的至少一部分可用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
30.一種用于對(duì)與數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值排序的計(jì)算機(jī)程序,當(dāng)該程序被執(zhí)行時(shí)實(shí)現(xiàn)下列步驟得到與該數(shù)據(jù)集關(guān)聯(lián)的一個(gè)或多個(gè)屬性的類屬值;將類屬值模擬為一個(gè)原始圖形結(jié)構(gòu),其各頂點(diǎn)為要排序的類屬值,邊緣的權(quán)重代表被連接的頂點(diǎn)的相似性;由一個(gè)或多個(gè)較粗略的圖形結(jié)構(gòu)的層次序列近似該原始圖形結(jié)構(gòu),其中具有相似局部結(jié)構(gòu)的頂點(diǎn)被合并成較粗略的圖形結(jié)構(gòu)中的一個(gè)頂點(diǎn);按照連續(xù)最優(yōu)化排序操作對(duì)最粗略的圖形結(jié)構(gòu)排序;將最粗略圖形結(jié)構(gòu)的排序傳播回到原始圖形結(jié)構(gòu);以及使被傳播的與原始圖形結(jié)構(gòu)關(guān)聯(lián)的排序中的至少一部分可被用于一個(gè)數(shù)據(jù)可視化系統(tǒng)。
全文摘要
提供了用于使類屬屬性排序從而能更好地可視化的技術(shù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,一個(gè)排序算法包含如下步驟(a)使離散排序問題變換為連續(xù)最優(yōu)化問題;(b)求解該連續(xù)最優(yōu)化問題;以及(c)把最優(yōu)連續(xù)解映射為最接近的離散解。
文檔編號(hào)G06F19/00GK1659546SQ02806851
公開日2005年8月24日 申請(qǐng)日期2002年3月11日 優(yōu)先權(quán)日2001年3月19日
發(fā)明者A·貝格爾茲莫, C-S·佩爾格, 馬勝, J·赫勒斯坦 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司