專利名稱:用于索引和檢索的多維數(shù)據(jù)聚類和降維的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個(gè)改進(jìn)的信息系統(tǒng)。本發(fā)明的一個(gè)獨(dú)特的方面就是涉及生成和檢索多維數(shù)據(jù)的簡潔表示。本發(fā)明的一個(gè)更為獨(dú)特的方面就是在數(shù)據(jù)庫系統(tǒng)中,使用有關(guān)的聚類與降維信息,來生成和檢索多維數(shù)據(jù)的簡潔的索引表示。
多維索引對(duì)各種空間的數(shù)據(jù)庫來說是基礎(chǔ)性的,它廣泛地用于地理信息系統(tǒng)(GIS),聯(lián)機(jī)分析處理(OLAP),以便使用一個(gè)大型的數(shù)據(jù)倉庫以及各種多媒體數(shù)據(jù)庫進(jìn)行決策支持,在上述數(shù)據(jù)倉庫和多媒體數(shù)據(jù)庫中,需要從圖象和視頻數(shù)據(jù)中抽取高維的諸特征矢量。
決策支持正在迅速成為一項(xiàng)(促進(jìn))業(yè)務(wù)成功的關(guān)鍵技術(shù)。決策支持允許一項(xiàng)業(yè)務(wù)從一個(gè)正在使用中的數(shù)據(jù)庫中演繹有用的信息,后者通常被稱為一個(gè)數(shù)據(jù)倉庫。該正在使用的數(shù)據(jù)庫保存(當(dāng)前)情況信息,而該數(shù)據(jù)倉庫典型地保存歷史信息。數(shù)據(jù)倉庫的用戶通常更感興趣的是判別趨勢,而不是注視孤立的個(gè)別記錄。決策支持查詢(或檢索提問式)在計(jì)算上是如此繁重并且要大量地使用群聚方法。這將導(dǎo)致長的完成延遲以及不可接受的對(duì)生產(chǎn)能力的約束。
某些用以減小延遲的已知技術(shù)是對(duì)頻繁地提出的查詢進(jìn)行預(yù)先計(jì)算,或者使用采樣技術(shù),或同時(shí)使用二者。具體地說,在非常大的關(guān)系型數(shù)據(jù)庫或數(shù)據(jù)倉庫中,將聯(lián)機(jī)分析處理(OLAP)技術(shù),例如數(shù)據(jù)立方體用于決策支持最近已經(jīng)受到日益增長的關(guān)注(參看,例如,Jim Gray,AdamBosworth,Andrew Layman,以及Hamid Pirahesh等人所寫的論文“數(shù)據(jù)立方體一個(gè)用于對(duì)群聚、交叉表,以及部分和進(jìn)行歸一化的關(guān)系聚集算子”,發(fā)表于國際數(shù)據(jù)工程會(huì)議論文集,1966年,新奧爾良,第152-160頁)(“Gray”)。在這里,諸用戶典型地從數(shù)據(jù)倉庫將該歷史數(shù)據(jù)視為多維數(shù)據(jù)立方體。在該立方體中的每一個(gè)單元(或晶格點(diǎn))是一個(gè)含有感興趣的聚集,例如總銷售額,的一個(gè)視圖。
多維的諸索引可以被用來回答不同類型的查詢,包括
尋找在已索引的各列上具有所指定的數(shù)值的(諸)記錄(精確檢索);尋找處于[a1,a2],[b1,b2],…,[z1,z2]之中的(諸)記錄,這里a,b,和z代表不同的維(范圍檢索);以及尋找k個(gè)最相似于一個(gè)用戶指定的樣板或?qū)嵗闹T記錄(k-最近鄰檢索)。
多維索引也適用于圖象的開采。圖象開采的一個(gè)例子就是由IBM公司在媒體礦工(MEDIAMINER)名稱下注冊(cè)商標(biāo)的產(chǎn)品,它提供兩種工具按圖象內(nèi)容查詢(QBIC);以及圖象礦工(IMAGEMINER),后者用于通過分析其內(nèi)容、而不是通過檢索一個(gè)人工地生成的相關(guān)關(guān)鍵字的列表,去取出圖象。
QBIC適合于用關(guān)鍵字不能提供一個(gè)適當(dāng)?shù)慕Y(jié)果的應(yīng)用場合,例如在博物館以及美術(shù)館的圖書館中;或者在用于電子商務(wù)的聯(lián)機(jī)倉庫照片中,在這里,各種視覺的產(chǎn)品目錄讓你使用顏色和紋理,例如墻紙和式樣,按細(xì)目進(jìn)行檢索。
諸如圖象礦工這樣的圖象開采應(yīng)用讓你使用像“森林風(fēng)景”,“冰雪”或“圓柱體”這樣的概念性的提問式。諸如顏色、紋理和等高線這樣的圖象內(nèi)容被組合為能被該系統(tǒng)自動(dòng)識(shí)別的諸簡單對(duì)象。
這些簡單對(duì)象在一個(gè)知識(shí)庫中被表示。這個(gè)采用文字?jǐn)⑹龅姆治鼋Y(jié)果隨后被索引以備以后檢索。
在執(zhí)行一個(gè)數(shù)據(jù)庫查詢的過程中,該數(shù)據(jù)庫檢索程序訪問一部分存儲(chǔ)的數(shù)據(jù)以及一部分索引結(jié)構(gòu),所訪問的數(shù)據(jù)量取決于查詢的類型以及該用戶提供的數(shù)據(jù),還取決于該索引算法的效率。大型數(shù)據(jù)庫是這樣的該數(shù)據(jù)以及至少一部分索引結(jié)構(gòu)駐留在該計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器層次結(jié)構(gòu)中較大的、較慢的、和較廉價(jià)的部分,通常包括一個(gè)或多個(gè)硬盤。在檢索過程中,該數(shù)據(jù)以及該索引結(jié)構(gòu)的一部分被裝入該存儲(chǔ)器層次結(jié)構(gòu)中的較快的諸部分,例如該主存儲(chǔ)器以及一級(jí)或多級(jí)高速緩沖存儲(chǔ)器。該存儲(chǔ)器層次結(jié)構(gòu)中的較快的諸部分通常是比較昂貴的,并因而僅構(gòu)成該存儲(chǔ)器層次結(jié)構(gòu)的存儲(chǔ)容量的一個(gè)較小的百分比。一段使用能全部裝入一級(jí)或多級(jí)高速緩沖存儲(chǔ)器的諸指令的程序跟一個(gè)此外還使用駐留在該主存儲(chǔ)器的諸指令和數(shù)據(jù)的過程相比,前者顯得更塊和更有效,而后者跟一段同時(shí)使用駐留在硬盤的指令和數(shù)據(jù)的程序相比,也是較快的。技術(shù)上的限制是這樣的高速緩沖存儲(chǔ)器和主存儲(chǔ)器的成本使得它如此之昂貴,以致于無法建立具有足夠(容量)的主存儲(chǔ)器或高速緩沖存儲(chǔ)器的計(jì)算機(jī)系統(tǒng),用以完整地容納諸大型數(shù)據(jù)庫。
因此,存在對(duì)一種改進(jìn)的索引技術(shù)的需求,該技術(shù)生成如此大小的諸索引,使得大多數(shù)或全部索引在任何時(shí)間都能駐留在主存儲(chǔ)器里面,并使得在檢索過程中,從該硬盤傳輸?shù)皆撝鞔鎯?chǔ)器的數(shù)據(jù)量受到限制。本發(fā)明能滿足這樣一種需求。
若干已知的空間索引技術(shù),例如R-樹,可以被用于范圍查詢以及最近鄰查詢。例如,在A.Guttman于1994年6月在美國明尼蘇達(dá)州波士頓舉行的ACM SIGMOD數(shù)據(jù)管理會(huì)議上發(fā)表的論文“R-樹一種用于空間檢索的動(dòng)態(tài)索引結(jié)構(gòu)”中,就能找到關(guān)于R-樹的敘述。然而,隨著該特征空間的維數(shù)的增加,這些技術(shù)的效率急劇地下降,因?yàn)樵摍z索空間變得越來越稀疏。例如,眾所周知,當(dāng)維數(shù)大于8時(shí),諸如R-樹那樣的方法是不能用的,在這里,有用性的標(biāo)準(zhǔn)就是完成一次請(qǐng)求的時(shí)間跟通過順序地掃描該數(shù)據(jù)庫中的每一個(gè)記錄以完成該請(qǐng)求所需的時(shí)間相比較。在高維空間中常規(guī)索引技術(shù)的低效率是一種眾所周知的被稱為“維數(shù)的災(zāi)難”的現(xiàn)象的結(jié)果,例如,在V.Cherkassky,J.H.Friedman,和H.Wechsles等人所著的“從統(tǒng)計(jì)學(xué)到神經(jīng)網(wǎng)絡(luò)”一書中,就對(duì)此作了敘述,該書屬于北大西洋公約組織的ASI叢書,第136卷,Springer-Verlag公司1994年出版。維數(shù)的災(zāi)難的相關(guān)結(jié)果就是,對(duì)于具有一個(gè)高維數(shù)的諸特征空間來說,將該索引空間聚類為超立方體是一種低效率的方法。
由于將現(xiàn)有的空間索引技術(shù)用于一個(gè)高維特征空間的索引帶來的是低效率,業(yè)界熟知的各種現(xiàn)有技術(shù)都是去降低一個(gè)特征空間的維數(shù)。例如,可以用下列兩種方法來降低維數(shù)一種是借助于變量子集的選擇(也稱為特征選擇),另一種是先進(jìn)行單值分解,隨后進(jìn)行變量子集的選擇,例如,正如C.T.Chen在“線性系統(tǒng)理論和設(shè)計(jì)”一書中所教導(dǎo)的那樣,該書由Holt,Rinchart and Winton公司于1984年出版,參看該書附錄E。變量子集選擇是在統(tǒng)計(jì)學(xué)研究中的一個(gè)眾所周知的和活躍的領(lǐng)域,并且已經(jīng)提出了若干方法學(xué)的問題(參看例如,Shibata等發(fā)表于生物統(tǒng)計(jì)學(xué)雜志1981年第68卷第1期第45-54頁的論文“回歸變量的一種最佳選擇”)。只有在許多變量(數(shù)據(jù)庫中的諸列)都是高度相關(guān)的情況下,在一個(gè)索引生成系統(tǒng)中這些方法才是有效的。但在現(xiàn)實(shí)世界的數(shù)據(jù)庫中,這種假設(shè)一般來說是不正確的。
因此,也存在對(duì)一種用于高維數(shù)據(jù)的改進(jìn)的索引技術(shù)的需求,甚至在存在不是高度相關(guān)的諸變量的情況下。本技術(shù)從存儲(chǔ)器利用和檢索速度的觀點(diǎn)出發(fā),應(yīng)當(dāng)生成有效的諸索引。本發(fā)明能滿足這些需求。
按照前述各項(xiàng)需求,本發(fā)明專注于一種用于生成多維數(shù)據(jù)的簡潔表示的改進(jìn)的裝置與方法。本發(fā)明具有為諸數(shù)據(jù)庫生成可檢索的多維索引的諸特征。本發(fā)明具有用于靈活地生成諸索引以及用于有效地進(jìn)行精確與相似檢索的其他諸特征。本發(fā)明還具有用于生成簡潔的索引的其他諸特征,在檢索過程中,上述索引有利地限制著從硬盤傳輸?shù)街鞔鎯?chǔ)器的數(shù)據(jù)量。
本發(fā)明的一項(xiàng)應(yīng)用的一個(gè)例子就是用于多維索引。對(duì)空間數(shù)據(jù)庫來說,多維索引是基礎(chǔ)性的,它廣泛地應(yīng)用于地理信息系統(tǒng)(GIS);使用大型數(shù)據(jù)倉庫用于決策支持的聯(lián)機(jī)分析處理(OLAP);以及用于開采多媒體數(shù)據(jù)庫的圖象開采產(chǎn)品,在上述數(shù)據(jù)庫中,需要從圖象和視頻數(shù)據(jù)中抽取高維的諸特征矢量。
一種具有本發(fā)明諸特征的計(jì)算機(jī)化方法的一個(gè)實(shí)例包括下列諸步驟a)將該多維數(shù)據(jù)劃分為一個(gè)或多個(gè)聚類;b)為諸聚類生成與存儲(chǔ)聚類信息;c)為諸聚類生成一個(gè)或多個(gè)降維聚類以及降維信息;以及d)存儲(chǔ)該降維信息。本發(fā)明還具有為諸降維聚類生成和存儲(chǔ)一個(gè)降維索引的其他特征。
依賴于在每一個(gè)個(gè)別的聚類中使用的精確空間索引技術(shù),通過使用相應(yīng)的索引機(jī)制就能檢索該目標(biāo)矢量。例如,常規(guī)的多維空間索引技術(shù)包括但不局限于能在每一個(gè)聚類里面用于索引的該R-樹。另一方面,若沒有可利用的空間索引結(jié)構(gòu),則該聚類內(nèi)部檢索機(jī)制可能是一種窮舉檢索或者線性掃描。
在一個(gè)優(yōu)選實(shí)施例中,該降維步驟是一個(gè)單值分解過程,并且根據(jù)已分解的指定數(shù)據(jù),為找到一個(gè)匹配的降維聚類而檢索該索引。該降維信息的一個(gè)例子就是一個(gè)由單值分解過程生成的轉(zhuǎn)置矩陣(包括諸特征至和諸特征矢量)以及該轉(zhuǎn)置矩陣的被選定的諸特征值。
一種具有本發(fā)明諸特征的生成多維索引的方法的另一個(gè)例子包括下列諸步驟生成一個(gè)矢量集合,作為待索引的數(shù)據(jù)庫的一種表示,其中每一個(gè)矢量對(duì)應(yīng)于該數(shù)據(jù)庫的一行,并且對(duì)該特定的行來說,每一個(gè)矢量的諸元素對(duì)應(yīng)于包含在必須為其生成一個(gè)索引的諸列中的的諸數(shù)值;然后使用一種聚類技術(shù)將該矢量集合劃分為一個(gè)或多個(gè)群(也稱為聚類),同時(shí)生成和存儲(chǔ)與該聚類有關(guān)的聚類信息;接著對(duì)每一個(gè)群單獨(dú)地使用一種降維技術(shù),以便在該聚類中生成諸元素的一個(gè)低維表示,并帶有降維信息;使用一種針對(duì)該聚類的維數(shù)生成有效索引的技術(shù),為每一個(gè)降維聚類生成一個(gè)索引。
根據(jù)本發(fā)明的另一個(gè)特征,本方法可以單獨(dú)地應(yīng)用于每一個(gè)降維聚類,因此本方法成為遞歸的。當(dāng)該維數(shù)不能再降低時(shí),遞歸地應(yīng)用降維和聚類二者的過程結(jié)束。
根據(jù)本發(fā)明的另一個(gè)特征,作為索引生成的第一步(在該數(shù)據(jù)庫劃分步驟之前),可以對(duì)整個(gè)數(shù)據(jù)庫實(shí)行一個(gè)降維步驟。在執(zhí)行該劃分(也稱為聚類)與降維諸步驟的過程中,也生成聚類與降維信息以備檢索階段使用。
根據(jù)本發(fā)明的又一個(gè)特征,可以適當(dāng)?shù)剡x擇該聚類步驟以便于該降維步驟的實(shí)行。這一步可以這樣來完成,例如,借助于一種聚類方法,它能根據(jù)該數(shù)據(jù)的局部協(xié)方差結(jié)構(gòu)來劃分該空間,取代原先將由一個(gè)空間不變距離函數(shù),例如該歐幾里德距離,所導(dǎo)出的損失最小化的方法。
本發(fā)明還具有這樣的特征,用于估計(jì)是否還有其他諸聚類,它們應(yīng)含有離開該指定數(shù)據(jù)的距離比已檢出的k個(gè)最相似元素中的最遠(yuǎn)者更近一些的諸元素。正如業(yè)界所熟知的那樣,聚類信息可以被用來重建該分區(qū)的邊界,而這些邊界可以被用來確定是否有一個(gè)聚類能含有k個(gè)最近鄰中的一個(gè)。專業(yè)人士將理解到,該聚類的諸邊界是對(duì)該聚類本身結(jié)構(gòu)的一種簡單近似,換句話說,不可能從該邊界的數(shù)學(xué)形式去告訴人們是否有一些聚類的諸元素靠近該邊界上的任何給定位置。作為一個(gè)例子,考慮這樣一種情況該數(shù)據(jù)庫含有兩個(gè)球形的數(shù)據(jù)聚類,并且這兩個(gè)聚類彼此相距甚遠(yuǎn)。本例的一條合理的邊界應(yīng)該是一個(gè)超平面,它垂直于這兩個(gè)聚類的質(zhì)心的連線并跟這兩個(gè)質(zhì)心等距。由于諸聚類是廣闊地分開的,所以在靠近邊界處沒有數(shù)據(jù)點(diǎn)。在另一個(gè)例子中,該邊界可以十分靠近這兩個(gè)聚類的大量元素。相應(yīng)地,本發(fā)明還具有這樣的特征使用一種對(duì)每一個(gè)聚類的實(shí)際幾何結(jié)構(gòu)的多層次的近似,去確定是否有一個(gè)聚類能含有該指定數(shù)據(jù)的k個(gè)最近鄰中的一個(gè)或多個(gè)。
在一個(gè)優(yōu)選實(shí)施例中,本發(fā)明被體現(xiàn)為存儲(chǔ)在一個(gè)程序存儲(chǔ)裝置里面的軟件,它可以被一部實(shí)際裝有一段該機(jī)器可執(zhí)行的諸指令組成的程序的機(jī)器所讀出,以便執(zhí)行下列的諸方法步驟生成多維數(shù)據(jù)的各種簡潔表示,有效地進(jìn)行精確與相似檢索;為諸數(shù)據(jù)庫生成可檢索的多維索引;并使用這些索引進(jìn)行精確與相似檢索。
從下面結(jié)合諸附圖所作的詳細(xì)說明中,本發(fā)明的這些和其他特征和優(yōu)點(diǎn)將變得更加明顯,在附圖中
圖1表示一個(gè)聯(lián)網(wǎng)的客戶機(jī)/服務(wù)器系統(tǒng)的方框圖的一個(gè)例子;圖2表示諸數(shù)據(jù)點(diǎn)的分布以及在劃分聚類之后降維的直覺知識(shí)的一個(gè)例子;圖3表示將一個(gè)3維空間中的3個(gè)點(diǎn)投影到一個(gè)2維空間,使得該投影保留這3點(diǎn)中的任何兩點(diǎn)之間的相對(duì)距離的一個(gè)例子;圖4表示將一個(gè)3維空間中的3個(gè)點(diǎn)投影到一個(gè)2維空間,而該相對(duì)距離的大小順序受到該投影的影響的一個(gè)例子;圖5表示介于該原始空間的諸點(diǎn)以及該投影子空間之間的距離的計(jì)算的一個(gè)例子;圖6表示從該數(shù)據(jù)庫中的數(shù)據(jù)生成該多維索引的一種邏輯流的一個(gè)例子;圖7表示實(shí)行該數(shù)據(jù)的降維過程的一種邏輯流的一個(gè)例子;圖8表示使用在沒有遞歸分解和聚類的條件下生成的該索引的一次精確檢索的邏輯流的一個(gè)例子;圖9表示使用在遞歸分解和聚類的條件下生成的該索引的一次精確檢索的邏輯流的一個(gè)例子;圖10表示使用在沒有遞歸分解和聚類的條件下生成的該索引進(jìn)行一次k-最近鄰檢索的邏輯流的一個(gè)例子;
圖11表示使用在遞歸分解和聚類的條件下生成的該索引的一次k-最近鄰檢索的邏輯流的一個(gè)例子;圖12表示在一個(gè)3維空間中的數(shù)據(jù)的一個(gè)例子,以及一種基于歐克里特距離的聚類技術(shù)跟一種適應(yīng)于該數(shù)據(jù)的局部結(jié)構(gòu)的聚類技術(shù)的結(jié)果比較;圖13表示一種適應(yīng)于該數(shù)據(jù)的局部結(jié)構(gòu)的聚類技術(shù)的邏輯流的一個(gè)例子;圖14表示在一個(gè)3維空間中的一個(gè)復(fù)雜超平面以及使用一個(gè)3維象限樹生成算法生成的兩次連續(xù)的近似的一個(gè)例子;以及圖15表示使用諸聚類的幾何形狀的多次連續(xù)近似,來確定是否含有比從一個(gè)給定矢量起算的一個(gè)固定距離更接近的諸元素的諸聚類的邏輯流的一個(gè)例子。
圖1描述具有本發(fā)明諸特征的一種客戶機(jī)/服務(wù)器結(jié)構(gòu)的一個(gè)例子。如該圖所描述的那樣,多個(gè)客戶機(jī)(101)以及多個(gè)服務(wù)器(106)通過一個(gè)網(wǎng)絡(luò)(102)被互連在一起。該服務(wù)器(106)包括一個(gè)數(shù)據(jù)庫管理系統(tǒng)(DBMS)(104)以及直接訪問存儲(chǔ)裝置(DASD)(105)。典型地在該客戶機(jī)(101)準(zhǔn)備一次查詢,并通過該網(wǎng)絡(luò)提交到該服務(wù)器(106)。該查詢典型地包括指定的數(shù)據(jù),例如一個(gè)用戶提供的實(shí)例或檢索樣板,該查詢還跟一個(gè)數(shù)據(jù)庫管理系統(tǒng)(DBMS)(104)進(jìn)行交互,以便檢索或更新存儲(chǔ)在該DASD(105)中的一個(gè)數(shù)據(jù)庫。DBMS的一個(gè)例子就是由IBM公司所銷售的,其商標(biāo)為DB2。
根據(jù)本發(fā)明的一個(gè)方面,查詢需要多維的(數(shù)據(jù)),例如,空間索引(包括范圍查詢以及最近鄰查詢)將激活該多維索引處理器(107)。該多維索引處理器(107)(將參考圖8-11加以說明)負(fù)責(zé)檢索那些滿足一定的約束條件的諸矢量或諸記錄,上述約束條件是由該查詢基于一個(gè)或多個(gè)簡潔的多維索引(108)和聚類(111)以及由本發(fā)明的索引生成邏輯(將參考圖6和7加以說明)生成的降維信息(112)來說明的。本發(fā)明大多數(shù)(如果不是全部)的簡潔索引(108)最好被存儲(chǔ)在該服務(wù)器(106)的主存儲(chǔ)器和/或高速緩沖存儲(chǔ)器里面。專業(yè)人士將理解到,一個(gè)數(shù)據(jù)庫,例如一個(gè)空間數(shù)據(jù)庫,可以駐留在一個(gè)或多個(gè)系統(tǒng)之中。專業(yè)人士也將理解到,該多維索引處理器(107)和/或該索引生成邏輯(110)可以被組合或者被納入作為該DBMS(104)的一部分。該有效的索引生成邏輯(110)以及該多維索引處理器(也被稱為檢索邏輯)可以作為軟件被實(shí)實(shí)在在地嵌入到能在該服務(wù)器(106)上執(zhí)行的一種計(jì)算機(jī)程序產(chǎn)品中去。
一項(xiàng)應(yīng)用的一個(gè)例子就是用于一個(gè)超級(jí)市場的倉儲(chǔ)銷售點(diǎn)交易,包括該商店位置的地理坐標(biāo)(經(jīng)度和緯度)。在這里,該服務(wù)器(106)最好也能支持決策支持的應(yīng)用類型,以便從該存儲(chǔ)的數(shù)據(jù)中發(fā)現(xiàn)知識(shí)或模式。例如,一個(gè)聯(lián)機(jī)分析(OLAP)處理器(103)可以被用來截取涉及OLAP的諸查詢,以便使它們的處理更加簡便。根據(jù)本發(fā)明,該OLAP處理器,可能與該DBMS相結(jié)合,使用該多維索引處理器(107),針對(duì)涉及OLAP的諸查詢?nèi)z索該索引(108)。專業(yè)人士將理解到,本發(fā)明的索引生成邏輯(110)適用于一個(gè)數(shù)據(jù)倉庫的多維數(shù)據(jù)立方體表示。一種用于生成一個(gè)數(shù)據(jù)倉庫的多維數(shù)據(jù)立方體表示的方法和系統(tǒng)在共同未決的美國專利申請(qǐng)S/N 08/843,290,1997年4月14日由Castelli等人申請(qǐng),題為“生成一個(gè)數(shù)據(jù)立方體的多維表示的系統(tǒng)與方法”的專利中作了說明,該文被全部收入本文作為參考文獻(xiàn)。
多媒體數(shù)據(jù)是從空間索引中獲益的數(shù)據(jù)的另一個(gè)例子。諸如音頻,視頻和圖象這樣的多媒體數(shù)據(jù)可以從用于索引的該亞數(shù)據(jù)中分開地被存儲(chǔ)。該亞數(shù)據(jù)中能夠被用來簡化該媒體的索引與檢索的重要成分就是從該原始數(shù)據(jù)中抽取的諸特征矢量。例如,一種紋理,彩色直方圖以及形狀都可以從該圖象的各區(qū)域抽取,并且被用來構(gòu)成用于檢索的諸索引(108)。
圖象開采應(yīng)用的一個(gè)例子就是QBIC,它是IBM的DB2圖象擴(kuò)展器的集成的檢索設(shè)備。QBIC包括一個(gè)圖象查詢處理器(服務(wù)器),以及一個(gè)樣本客戶機(jī),后者包括一個(gè)HTML圖形用戶接口以及相關(guān)的公共網(wǎng)關(guān)接口(CGI),把它們結(jié)合在一起,以形成一個(gè)完整的應(yīng)用的基礎(chǔ)。該服務(wù)器以及該客戶機(jī)都是可擴(kuò)展的,因此一個(gè)用戶可以開發(fā)一個(gè)針對(duì)特定應(yīng)用的圖形匹配功能,并把它添加到QBIC中去。該圖象檢索服務(wù)器允許基于視頻圖象內(nèi)容的大型圖象數(shù)據(jù)庫的查詢。它具有下列特征在視頻介質(zhì)中進(jìn)行查詢?!鞍严襁@樣的圖象顯示給我看”,在這里,你定義“像”甚麼,意味著依照顏色、布局、紋理,等等。
根據(jù)對(duì)該查詢圖象的相似程度來排列諸圖象。
自動(dòng)建立圖象索引,在這里關(guān)于顏色和紋理的數(shù)字描述符被存儲(chǔ)。在一次檢索過程中,這些特性被用來尋找相似的圖象。
視頻查詢跟文本查詢或按參數(shù)(例如一個(gè)日期)查詢的組合。
類似地,可以這樣來生成索引,首先,生成待索引為一組矢量的該數(shù)據(jù)庫的一種表示,在這里每一個(gè)矢量對(duì)應(yīng)于該數(shù)據(jù)庫中的一行,并且對(duì)于該特定的行來說,每一個(gè)矢量的諸元素對(duì)應(yīng)于在各列(必須為每一列生成一個(gè)索引)中所含有的諸數(shù)值。
用一組矢量作為該數(shù)據(jù)庫的一種表示在業(yè)界中是眾所周知的。該表示可以用,但不局限于,下列方法來生成針對(duì)該數(shù)據(jù)庫的每一行,生成一個(gè)等于待生成的索引的維數(shù)的長度的陣列;并將必須為它生成一個(gè)索引的相應(yīng)的行中各列所含有的數(shù)值拷貝到該陣列的諸元素中去。
假設(shè)一個(gè)矢量v的第i個(gè)元素為vi,則該矢量v可以表示為v=[vI…vN](1)式中,“N”為被用于索引的該矢量的維數(shù)。
該客戶機(jī)一方通??梢灾付ㄈN類型的查詢,它們?nèi)夹枰撤N空間索引的形式,如在背景情況中所說明的那樣(1)精確查詢指定一個(gè)矢量,并且跟該矢量匹配的諸記錄或多媒體數(shù)據(jù)將被檢索出來;(2)范圍查詢指定該矢量的每一維的上下限,(3)最近鄰查詢基于一種相似性度量,最“相似的”諸矢量將被檢索出來。
介于兩個(gè)矢量v1和v2之間最常用的相似性度量,就是該歐幾里德距離度量d,它被定義為d2=∑(V1i-V2i)2(2)
要注意的是,并不是所有的各個(gè)維i都有必要參與范圍查詢或最近鄰查詢的計(jì)算過程。在這兩種情況下,可以指定該維的一個(gè)子集以便把諸結(jié)果檢索出來。
圖2表示在一個(gè)多維空間中,諸矢量的分布的一個(gè)例子。如圖所示,為了表示整個(gè)空間,總共需要3個(gè)維。然而,由于聚類201、202和203分別被定位于該x-y,y-z,和z-x諸平面,所以,為了表示每一個(gè)個(gè)別的聚類,只需要兩個(gè)維。因此,可以歸結(jié)為,通過對(duì)該數(shù)據(jù)進(jìn)行適當(dāng)?shù)木垲悾湍軐?shí)現(xiàn)降維。僅用單值分解不能實(shí)現(xiàn)同樣的降維,它只能對(duì)該特征空間進(jìn)行重新定向,使得在該空間中的軸符合于主要的各個(gè)維(在本例中為3)。
消除一個(gè)矢量中的一個(gè)或多個(gè)維等效于將諸原點(diǎn)投影到一個(gè)子空間。方程式(2)表示,只有在其矢量中個(gè)別元素不同的那些維才需要被計(jì)算。其結(jié)果是,將一個(gè)矢量投影到一個(gè)子空間并不影響該距離的計(jì)算,假定在該原始空間中那些被消除的元素不發(fā)生變化。
圖3表示在該原始空間以及一個(gè)投影的子空間中距離計(jì)算的一個(gè)例子,在這里該投影能使該3點(diǎn)中任何兩點(diǎn)的相對(duì)距離保持不變。如圖所示,在該原始的3維(3-D)空間中,點(diǎn)(301)到另一個(gè)點(diǎn)(302)的距離,比它到第3點(diǎn)(303)的距離更遠(yuǎn)一些。這里,這些點(diǎn)(分別是304、305和306)在2維(2-D)子空間中的投影保留了諸點(diǎn)之間的相對(duì)距離。
圖4表示將在一個(gè)3維空間中的3個(gè)點(diǎn)投影到一個(gè)2維空間的例子,在這里該投影影響了該相對(duì)距離的大小順序。如圖所示,在該3維空間中,點(diǎn)(401)和(402)之間的距離大于點(diǎn)(402)和(403)之間的距離。然而在本例中,在各自的投影點(diǎn)(404)和(405)之間的距離短于點(diǎn)(405)和(406)之間的投影距離。因此,在該投影子空間中,介于兩點(diǎn)之間的相對(duì)距離可能沒有被保留。
下面,將導(dǎo)出一種方法學(xué),用以估計(jì)將諸矢量投影到子空間時(shí)所能導(dǎo)致的最大誤差。該過程開始于確定該最大誤差的邊界。將一個(gè)聚類的質(zhì)心表示為Vc,它被定義為Vc=1NΣVi---(3)]]>式中,N為包括諸矢量{V1,…,VN}在內(nèi)的該聚類中矢量的總數(shù)。該聚類被投影到一個(gè)k維子空間之后,不失一般性地說,最后(n-k)個(gè)維被消除,在該子空間中,任何兩個(gè)矢量之間的距離,跟在原始空間時(shí)相比,都引入了一個(gè)誤差,該誤差項(xiàng)為
下列的不等式立即成立
≤Σj=k+1n(2max(|V1,i|,|V2,i|))2----(5)]]>≤4Σi=k+1nmax(|V1,i|,|V2,i|)2]]>方程式(5)表明,在該子空間中,因計(jì)算距離而引起的最大誤差是有界的。
圖5表示根據(jù)本發(fā)明在計(jì)算距離時(shí)一種近似方法的例子。介于一個(gè)樣板點(diǎn)T(501)和一個(gè)上位點(diǎn)V(506)之間的距離由方程式(2)給出。這個(gè)歐幾里德距離就以下各點(diǎn)來說是不變的參考坐標(biāo)系的旋轉(zhuǎn);坐標(biāo)系的原點(diǎn)的變換;坐標(biāo)軸的映射;以及諸坐標(biāo)的定序。接著,不失一般性。令該點(diǎn)V(506)屬于圖5中的聚類1。隨后考慮由聚類1的協(xié)方差矩陣中的諸特征矢量所定義的參考坐標(biāo)系,并且令該參考坐標(biāo)系的原點(diǎn)為質(zhì)心1。在聚類1(505)中,該樣板點(diǎn)T(501)到一個(gè)上位點(diǎn)V的距離可以被寫成d2=Σi=1n(Ti-Vi)2----(6)]]>
式中,諸坐標(biāo)Ti和Vi都是相對(duì)于該參考系而言的。下一步,通過將最后n-k+1個(gè)坐標(biāo)設(shè)置為0,將聚類1(505)的諸元素投影到子空間1?,F(xiàn)在,介于該樣板點(diǎn)T(501)以及V(506)在子空間1上的投影V’(507)之間的距離為d12=Σi=1n(Ti-Vi)2+Σi=k+1n(Ti)2]]>=d12+d22(7)項(xiàng)d1是介于該樣板點(diǎn)在子空間1上的投影(504),稱為投影1,以及V(506)在子空間1上的投影V’(507)之間的歐幾里德距離;項(xiàng)d2是該樣板點(diǎn)T(501)以及投影1(504)(它在子空間1上的投影)之間的距離;換句話說,d2是介于該樣板點(diǎn)T(501)與子空間1之間的距離?,F(xiàn)在,在計(jì)算介于該樣板點(diǎn)T(501)以及該矢量V(506)之間的距離時(shí),通過用方程式(7)來置換方程式(6),所引入的近似就可以被界定。初等幾何學(xué)教導(dǎo)說,這里的3個(gè)點(diǎn)T(501),V(506)和V’(507)決定一個(gè)唯一的2維子空間(一個(gè)平面)。為了使討論簡化,令這個(gè)平面對(duì)應(yīng)于圖5所示的平面(520)。則在方程式(6)中所定義的距離d等于連結(jié)T(501)和V(506)的線段的長度,在方程式(7)中所定義的距離d’就是連結(jié)T(501)和V’(507)的線段的長度。在初等幾何學(xué)中有一條眾所周知的定理說,三角形一邊的長度大于其余兩邊的長度之差的絕對(duì)值,并且短于它們之和。這就包含著下述的意思用在方程式(7)中所定義的距離d’來置換在方程式(6)中所定義的距離d,引入的誤差小于或等于連結(jié)V(506)和V’(507)的線段的長度;因此,平方誤差的邊界為
圖6表示一份流程圖的一個(gè)例子,該流程圖用于生成一個(gè)降維聚類的層次結(jié)構(gòu),并且為處于該層次結(jié)構(gòu)底部的諸聚類生成低維的索引。在步驟601,一個(gè)聚類過程取原始數(shù)據(jù)(602)作為輸入,將該數(shù)據(jù)劃分為諸數(shù)據(jù)聚類(603),并根據(jù)該分區(qū)的諸細(xì)節(jié)生成聚類信息(604)。原始數(shù)據(jù)中的每一行包括一個(gè)由方程式(1)所定義的矢量屬性。該聚類算法可以從,但不局限于,業(yè)界熟知的任何一種聚類或矢量量化算法中選擇,像下列諸作者所教導(dǎo)的那樣,例如Leonard Kauffman和Peter J.Rousseeuw所著的書“找出數(shù)據(jù)中的群”,John Wiley & Sons公司出版,1990年,或者Yoseph Linde,Andres Buzo和Robert M.Gray所寫的論文“一種用于矢量量化器設(shè)計(jì)的算法”,發(fā)表于“IEEE通信匯刊”雜志,COM-28卷,第1期,1980年1月,第84-95頁。由一種聚類算法的學(xué)習(xí)階段所產(chǎn)生的聚類信息(604)隨算法的不同而改變;這樣的信息允許該算法的分類階段產(chǎn)生任何新的、以前沒有見過其樣本的聚類數(shù)目,并且為每一個(gè)聚類生成一個(gè)代表性的矢量。最好是,該聚類信息包括諸聚類的諸質(zhì)心,每一個(gè)連結(jié)著一個(gè)唯一的標(biāo)號(hào)(參看例如,YosephLinde,Andres Buzo和Robert M.Gray等在“一種用于矢量量化器設(shè)計(jì)的算法”,上)。在步驟605,一個(gè)順序邏輯開始執(zhí)行,它控制諸操作的流程,使得以下諸操作被個(gè)別地和順序地施加到每一個(gè)聚類。專業(yè)人士將理解到,在多重計(jì)算電路的情況下,可以用一個(gè)調(diào)度邏輯電路來代替該順序邏輯電路(605),前者在不同的計(jì)算電路上開始同時(shí)的計(jì)算,其中的每一個(gè)對(duì)一個(gè)不同的數(shù)據(jù)聚類進(jìn)行操作。在步驟606,該降維邏輯(606)接收一個(gè)數(shù)據(jù)聚類(603)并產(chǎn)生降維信息(607)以及一個(gè)降維后的數(shù)據(jù)聚類(608)。在步驟609,執(zhí)行一項(xiàng)結(jié)束條件測試(將在下面討論)。若不滿足該結(jié)束條件,則在步驟611,通過用降維后的數(shù)據(jù)聚類(608)去置換該原始數(shù)據(jù)(602)以及該過程返回到步驟601,遞歸地執(zhí)行步驟601-609。若在步驟610滿足該結(jié)束條件,則為該聚類生成一個(gè)可檢索的索引(612)。在步驟613,若已經(jīng)分析過的聚類數(shù)目等于該聚類算法在步驟601中所產(chǎn)生的諸聚類(603)的總數(shù),則該計(jì)算過程結(jié)束。否則,該過程返回到步驟605。聚類數(shù)目的選擇通常由用戶進(jìn)行,但也存在為業(yè)界所熟知的自動(dòng)步驟;參看例如,Brian Everitt所著“聚類分析”一書第4章第2節(jié),Halsted出版社,1973年出版。
步驟609的結(jié)束條件測試的一個(gè)例子可以基于數(shù)據(jù)體積V(X)的概念,它被定義為V(X)=Σi=1mni]]>式中X為諸記錄的一個(gè)集合,ni為第i個(gè)記錄的大小,并且該總和表示X的諸元素的全部。若在降維步驟606之前,諸記錄具有相同的大小S,并且n表示在一個(gè)聚類中記錄的數(shù)目,則該聚類的體積為Sn。若S表示經(jīng)過降維步驟606之后的一個(gè)記錄的大小,則在降維之后該聚類的體積為S’n。通過比較諸體積Sn和S’n,就可以測試該結(jié)束條件,若Sn=S’n,則結(jié)束。
在另一個(gè)實(shí)施例中,不存在步驟609中的結(jié)束條件測試,并且不進(jìn)行本方法的遞歸應(yīng)用。
圖7表示步驟606的降維邏輯的一個(gè)例子。如圖所示,在步驟701,一個(gè)單值分解邏輯(701)取該數(shù)據(jù)聚類(702)作為輸入,并生成一個(gè)轉(zhuǎn)置矩陣(703)以及該轉(zhuǎn)置矩陣(703)的諸特征值(704)(或諸特性值)。轉(zhuǎn)置矩陣的諸列是該矩陣的諸特征矢量(或諸特性矢量)。用于單值分解的各種算法在業(yè)界中是眾所周知的;參看例如,R.A.Horn和C,R.Johnson所著“矩陣分析”一書,Cambridge大學(xué)出版社(1985年)。專業(yè)人士將理解到,可以用執(zhí)行相同的或等效的操作的任何邏輯來代替單值分解邏輯。在一個(gè)可供選擇的實(shí)施例中,可以用在業(yè)界中眾所周知的主成分分析邏輯來代替該單值分解邏輯。
在步驟705,一個(gè)排序邏輯取諸特征值(704)作為輸入,并生成按大小降序(706)排序的諸特征值。該排序邏輯可以是為業(yè)界所熟知的多種排序邏輯中的任何一種。在步驟707,該選擇邏輯根據(jù)一種選擇標(biāo)準(zhǔn),選出含有最大的特征值(708)的有序的諸特征值(706)的一個(gè)子集。該選擇邏輯可以是,但不局限于,選出諸特征值的最小群,其和大于該轉(zhuǎn)置矩陣(703)的跡線的一個(gè)用戶指定的百分比,正如業(yè)界所熟知的那樣,該跡線就是在該對(duì)角線上的諸元素的總和。在本例中,該轉(zhuǎn)置矩陣(703)以及該選定的諸特征值(708)包括降維信息(607)。另一方面,也可以基于一種查準(zhǔn)率與查全率的折衷(將在下面討論)來選擇諸特征值。
在步驟709,該轉(zhuǎn)置邏輯取該數(shù)據(jù)聚類(702)以及該轉(zhuǎn)置矩陣(703)作為輸入,并將由該轉(zhuǎn)置矩陣所指明的一種轉(zhuǎn)置施加到該數(shù)據(jù)聚類(702)的諸元素之上,同時(shí)生成一個(gè)轉(zhuǎn)置后的數(shù)據(jù)聚類(710)。在步驟711,諸選定的特征值(708)以及該轉(zhuǎn)置的數(shù)據(jù)聚類(710)被用來生成該降維后的數(shù)據(jù)聚類(712)。在一個(gè)優(yōu)選實(shí)施例中,通過保留最小的維數(shù)來完成降維,使得相應(yīng)的特征值的集合至少相當(dāng)于全部變量的一個(gè)固定的百分比,例如該固定百分比可以取值為等于95%。
另一方面,也可以基于一種查準(zhǔn)率與查全率的折衷來選擇諸特征值。為了理解查準(zhǔn)率和查全率,重要的是記住,用本發(fā)明的一種方法來進(jìn)行的檢索操作可以是近似的(下面將參考圖10-11加以說明)。在一個(gè)具有N個(gè)元素的數(shù)據(jù)庫中,用k來表示一個(gè)樣板的所希望的最近鄰的數(shù)目。這里,由于該操作是近似的,典型地,一個(gè)用戶要求返回多于k個(gè)的若干結(jié)果。令n表示返回結(jié)果的數(shù)目,在該n個(gè)結(jié)果中,僅有c個(gè)是正確的,在這個(gè)意義上,它們對(duì)該樣板來說就是那k個(gè)最近鄰。查準(zhǔn)率就是返回的諸結(jié)果中正確的部分所占的比例,并且被定義為查準(zhǔn)率=c/n,而查全率則是通過檢索被返回的諸正確結(jié)果所占的比例,那就是,查全率=c/k。
由于查準(zhǔn)率和查全率隨著樣板的選擇而發(fā)生改變,所以它們的期望值就是該系統(tǒng)性能的一個(gè)較好的度量。因此,查準(zhǔn)率和查全率二者都意味著取自諸樣板的分布的期望值(E),它們是固定值n和k的一個(gè)函數(shù)查準(zhǔn)率=E(c)/n,查全率=E(c)/k。
要注意的是,隨著返回結(jié)果的數(shù)目增加,查準(zhǔn)率減小而查全率增加。一般來說,查準(zhǔn)率與查全率的趨勢不是單調(diào)的。由于E(c)依賴于n,通常可以將效率對(duì)查全率的曲線描繪為n的一個(gè)參數(shù)函數(shù)。在一個(gè)優(yōu)選的實(shí)施例中,一個(gè)申請(qǐng)人指定所希望的該檢索的查準(zhǔn)率以及被允許的查全率的下限。然后該降維邏輯根據(jù)查準(zhǔn)率和查全率按下列步驟進(jìn)行降維在按降序?qū)χT特征值進(jìn)行排序之后,該降維邏輯(步驟606,圖6)去除對(duì)應(yīng)于該最小特征值的維,并根據(jù)從該原始訓(xùn)練集隨機(jī)選出的或由該用戶提供的諸樣本的一個(gè)測試集,估計(jì)所得結(jié)果的查準(zhǔn)率對(duì)查全率的函數(shù)。從該查準(zhǔn)率對(duì)查全率的函數(shù)出發(fā),該降維邏輯導(dǎo)出一個(gè)能達(dá)到所希望的查全率的查準(zhǔn)率的一個(gè)最大值nmax。隨后該降維邏輯通過去除對(duì)應(yīng)于次最小特征值的維,迭代執(zhí)行該相同的過程,并計(jì)算在達(dá)到所希望的查全率的條件下相應(yīng)的查準(zhǔn)率。當(dāng)計(jì)算所得的查準(zhǔn)率低于該用戶指定的閾值時(shí),該迭代過程結(jié)束,并且該降維邏輯僅保留在結(jié)束條件出現(xiàn)的前一瞬間在迭代過程中所保留的那一個(gè)維。
在本發(fā)明的另一個(gè)實(shí)施例中,該申請(qǐng)人僅指定所希望的查全率的一個(gè)值,并且該降維邏輯估計(jì)在達(dá)到所希望的查全率的條件下,增加查準(zhǔn)率所付出的代價(jià)。這個(gè)代價(jià)有兩種成分其一隨著維數(shù)的增加而減小,因?yàn)樵谳^低維數(shù)的空間中,計(jì)算距離以及檢索諸最近鄰是更加有效的;其二是一種增加的成分,這是基于這樣的事實(shí)為了保證所希望的查全率數(shù)值,隨著被保留的維數(shù)的降低,檢索結(jié)果的數(shù)目應(yīng)當(dāng)增加。即使使用各種有效的方法,要檢出一個(gè)較大數(shù)目n的最近鄰,(其代價(jià))是比較昂貴的,因?yàn)殡S著所希望的結(jié)果的數(shù)目增加,應(yīng)當(dāng)被分析的檢索空間的這一部分也隨之增加。然后該降維邏輯通過詳盡的檢索,尋找在達(dá)到該用戶指定的查全率數(shù)值、并使檢索費(fèi)用為最低的條件下,能保留的維數(shù)。
該聚類和單值分解過程可以遞歸地應(yīng)用于諸矢量(步驟601-611)直至達(dá)到一個(gè)結(jié)束條件為止。一種這樣的結(jié)束條件可以是每一個(gè)聚類的維數(shù)不再像本文所描述的那樣繼續(xù)降低??蛇x擇地,諸如R-樹那樣的更常見的空間索引技術(shù)也可以應(yīng)用于每一個(gè)聚類。這些技術(shù)對(duì)于那些維數(shù)已經(jīng)最小化的諸聚類來說是更為有效的。由此將對(duì)一組高維矢量完成整個(gè)索引生成過程。
正如將在下面參考圖8-15所說明的那樣,本發(fā)明也具有使用多維數(shù)據(jù)的簡潔表示來進(jìn)行有效檢索的諸特征。專業(yè)人士將理解到,本發(fā)明的各種檢索方法并不局限于本文所敘述的多維數(shù)據(jù)的特定的簡潔表示。
圖8表示一種基于根據(jù)本發(fā)明生成的可檢索的索引(108或612)的精確檢索過程的邏輯流程的一個(gè)例子。在本例中,該索引是在不進(jìn)行該聚類以及單值分解過程的遞歸應(yīng)用的條件下生成的。精確檢索是檢出跟一個(gè)檢索提問式、例如一個(gè)檢索樣板精確地匹配的一個(gè)或多個(gè)記錄的過程。如圖所示,在步驟802,該多維索引處理器(107)(也稱為聚類檢索邏輯)接收到包括指定的數(shù)據(jù)在內(nèi)的一個(gè)提問式,諸如一個(gè)檢索樣板(801)。在步驟802,在圖6的步驟601中所生成的聚類信息(604)被用來識(shí)別該檢索樣板所屬的該聚類。在步驟803,在圖6的步驟606中生成的降維信息(607)被用來將該輸入樣板投影到與在步驟802中所識(shí)別的該聚類有關(guān)的該子空間,并生成一個(gè)投影的樣板(804)。在步驟805,一個(gè)聚類內(nèi)部檢索邏輯使用在圖6的步驟610中所生成的可檢索的索引(612)去檢索該投影樣板。要注意的是,若沒有空間索引結(jié)構(gòu)可供利用的話,則在每一個(gè)聚類之內(nèi),最簡單的檢索機(jī)制就是進(jìn)行一次線性掃描(或者線性檢索)。在大多數(shù)場合,當(dāng)該聚類的維數(shù)相當(dāng)小(在多數(shù)情況下小于10)時(shí),諸如R-樹那樣的空間索引結(jié)構(gòu)能提供較好的效率(與線性掃描相比)。
圖9表示基于根據(jù)本發(fā)明生成的一種可檢索的多維索引(108或612)的精確檢索過程的邏輯流程的另一個(gè)例子。在這里,該索引(108或612)是在該聚類與降維邏輯的遞歸應(yīng)用的條件下生成的。精確檢索是檢出與該檢索樣板精確地匹配的一個(gè)或多個(gè)記錄的過程。如圖所示,一個(gè)包括諸如一個(gè)檢索樣板那樣的被指定的數(shù)據(jù)被用來作為該聚類檢索邏輯的輸入,在步驟902,它類似于圖8的步驟802中的聚類檢索邏輯。在步驟902,圖6的步驟(601)所生成的聚類信息(604)被用來識(shí)別該檢索樣板(901)所屬的聚類。在步驟903(類似于圖8的步驟803),在圖6的步驟606中所產(chǎn)生的降維信息(607),被用來將該輸入樣板投影到與在步驟902中所識(shí)別的該聚類有關(guān)的該子空間,并生成一個(gè)投影樣板(904)。在步驟905,要確定該當(dāng)前的聚類是不是結(jié)尾的,那就是說,在該多維索引建立過程中,有沒有更多的遞歸的聚類與單值分解步驟被施加到該聚類。若該聚類不是結(jié)尾的,則在步驟907,該檢索樣板(901)被該投影樣板(904)所置換,并且該過程返回到步驟902。在步驟906,若該聚類是結(jié)尾的,則該聚類內(nèi)部檢索邏輯使用該可檢索的索引去檢索該投影樣板。如同所指出的那樣,若沒有空間索引結(jié)構(gòu)可供利用的話,則最簡單的聚類內(nèi)部檢索機(jī)制就是進(jìn)行一次線性掃描(或者線性檢索)。在大多數(shù)場合,當(dāng)該聚類的維數(shù)相當(dāng)小(在多數(shù)情況下小于10)時(shí),諸如R-樹那樣的空間索引結(jié)構(gòu)能提供較好的效率(與線性掃描相比)。
本發(fā)明也具有這樣的諸特征,用以評(píng)定在其他諸聚類中,是否含有這樣的諸元素,它們跟已被檢出的k個(gè)最相似的的元素中距離最遠(yuǎn)者相比,更接近于該指定的數(shù)據(jù)。如同業(yè)界所熟知那樣,聚類信息可以被用來重建該分區(qū)的邊界,并且這些邊界可以被用來確定一個(gè)聚類是否含有k個(gè)最近鄰當(dāng)中的一個(gè)。專業(yè)人士將理解到,該聚類的邊界是對(duì)該聚類本身的結(jié)構(gòu)的一種簡單近似。換句話說,不可能從該邊界的數(shù)學(xué)形式去告訴人們,在靠近該邊界的任何給定位置上是否存在該聚類的諸元素。作為一個(gè)例子,考慮這樣一種情況該數(shù)據(jù)庫包括兩個(gè)球形的數(shù)據(jù)聚類,它們互相之間距離甚遠(yuǎn)。對(duì)這種情況來說,一個(gè)合理的邊界應(yīng)當(dāng)是一個(gè)垂直于這兩個(gè)聚類的質(zhì)心的連線并與這兩個(gè)質(zhì)心等距的超平面。然而,由于這兩個(gè)聚類相距甚遠(yuǎn),所以在靠近邊界處沒有數(shù)據(jù)點(diǎn)。在其他例子中,該邊界可能跟兩個(gè)聚類的大量元素十分靠近。
正如將在下面參考圖14和15加以說明的那樣,除了聚類信息以外,本發(fā)明還具有針對(duì)每一個(gè)聚類的實(shí)際幾何結(jié)構(gòu),計(jì)算和存儲(chǔ)一個(gè)多層次的近似這樣的特征;并且使用該近似結(jié)構(gòu)去識(shí)別那些可能含有跟一個(gè)給定矢量的距離短于一個(gè)固定數(shù)值的諸元素的那些聚類。
圖10表示基于根據(jù)本發(fā)明生成的一個(gè)索引(612)的一次k-最近鄰檢索過程的一份流程圖的一個(gè)例子。在這個(gè)例子中,該索引是在沒有遞歸地應(yīng)用該聚類與單值分解過程的條件下生成的。該k-最近鄰檢索返回在該數(shù)據(jù)庫中與提問式相匹配的k個(gè)最接近的行。所希望的匹配數(shù)目(nr),k(1000)在步驟1002中被用來對(duì)該含有k個(gè)元素的最近鄰集合(1009)進(jìn)行初始化,因此它最多含有k個(gè)元素,并且因此在下一個(gè)步驟開始之前它是空的。在步驟1003,該聚類檢索邏輯接收該檢索提問式,例如該檢索樣板(1001),并使用在圖6的步驟601中所生成的該聚類信息(604),以確定該檢索樣板屬于那一個(gè)聚類。在步驟1004,使用該降維信息(607),將樣板投影到與它所屬的該聚類有關(guān)的該子空間。該投影步驟1004產(chǎn)生一個(gè)投影樣板(1006)以及降維信息(1005),后者包括該投影樣板(1006)的一個(gè)正交余集(它被定義為該檢索樣板(1001)以及該投影樣板(1006)的矢量差),以及該正交余集的歐幾里德長度。在步驟1007,該降維信息(1005)以及該投影樣板(1006)可以被該聚類內(nèi)部檢索邏輯所使用,后者使用該多維索引,更新該含有k個(gè)元素的最近鄰集合(1009)。根據(jù)本發(fā)明,合適的聚類內(nèi)部檢索邏輯包括業(yè)界所熟知的最近鄰檢索方法;參看例如,Belur V.Desarathy(編者)所著的“最近鄰模式分類技術(shù)”一書,IEEE計(jì)算機(jī)學(xué)會(huì)(1991年)。具有本發(fā)明諸特征的一種聚類內(nèi)部檢索邏輯(步驟1007)的一個(gè)例子包括下列諸步驟首先,計(jì)算該投影樣板(1006)跟該聚類諸成員之間在已降維的矢量空間中的平方距離;其結(jié)果被追加到該檢索樣板(1001)跟該聚類的子空間之間的平方距離之上,該最終結(jié)果被定義為該正交余集的平方長度之“和”(在步驟(1004)進(jìn)行計(jì)算,它是該降維信息(1005)的一部分)δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2若在步驟1007開始時(shí)該含有k個(gè)元素的最近鄰集合為空,并且若在該聚類中諸元素的數(shù)目大于k,則該聚類內(nèi)部檢索(邏輯)用該聚類中最接近該投影樣板(1006)的k個(gè)元素來填充該含有k個(gè)元素的最近鄰集合,否則就用該聚類的全部元素來填充。該含有k個(gè)元素的最近鄰集合中的每一個(gè)元素都跟一個(gè)對(duì)應(yīng)的失配指數(shù)δ2有關(guān)。
若在步驟1007開始時(shí),該含有k個(gè)元素的最近鄰集合不為空,則當(dāng)一個(gè)其失配指數(shù)δ2小于當(dāng)前與該含有k個(gè)元素的最近鄰集合(1009)中的諸元素有關(guān)的諸索引中的最大者的元素出現(xiàn)時(shí),該聚類內(nèi)部檢索邏輯在步驟1007更新該含有k個(gè)單元的最近鄰集合。更新該含有k個(gè)元素的最近鄰集合的方法是這樣的從該含有k個(gè)元素的最近鄰集合(1009)中去除具有最大失配指數(shù)δ2的那個(gè)元素,并為它置換該新發(fā)現(xiàn)的元素。
若該含有k個(gè)元素的最近鄰集合(1009)含有少于k個(gè)元素,則該缺失的諸元素被認(rèn)為是處于無限遠(yuǎn)處的諸元素。在步驟1008,要確定是否存在含有諸最近鄰的另一個(gè)候選的聚類。這個(gè)步驟取該聚類信息(604)作為輸入,由此它能確定該聚類的邊界。若不含該檢索樣板(1001)的一個(gè)聚類的邊界跟該含有k個(gè)元素的最近鄰集合(1009)中的最遠(yuǎn)的元素相比為更近時(shí),則該聚類就是一個(gè)候選者。若不存在候選者,則該過程結(jié)束,并且該含有k個(gè)元素的最近鄰集合(1009)的內(nèi)容作為一個(gè)結(jié)果被返回。否則,該過程返回到步驟1004,在這里,該當(dāng)前的聚類現(xiàn)在就成為在步驟1008中所確認(rèn)的候選聚類。
圖11表示基于根據(jù)本發(fā)明生成的一個(gè)檢索索引(612)的k-最近鄰檢索過程的一份流程圖的一個(gè)例子。在這里,該索引是在該聚類以及單值分解過程的遞歸應(yīng)用的條件下生成的。該k-最近鄰檢索向采取一個(gè)檢索樣板形式的指定的數(shù)據(jù)返回該數(shù)據(jù)庫中最接近的k行。如圖所示,在步驟1102,該含有k個(gè)元素的最近鄰集合被初始化以便清空,并且所希望的匹配數(shù)目k(1000)被用來初始化該含有k個(gè)元素的最近鄰聚合(1111),因此它最多可以包括k個(gè)元素。在步驟1103,該聚類檢索邏輯取該檢索樣板(1101)作為輸入,并使用在圖6的步驟601中所生成的聚類信息(604),將該檢索樣板合并到一個(gè)相應(yīng)的聚類中去。在步驟1104,根據(jù)在圖6的步驟606所生成的降維信息(607),該樣板(1101)被投影到一個(gè)與在步驟1103中所確認(rèn)的聚類相連結(jié)的子空間。在步驟1104,一個(gè)投影樣板(1106)以及降維信息(1105)被生成。最好是,該降維信息(1105)包括該投影樣板(1106)的正交余集(它被定義為該檢索樣板(1101)以及該投影樣板(1106)之間的矢量差),以及該正交余集的歐幾里德長度。在步驟1107,要確定該當(dāng)前聚類是不是結(jié)尾的,那就是說,在該索引建立過程中,有沒有更多的聚類和單值分解的諸遞歸步驟被施加到該當(dāng)前聚類。若該當(dāng)前聚類不是結(jié)尾的,則在步驟1108,用該投影樣板(1106)來置換該檢索樣板(1101),并且該過程返回到步驟1103。否則,在步驟1109,該降維信息(1105)以及該投影樣板(1106)被該聚類內(nèi)部檢索邏輯用來根據(jù)該可檢索的索引(612)更新該含有k個(gè)元素的最近鄰集合(1111)。根據(jù)本發(fā)明的合適的聚類內(nèi)部檢索邏輯包括業(yè)界所熟知的各種最近鄰檢索方法中的任何一種;參看例如,Belur V.Desarathy(編者)所著的“最近鄰模式分類技術(shù)”一書,IEEE計(jì)算機(jī)學(xué)會(huì),1991年。具有本發(fā)明諸特征的一種聚類內(nèi)部檢索邏輯(步驟1007)包括下列諸步驟首先,計(jì)算該投影樣板(1006)跟該聚類的諸成員之間在已降維的該矢量空間中的平方距離,其結(jié)果被追加到該檢索樣板(1001)以及該聚類的子空間之間的平方距離之上,其結(jié)果被定義為諸正交余集(在步驟(1004)中進(jìn)行計(jì)算,它是該降維信息(1005)的一部分)δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2在步驟1109開始時(shí),若該含有k個(gè)元素的最近鄰集合(1111)為空,則該聚類內(nèi)部檢索邏輯按下列內(nèi)容填充該含有k個(gè)元素的最近鄰集合(1111)若該聚類中的元素?cái)?shù)目大于k,則以該聚類中最接近該投影樣板(1106)的k個(gè)元素來填充,若該聚類中的元素?cái)?shù)目少于或等于k,則以該聚類中全部元素來填充。該含有k個(gè)元素的最近鄰集合(1111)最好是跟它的對(duì)應(yīng)的失配指數(shù)δ2相連結(jié)。
在步驟1109開始時(shí),若該含有k個(gè)元素的最近鄰集合(1111)不為空,當(dāng)一個(gè)元素被發(fā)現(xiàn),它的失配指數(shù)δ2小于當(dāng)前與該含有k個(gè)元素的最近鄰集合(1111)相連結(jié)的諸索引中的最大者,則該聚類內(nèi)部檢索邏輯更新該含有k個(gè)元素的最近鄰集合。該更新應(yīng)包括從該含有k個(gè)元素的最近鄰集合(1111)中去除具有最大失配指數(shù)δ2的元素,并且用新發(fā)現(xiàn)的元素來置換它。
若該含有k個(gè)元素的最近鄰集合(1111)含有少于k個(gè)元素,則該缺失的諸元素被認(rèn)為是處于無限遠(yuǎn)處的諸元素。在步驟1110,要確定在該層次結(jié)構(gòu)中,當(dāng)前這一層是不是頂層(在實(shí)行該第一聚類步驟之前)。若當(dāng)前層是頂層,則該過程結(jié)束,并且該含有k個(gè)元素的最近鄰集合(1111)的內(nèi)容作為一個(gè)結(jié)果被返回。若該當(dāng)前層不是頂層,則在步驟1114,在該當(dāng)前層計(jì)算一個(gè)候選的聚類,那就是,一個(gè)含有該k個(gè)最近鄰中的某幾個(gè)的聚類。使用該降維信息(1105)以及該聚類信息(604)來進(jìn)行這次檢索。在步驟1114,該聚類信息(604)被用來確定該聚類的邊界。若不含該檢索樣板(1001)的一個(gè)聚類的邊界跟該含有k個(gè)元素的最近鄰集合(1111)的最遠(yuǎn)的元素相比顯得更近時(shí),則該聚類就是一個(gè)候選者。若不存在候選者,則在步驟1113,該當(dāng)前層被設(shè)置為該層次結(jié)構(gòu)的先前的一層,并且更新該降維信息,同時(shí)該過程返回到步驟1110。若存在一個(gè)候選者,則在步驟1115,該樣板被投影到該候選的聚類,由此更新該投影樣板(1106),并且該降維信息也被更新。然后,該過程返回到步驟1107。
圖12(a)-12(c)對(duì)僅根據(jù)相似性的聚類技術(shù)(例如,根據(jù)每一個(gè)聚類的該元素以及對(duì)應(yīng)的諸質(zhì)心之間的歐幾里德距離的最小化,正如Linde,Buzo和Gray等在“一種用于矢量量化設(shè)計(jì)的算法”(上)一書中所教導(dǎo)的那樣)與使用一種適應(yīng)于該數(shù)據(jù)的局部結(jié)構(gòu)的算法的聚類的各種結(jié)果進(jìn)行比較。圖12(a)表示一個(gè)參考坐標(biāo)系(1201)以及一個(gè)矢量集合(1202)。若使用一種基于每一個(gè)聚類的諸元素與該對(duì)應(yīng)的質(zhì)心的該歐幾里德距離的最小化的聚類技術(shù),則圖12(b)表示一種可能的結(jié)果該矢量集合(1202)被諸超平面(1203)和(1204)區(qū)分為3個(gè)聚類,即,聚類1(1205),聚類2(1206)和聚類3(1207)。所得到的諸聚類含有彼此相似的諸矢量,但沒有俘獲該數(shù)據(jù)的結(jié)構(gòu),并且會(huì)導(dǎo)致次最佳的降維。圖12(c)表示使用一種適應(yīng)于該數(shù)據(jù)的局部結(jié)構(gòu)的算法進(jìn)行聚類的結(jié)果。由此得到3個(gè)聚類,聚類1(1208),聚類2(1209)和聚類3(1210),它們較好地俘獲了該數(shù)據(jù)的局部結(jié)構(gòu),并且更適合于進(jìn)行獨(dú)立的降維。
圖13表示適應(yīng)于該數(shù)據(jù)的局部結(jié)構(gòu)的聚類算法的一個(gè)例子。在步驟1302,使用待聚類的矢量集合(1301)以及所希望的聚類數(shù)目來選擇該質(zhì)心(1303)的初始值。在一個(gè)優(yōu)選的實(shí)施例中,使用任何已知的不帶置換的采樣技術(shù),以隨機(jī)方式為每一個(gè)聚類的所希望的數(shù)目NC選擇該矢量集合中的一個(gè)元素。在步驟1304,例如使用基于該歐幾里德距離的任何已知方法,生成諸聚類的第一個(gè)集合。其結(jié)果是,諸樣本被劃分為NC個(gè)聚類(1305)。在步驟1306,NC個(gè)聚類中的每一個(gè)的質(zhì)心(1307)被計(jì)算,例如,被計(jì)算為該聚類中諸矢量的一個(gè)平均值。在步驟1308,使用該單值分解邏輯(圖7,步驟701)可以計(jì)算出諸聚類(1305)的諸特征值和諸特征矢量(1309)。在步驟1310,使用該質(zhì)心信息(1307)、諸特征矢量和諸特征值(1309)被用來為每一個(gè)聚類生成一個(gè)不同的距離度量。對(duì)一個(gè)特定的聚類來說,該距離度量的一個(gè)例子就是在該旋轉(zhuǎn)空間中由諸特征矢量所定義的加權(quán)歐幾里德距離,其權(quán)值等于諸特征值的平方根。
由諸邏輯步驟1312、1313和1314所形成的環(huán)路生成新的諸聚類。在步驟1312,一個(gè)控制邏輯對(duì)該矢量集合(1301)中的所有矢量迭代執(zhí)行步驟1313和1314。在步驟1313,使用該距離度量(1311)來計(jì)算被選定的示例矢量與該聚類的每一個(gè)質(zhì)心之間的距離。在步驟1314,該矢量被分配到該最近的聚類,由此更新諸聚類(1305)。在步驟1315,若一個(gè)結(jié)束條件到達(dá),該過程結(jié)束;否則在步驟1306該過程繼續(xù)進(jìn)行下去。在一個(gè)優(yōu)選實(shí)施例中,若在兩次相繼的迭代之間諸聚類的組成沒有發(fā)生變化,則該計(jì)算過程結(jié)束。
圖14表示在一個(gè)3維空間中一個(gè)復(fù)雜表面(1401)的一個(gè)例子,以及基于一個(gè)3維象限樹的兩次連續(xù)的近似,正如Samet,H.在“用邊界代碼對(duì)象限樹進(jìn)行區(qū)域表示”一書第163-170頁(1980年3月)中所教導(dǎo)的那樣。該第一近似(1402)是一個(gè)最小的界限盒子。第二近似(1403)是生成一個(gè)象限樹的第二步,在這里,通過在每一維的中點(diǎn)處劈開該界限盒子,已經(jīng)將該界限盒子切分為8個(gè)超矩形,并且僅保留那些與該表面相交的諸超矩形。
在一個(gè)優(yōu)選的實(shí)施例中,這種近似的層次結(jié)構(gòu)被生成為一棵k維的象限樹。具有本發(fā)明諸特征的用以產(chǎn)生這種近似的層次結(jié)構(gòu)的已知方法的一個(gè)例子包括下列諸步驟生成該聚類邊界,它對(duì)應(yīng)于對(duì)該聚類的幾何形狀的零階近似;借助于一個(gè)最小界限盒子,對(duì)每一個(gè)聚類的凸出的外殼作出近似,由此對(duì)每一個(gè)聚類的幾何形狀生成一個(gè)1階近似,通過在每一維的中點(diǎn)上進(jìn)行切割,將該界限盒子劃分為2k個(gè)超矩形;僅保留那些含有諸點(diǎn)的超矩形,由此生成對(duì)該聚類的幾何尺寸的一個(gè)2階近似;對(duì)每一個(gè)被保留的超矩形重復(fù)執(zhí)行最后兩個(gè)步驟,以便連續(xù)地生成對(duì)該聚類的幾何形狀的3階,4階,…。n階近似。
圖15表示使用對(duì)該聚類的幾何形狀的連續(xù)近似的層次結(jié)構(gòu),去識(shí)別可能含有離開一個(gè)給定的數(shù)據(jù)點(diǎn)的距離比一個(gè)事先說明的距離更近的諸元素的諸聚類的邏輯流程的一個(gè)例子。在一個(gè)實(shí)施例中,一個(gè)聚類的幾何形狀就是該聚類的一個(gè)凸出的外殼。在另一個(gè)實(shí)施例中,一個(gè)聚類的幾何形狀是一個(gè)包圍所有諸點(diǎn)的連接起來的彈性表面。這個(gè)邏輯可以被用來檢索候選的諸聚類,例如在圖10中的步驟1008?,F(xiàn)在參考圖15,在步驟1502,諸聚類的原始集連同它們的幾何近似(1501)的層次結(jié)構(gòu)被輸入到該過程。在步驟1502,該候選集(1505)被初始化為該原始集(1501)。在步驟1506,通過將對(duì)該幾何形狀的當(dāng)前近似設(shè)置為0階近似,來執(zhí)行另一個(gè)初始化步驟。在一個(gè)優(yōu)選實(shí)施例中,諸聚類的0階幾何形狀近似由用以生成諸聚類的聚類算法的判決區(qū)域給出。在步驟1507,對(duì)該聚類的幾何形狀的當(dāng)前近似跟該數(shù)據(jù)點(diǎn)(1503)之間的距離被計(jì)算出來。比該候選集(1505)離開更遠(yuǎn)的所有聚類都被拋棄,并且生成諸聚類的一個(gè)保留集(1508)。在步驟1509,要確定在該層次結(jié)構(gòu)中,是否存在較好的近似。若不存在較好的近似,則通過將該結(jié)果集(1512)設(shè)置為等于該當(dāng)前保留集(1508)以結(jié)束該計(jì)算。否則,在步驟1510,該候選集(1505)被設(shè)置為該當(dāng)前保留集(1508),該當(dāng)前幾何近似被設(shè)置為在該層次結(jié)構(gòu)中的較好近似,并且該過程返回到步驟1507。
要注意的是,借助于一個(gè)優(yōu)選實(shí)施例,連同可供選擇的諸實(shí)施例,已經(jīng)對(duì)本發(fā)明作了說明,對(duì)專業(yè)人士來說,各種修改和改進(jìn)都可能出現(xiàn)。因此,應(yīng)當(dāng)理解,該詳細(xì)的描述應(yīng)當(dāng)被構(gòu)成一個(gè)例子,而不是一種限制。本發(fā)明由所附的權(quán)利要求書適當(dāng)?shù)丶右砸?guī)定。
權(quán)利要求
1.一種表示多維數(shù)據(jù)的計(jì)算機(jī)化方法,包括下列諸步驟a)將該多維數(shù)據(jù)劃分為一個(gè)或多個(gè)聚類;b)為所述一個(gè)或多個(gè)聚類生成以及存儲(chǔ)聚類信息;c)為所述一個(gè)或多個(gè)聚類生成一個(gè)或多個(gè)降維聚類以及降維信息;以及d)存儲(chǔ)該降維信息。
2.權(quán)利要求1所述的方法,還包括下列諸步驟為所述一個(gè)或多個(gè)降維聚類生成并存儲(chǔ)一個(gè)降維的索引。
3.根據(jù)權(quán)利要求1所述方法,該數(shù)據(jù)被存儲(chǔ)在一個(gè)空間的數(shù)居庫或一個(gè)多媒體數(shù)據(jù)庫之中,這些數(shù)據(jù)庫含有許多個(gè)數(shù)據(jù)記錄,其中每一個(gè)記錄又含有許多個(gè)字段,所述方法還包括下列諸步驟生成待索引為一個(gè)矢量集合的該數(shù)據(jù)庫的一種表示,在這里每一個(gè)矢量對(duì)應(yīng)于該數(shù)據(jù)庫中的一行,并且每一個(gè)矢量的諸元素則對(duì)應(yīng)于,對(duì)一個(gè)特定的行來說,在各列中所包含的值,而該可檢索的索引將針對(duì)各列而被生成;以及所述的劃分包括將諸矢量劃分為所述的一個(gè)或多個(gè)聚類。
4.根據(jù)權(quán)利要求2所述的方法,還包括將該索引全部地存入一部計(jì)算機(jī)的主存儲(chǔ)器的步驟。
5.根據(jù)權(quán)利要求2所述方法,所述生成一個(gè)包括一個(gè)單值分解的降維聚類還包括下列諸步驟為所述每一個(gè)聚類產(chǎn)生一個(gè)轉(zhuǎn)置矩陣以及該轉(zhuǎn)置矩陣的諸特征值;以及選擇包括該最大特征值在內(nèi)的諸特征值的一個(gè)子集,其中該降維信息包括該轉(zhuǎn)置矩陣以及諸特征值的該子集。
6.根據(jù)權(quán)利要求5所述的方法,采用降維索引去檢索K個(gè)與所指定數(shù)據(jù)最相似的記錄,它包括下列諸步驟根據(jù)存儲(chǔ)的聚類信息,把所指定的數(shù)據(jù)合并到如上所述的一個(gè)或多個(gè)聚類上;根據(jù)存儲(chǔ)在某個(gè)有關(guān)聚類上的降維信息,把所指定的數(shù)據(jù)投影到針對(duì)該有關(guān)聚類的子空間上;響應(yīng)于所述的投影,生成降維信息,它包括已投影的指定信息的一個(gè)正交的余集;通過該索引檢索與已投影的指定數(shù)據(jù)有K個(gè)最相似記錄的有關(guān)聚類;確定是否有任何其他有關(guān)的聚類,后者應(yīng)含有K個(gè)跟投影的指定數(shù)據(jù)最相似的諸記錄中的任何一個(gè)或多個(gè);以及重復(fù)所述檢索,以便找到含有跟該指定數(shù)據(jù)最相似的K個(gè)記錄中的任何一個(gè)或多個(gè)的所述任何聚類。
7.根據(jù)權(quán)利要求6的方法,所述的通過索引去檢索有關(guān)聚類,還包括如下諸步驟計(jì)算作為失配指數(shù)δ2的一個(gè)函數(shù)的介于該有關(guān)聚類的K個(gè)最近鄰和已投影的指定數(shù)據(jù)之間的距離(D),這里δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2
8.根據(jù)權(quán)利要求6的方法,該指定的數(shù)據(jù)包括一個(gè)檢索樣板,它還包括如下諸步驟如上所述的投影步驟包括使用降維信息把該樣板投影到與它所屬的聚類有關(guān)的一個(gè)子空間上;為一個(gè)投影的樣板生成樣板降維信息,這里所述通過索引的檢索是根據(jù)該投影的樣板和該樣板降維信息;并且更新K個(gè)與檢索樣板最相似記錄的K個(gè)最近鄰集合。
9.根據(jù)權(quán)利要求5方法,所述的選擇諸特征值的一個(gè)子集是返回結(jié)果的查準(zhǔn)率和查全率的一個(gè)函數(shù)。
10.根據(jù)權(quán)利要求2的用于檢索與指定數(shù)據(jù)最相似的K個(gè)記錄的方法,該檢索方法包括如下諸步驟根據(jù)聚類信息識(shí)別指定數(shù)據(jù)所屬的一個(gè)聚類;根據(jù)該識(shí)別出的聚類的降維信息,對(duì)該指定的數(shù)據(jù)進(jìn)行降維;響應(yīng)于如上所述的降維,為降維后的指定數(shù)據(jù)生成降維信息;使用該降維信息,針對(duì)指定數(shù)據(jù)所屬的聚類的一個(gè)降維版本,檢索該多維索引;通過該多維索引檢索該聚類中K個(gè)最相似的記錄;識(shí)別其它的諸候選聚類,它們可能含有與該指定數(shù)據(jù)的距離比檢索出的K個(gè)最相似記錄中的最遠(yuǎn)者更接近的諸記錄;響應(yīng)于如上所述的確定步驟,檢索一個(gè)與該指定數(shù)據(jù)最接近的其它候選聚類;以及對(duì)所有如上所述的候選聚類,重復(fù)如上所述的識(shí)別和檢索步驟。
11.根據(jù)權(quán)利要求10的方法,還包括如下諸步驟計(jì)算作為失配指數(shù)δ2的一個(gè)函數(shù)的介于該聚類的該版本的K個(gè)最近鄰跟已投影的指定數(shù)據(jù)之間的距離(D),這里,δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2
12.根據(jù)權(quán)利要求1的方法,其中的聚類信息包括如上所述的一個(gè)或多個(gè)聚類的質(zhì)心信息,它還包括把質(zhì)心同一個(gè)唯一標(biāo)號(hào)合在一起的步驟。
13.根據(jù)權(quán)利要求1的方法,其中的數(shù)據(jù)維數(shù)>8。
14.根據(jù)權(quán)利要求1的方法,用以實(shí)施一次精確檢索,包括如下諸步驟根據(jù)存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到一個(gè)聚類中去;響應(yīng)于如上所述的合并步驟,根據(jù)針對(duì)一個(gè)聚類的降維版本所存儲(chǔ)的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;以及根據(jù)已降維的指定數(shù)據(jù),檢索與指定數(shù)據(jù)相匹配的該聚類的降維版本。
15.根據(jù)權(quán)利要求14的方法,所述的檢索還包括進(jìn)行線性掃描以匹配該指定數(shù)據(jù)的步驟。
16.根據(jù)權(quán)利要求1的方法,還包括如下諸步驟通過遞歸地執(zhí)行如上所述的諸步驟a)~d),生成一個(gè)多層次的降維聚類;以及為如上所述的多層次聚類中處于最低層次的聚類生成并存儲(chǔ)一個(gè)或多個(gè)低維索引。
17.根據(jù)權(quán)利要求16的方法,用于執(zhí)行一次具體的檢索,包括遞歸地使用如下諸步驟使用存儲(chǔ)的聚類信息,檢索指定數(shù)據(jù)所屬的聚類;以及使用存儲(chǔ)的降維信息對(duì)指定的數(shù)據(jù)進(jìn)行降維,直至到達(dá)降維聚類層次結(jié)構(gòu)中相應(yīng)的最低層次;以及使用諸低維索引,檢索與指定數(shù)據(jù)相匹配的該聚類的降維版本。
18.權(quán)利要求16的方法,用于執(zhí)行相似檢索,還包括遞歸地使用如下諸步驟使用存儲(chǔ)的聚類信息,檢索指定數(shù)據(jù)所屬的聚類;以及使用存儲(chǔ)的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維,以便與降維聚類層次結(jié)構(gòu)中的最低層次相一致;檢索候選的諸最終聚類,后者應(yīng)含有在諸降維聚類的層次結(jié)構(gòu)中處于每一個(gè)層次上的該指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè),(檢索過程)開始于該指定數(shù)據(jù)所屬的所述層次結(jié)構(gòu)中處于一個(gè)最低層次的一個(gè)最終聚類;以及對(duì)于每一個(gè)候選的最終聚類,執(zhí)行一次聚類內(nèi)部檢索,以便找到該指定數(shù)據(jù)的K個(gè)最近鄰。
19.權(quán)利要求16的方法,執(zhí)行相似檢索,還包括如下諸步驟對(duì)指定數(shù)據(jù)進(jìn)行降維;遞歸地執(zhí)行如下諸步驟使用存儲(chǔ)的聚類信息,檢索出已降維的指定數(shù)據(jù)所屬的聚類;以及使用存儲(chǔ)的降維信息,對(duì)指定數(shù)據(jù)進(jìn)行降維,以便與降維聚類層次結(jié)構(gòu)中的一個(gè)最低層次相一致;檢索候選的諸最終聚類,后者應(yīng)含有在諸降維聚類的層次結(jié)構(gòu)中處于每一個(gè)層次上的該已降維的指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè),(檢索過程)開始于該指定數(shù)據(jù)所屬的所述層次結(jié)構(gòu)中處于一個(gè)最低層次的一個(gè)最終聚類;以及對(duì)每一個(gè)候選的最終聚類,執(zhí)行一次聚類內(nèi)部檢索,以便找到該已降維的指定數(shù)據(jù)的K個(gè)最近鄰。
20.權(quán)利要求1的方法,其中的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,還包括如下諸步驟對(duì)數(shù)據(jù)庫進(jìn)行降維,并生成有關(guān)該數(shù)據(jù)庫的降維信息;以及存儲(chǔ)與該數(shù)據(jù)庫有關(guān)的降維信息;其中所述的劃分步驟對(duì)應(yīng)于所述的降維步驟。
21.權(quán)利要求20的方法,用于執(zhí)行一次精確檢索,包括如下諸步驟根據(jù)數(shù)據(jù)庫的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;響應(yīng)于如上所述的降維,根據(jù)該聚類信息,把已降維的指定信息合并到其中一個(gè)聚類中去;根據(jù)有關(guān)聚類的降維信息,把該指定的數(shù)據(jù)降維到由一個(gè)有關(guān)聚類所規(guī)定的一個(gè)降維聚類中去;以及根據(jù)該指定數(shù)據(jù)的一個(gè)降維版本,檢索一個(gè)匹配的降維聚類。
22.權(quán)利要求20的方法,用于執(zhí)行相似檢索,包括如下諸步驟使用與該數(shù)據(jù)庫有關(guān)的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;根據(jù)該聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類;根據(jù)一個(gè)已識(shí)別出的聚類的降維信息,對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維;檢索經(jīng)過再次降維的指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本;在該聚類中通過多維索引檢索K個(gè)與該經(jīng)過再次降維的指定數(shù)據(jù)最相似的記錄;估計(jì)是否有任何其它聚類后者含有比檢索出的K個(gè)記錄中的最遠(yuǎn)者更近的記錄;響應(yīng)如上所述的估計(jì)步驟,檢索出一個(gè)最接近于該指定數(shù)據(jù)的其他聚類;以及對(duì)所有如上所述的其它聚類重復(fù)進(jìn)行所述的估計(jì)和檢索步驟。
23.權(quán)利要求20的方法,其中的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,還包括如下步驟為如上所述的一個(gè)或多個(gè)已降維的諸聚類生成并存儲(chǔ)一個(gè)或多個(gè)可檢索的降維索引。
24.權(quán)利要求20的方法,用于執(zhí)行一次精確檢索,包括如下諸步驟根據(jù)所存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到一個(gè)聚類中去;響應(yīng)于如上所述的合并,把指定的數(shù)據(jù)分解為由有關(guān)聚類以及針對(duì)該有關(guān)聚類而存儲(chǔ)的降維信息所定義的一個(gè)降維聚類;以及根據(jù)已分解的指定數(shù)據(jù),在如上所述的索引中檢索一個(gè)匹配的降維聚類。
25.權(quán)利要求24的方法,其中檢索提問式包括一個(gè)檢索樣板,還包括如下諸步驟所述的合并包括根據(jù)所存儲(chǔ)的聚類信息使該檢索樣板跟一個(gè)聚類相符合;所述的分解包括根據(jù)所存儲(chǔ)的降維信息把該檢索樣板投影到一個(gè)相符合的聚類的一個(gè)子空間上;以及所述的檢索包括執(zhí)行一次聚類內(nèi)部檢索,以便找到一個(gè)投影樣板。
26.權(quán)利要求1的方法還包括如下諸步驟(a)生成聚類邊界,它們相應(yīng)于如上所述的聚類的幾何形狀的一個(gè)零階近似;(b)借助于一個(gè)最小界限盒子,對(duì)每一個(gè)聚類的幾何形狀作出近似,并從這里生成每個(gè)聚類的幾何形狀的一階近似;(c)把該界限盒子劃分為2K個(gè)超矩形,這里所述的劃分在每一維的一個(gè)中點(diǎn)處進(jìn)行;(d)僅保留包含諸數(shù)據(jù)點(diǎn)的超矩形,并從這里生成該聚類的幾何形狀的二階近似;以及(e)在每一個(gè)保留的超矩形重復(fù)如上所述的步驟(c)和(d),以便依次生成該聚類的幾何形狀的3階,4階,……,n階的近似。
27.權(quán)利要求26的方法,其中用于檢索每一個(gè)聚類的幾何結(jié)構(gòu)的多層次近似,還包括如下諸步驟使用與該數(shù)據(jù)庫有關(guān)的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;根據(jù)該聚類信息,檢索已降維的指定數(shù)據(jù)所屬的聚類;根據(jù)一個(gè)相符合的聚類的降維信息,對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維;檢索該經(jīng)過再次降維的指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本;通過該多維索引,在該聚類中檢索跟經(jīng)過再次降維的指定數(shù)據(jù)最相似的K個(gè)記錄;估計(jì)是否有一個(gè)或多個(gè)其它聚類,后者含有比已檢索出來的K個(gè)記錄中最遠(yuǎn)者更近的記錄;根據(jù)該聚類的諸邊界,只要一個(gè)其它聚類含有指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè),就保留該聚類;根據(jù)越來越精確的對(duì)該幾何形狀的近似,迭代地確定是否有一個(gè)保留的聚類可能包含K個(gè)最近鄰中的一個(gè)或多個(gè),并且只有當(dāng)該聚類在相繼的近似過程的層次結(jié)構(gòu)中在最精確的層次上被接受,才繼續(xù)保留該已保留的聚類;以及響應(yīng)于如上所述的迭代的確定步驟,識(shí)別出一個(gè)含有該K個(gè)最近鄰中的一個(gè)或多個(gè)的保留聚類作為一個(gè)候選聚類。
28.一個(gè)程序存儲(chǔ)裝置,可被包括多維數(shù)據(jù)的一個(gè)或多個(gè)降維索引的機(jī)器讀出,該程序存儲(chǔ)裝置明確地配置了可被該機(jī)器執(zhí)行的一段由諸指令組成的程序,來執(zhí)行表示多維數(shù)據(jù)的方法步驟,如上所述的方法步驟包括a)把多維數(shù)據(jù)劃分為一個(gè)或多個(gè)聚類;b)對(duì)如上所述的一個(gè)或多個(gè)聚類生成并存儲(chǔ)聚類信息;c)對(duì)如上所述的一個(gè)或多個(gè)聚類生成一個(gè)或多個(gè)降維聚類和降維信息;以及d)存儲(chǔ)該降維信息。
29.權(quán)利要求28的程序存儲(chǔ)設(shè)備,還包括如下諸步驟為如上所述的一個(gè)或多個(gè)降維聚類生成并存儲(chǔ)一個(gè)降維索引。
30.權(quán)利要求28的程序存儲(chǔ)裝置,其中的數(shù)據(jù)存儲(chǔ)在一個(gè)空間數(shù)據(jù)庫或多媒體數(shù)據(jù)庫中,它們包括多個(gè)數(shù)據(jù)記錄,每個(gè)數(shù)據(jù)記錄包括多個(gè)字段,還包括如下諸步驟生成待索引為一個(gè)矢量集合的該數(shù)據(jù)庫的一種表示,在這里每一個(gè)矢量對(duì)應(yīng)于該數(shù)據(jù)庫中的一行,并且每一個(gè)矢量的諸元素對(duì)應(yīng)于,對(duì)一個(gè)特定的行來說,在各列中所包含的值,而該可檢索的索引將針對(duì)各列而被生成;以及如上所述的劃分包括把諸矢量劃分為所述的一個(gè)或多個(gè)聚類。
31.權(quán)利要求29中的程序存儲(chǔ)裝置,還包括把該索引全部存入計(jì)算機(jī)主存儲(chǔ)器的步驟。
32.權(quán)利要求29的方法,所述的生成降維聚類包括一個(gè)單值分解過程,還包括如下諸步驟為所述的每一個(gè)聚類產(chǎn)生一個(gè)轉(zhuǎn)置矩陣以及該轉(zhuǎn)置矩陣的諸特征值;以及選擇包括該最大特征值在內(nèi)的諸特征值的一個(gè)子集,其中該降維信息包括該轉(zhuǎn)置矩陣以及諸特征值的該子集。
33.權(quán)利要求33的程序存儲(chǔ)裝置,使用該降維索引,檢索跟指定數(shù)據(jù)最接近的K個(gè)記錄,包括如下諸步驟根據(jù)所存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到如上所述的一個(gè)或多個(gè)聚類中去;根據(jù)所存儲(chǔ)有關(guān)聚類的降維信息,把指定數(shù)據(jù)投影到有關(guān)聚類的一個(gè)子空間上;響應(yīng)于如上所述的投影,生成降維信息,包括已投影的指定數(shù)據(jù)的一個(gè)正交余集;通過該索引檢索具有大個(gè)與已投影的指定數(shù)據(jù)最相似記錄的有關(guān)聚類;確定是否有任何其它有關(guān)聚類,后者含有K個(gè)跟已投影的指定數(shù)據(jù)最相似的記錄中的一個(gè)或多個(gè);以及對(duì)如上所述的含有K個(gè)與已投影的指定數(shù)據(jù)最相似的記錄中的一個(gè)或多個(gè)的任何聚類,重復(fù)所述檢索步驟。
34.權(quán)利要求33的程序存儲(chǔ)裝置中所述的通過索引檢索有關(guān)的聚類,還包括如下諸步驟計(jì)算作為失配指數(shù)δ2的一個(gè)函數(shù)的介于該有關(guān)聚類的K個(gè)最近鄰和該已投影的指定數(shù)據(jù)之間的距離(D),這里,δ2(樣板,元素)=D2(投影樣板,元素)+∑‖正交余集‖2
35.權(quán)利要求33的程序存儲(chǔ)裝置,其中的指定數(shù)據(jù)包括一個(gè)檢索樣板,還包括如下諸步驟如上所述的投影步驟包括使用該降維信息把樣板投影到與它所屬的該聚類有關(guān)的一個(gè)子空間上;為一個(gè)已投影的樣板生成樣板降維信息,這里所述的通過該索引的檢索是根據(jù)已投影的該樣板和該樣板的降維信息;以及更新K個(gè)與該檢索樣板最相似的一個(gè)含有K個(gè)元素的最近鄰集合。
36.權(quán)利要求32的程序存儲(chǔ)裝置,其中所述的選擇諸特征值的一個(gè)子集是返回結(jié)果的一個(gè)查準(zhǔn)率和一個(gè)查全率的一個(gè)函數(shù)。
37.權(quán)利要求29的程序存儲(chǔ)裝置,用于檢索與指定數(shù)據(jù)最相似的K個(gè)記錄,該檢索方法包括如下諸步驟根據(jù)該聚類信息識(shí)別出指定數(shù)據(jù)所屬的一個(gè)聚類;根據(jù)一個(gè)相符合的聚類的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;響應(yīng)于如上所述的降維,為已降維的指定數(shù)據(jù)生成降維信息;使用該降維信息,在多維索引中檢索該指定數(shù)據(jù)所屬聚類的一個(gè)降維版本;通過該多維索引,在該聚類中檢索出K個(gè)最相似的記錄;識(shí)別其它的候選聚類,它們應(yīng)包括跟該指定數(shù)據(jù)的距離比檢索出的K個(gè)最相近數(shù)據(jù)中的最遠(yuǎn)者更近的諸記錄;響應(yīng)于如上所述的確定步驟,檢索與指定數(shù)據(jù)最接近的其它候選聚類;以及對(duì)如上所述的所有其它候選聚類,重復(fù)如上所述的識(shí)別和檢索諸步驟。
38.權(quán)利要求37的程序存儲(chǔ)裝置,還包括如下步驟計(jì)算作為失配指數(shù)δ2的一個(gè)函數(shù)的介于該聚類的該版本的K個(gè)最近鄰和已投影的指定數(shù)據(jù)之間的距離(D),這里,δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2
39.權(quán)利要求28的程序存儲(chǔ)裝置中的聚類信息包括如上所述的一個(gè)或多個(gè)聚類的一個(gè)質(zhì)心的信息,還包括該質(zhì)心同一個(gè)唯一的標(biāo)號(hào)合并在一起的步驟。
40.權(quán)利要求28的程序存儲(chǔ)裝置,其中該數(shù)據(jù)的維數(shù)>8。
41.權(quán)利要求28的程序存儲(chǔ)裝置,用于執(zhí)行一次精確檢索,包括如下諸步驟根據(jù)所存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到一個(gè)聚類上,響應(yīng)于如上所述的合并步驟,根據(jù)所存儲(chǔ)的針對(duì)一個(gè)聚類的一個(gè)降維版本的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維;以及根據(jù)已降維的指定數(shù)據(jù),檢索與指定數(shù)據(jù)相匹配的該聚類的該降維版本。
42.權(quán)利要求41的程序存儲(chǔ)裝置,其中所述的檢索還包括進(jìn)行線性掃描以匹配于指定數(shù)據(jù)的步驟。
43.權(quán)利要求28的程序存儲(chǔ)裝置,還包括如下諸步驟通過遞歸地執(zhí)行上述的步驟a)~d),生成諸降維聚類的一個(gè)層次結(jié)構(gòu);以及在如上所述的層次結(jié)構(gòu)的一個(gè)最低層次上,為諸聚類生成并存儲(chǔ)一個(gè)或多個(gè)低維索引。
44.權(quán)利要求43程序存儲(chǔ)裝置,用于執(zhí)行一次精確檢索,包括如下諸步驟遞歸地執(zhí)行如下諸步驟使用所存儲(chǔ)的聚類信息,檢索出指定數(shù)據(jù)所屬的一個(gè)聚類;以及使用所存儲(chǔ)的降維信息對(duì)該指定數(shù)據(jù)進(jìn)行降維,直至到達(dá)諸降維聚類的層次結(jié)構(gòu)中的一個(gè)相應(yīng)的最低層次;以及使用諸低維索引,檢索與該指定數(shù)據(jù)匹配的該聚類的一個(gè)降維版本。
45.權(quán)利要求43的程序存儲(chǔ)裝置,用于執(zhí)行一次相似檢索,還包括如下諸步驟遞歸地執(zhí)行如下諸步驟使用所存儲(chǔ)的聚類信息,檢索指定數(shù)據(jù)所屬的聚類;以及使用所存儲(chǔ)的降維信息,對(duì)指定的數(shù)據(jù)進(jìn)行降維,以符合于諸降維聚類的層次結(jié)構(gòu)中的最低層次;檢索候選的諸最終聚類,它們應(yīng)含有在諸降維聚類的層次結(jié)構(gòu)中處于每一個(gè)層次上的該指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè),檢索過程開始于該指定數(shù)據(jù)所屬的所述層次結(jié)構(gòu)中處于一個(gè)最低層次的一個(gè)最終聚類;以及對(duì)于每一個(gè)候選的最終聚類,執(zhí)行一次聚類內(nèi)部檢索,以便找到該指定數(shù)據(jù)的K個(gè)最近鄰。
46.權(quán)利要求43的程序存儲(chǔ)裝置,用于執(zhí)行一次相似檢索,還包括如下諸步驟對(duì)該指定數(shù)據(jù)進(jìn)行降維;遞歸地執(zhí)行如下諸步驟使用所存儲(chǔ)的聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類;使用存儲(chǔ)的降維信息對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維,以符合諸降維聚類的層次結(jié)構(gòu)的最低層次;檢索候選的諸最終聚類,后者應(yīng)含有在諸降維聚類的層次結(jié)構(gòu)中處于每一個(gè)層次上的該已降維的指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè),檢索過程開始于該指定數(shù)據(jù)所屬的所述層次結(jié)構(gòu)中處于一個(gè)最低層次的一個(gè)最終聚類;以及對(duì)每一個(gè)候選的最終聚類,執(zhí)行一次聚類內(nèi)部檢索,以便找到該已降維的指定數(shù)據(jù)的K個(gè)最近鄰。
47.權(quán)利要求28的程序存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)庫里面,還包括如下諸步驟對(duì)該數(shù)據(jù)庫進(jìn)行降維,并生成與該數(shù)據(jù)庫有關(guān)的降維信息;以及存儲(chǔ)與該數(shù)據(jù)庫有關(guān)的降維信息,所述的劃分步驟對(duì)應(yīng)于所述的降維步驟。
48.權(quán)利要求47的程序存儲(chǔ)裝置,用于執(zhí)行一次精確檢索,包括如下諸步驟根據(jù)該數(shù)據(jù)庫的降維信息對(duì)指定數(shù)據(jù)進(jìn)行降維;響應(yīng)于如上所述的降維,根據(jù)該聚類信息,把已降維的指定數(shù)據(jù)合并到一個(gè)聚類中去;根據(jù)該有關(guān)聚類的降維信息,把該指定數(shù)據(jù)降維到由一個(gè)有關(guān)聚類所規(guī)定的一個(gè)降維聚類的維數(shù);以及根據(jù)該指定數(shù)據(jù)的一個(gè)降維版本,檢索一個(gè)匹配的降維聚類。
49.權(quán)利要求47的程序存儲(chǔ)裝置,用于執(zhí)行一次相似檢索,包括如下諸步驟使用與該數(shù)據(jù)庫有關(guān)的降維信息,對(duì)指定數(shù)據(jù)進(jìn)行降維;根據(jù)該聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類;根據(jù)一個(gè)相符合的聚類的降維信息,對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維;檢索經(jīng)過再次降維的該指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本;通過該多維索引,在該聚類中,檢索跟經(jīng)過再次降維的指定數(shù)據(jù)最相似的K個(gè)記錄;估計(jì)是否有其它諸聚類,后者應(yīng)含有比檢索出的K個(gè)記錄中的最遠(yuǎn)者離開該指定數(shù)據(jù)更近的記錄;響應(yīng)于如上所述的步驟;檢索一個(gè)離開該指定數(shù)據(jù)最近的其它聚類;以及對(duì)所有所述其他諸聚類重復(fù)所述的估計(jì)和檢索步驟。
50.權(quán)利要求47的程序存儲(chǔ)裝置,其中該數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)庫中,還包括如下步驟為如上所述的一個(gè)或多個(gè)降維聚類生成并存儲(chǔ)一個(gè)或多個(gè)可檢索的降維索引。
51.權(quán)利要求47程序存儲(chǔ)裝置,用于執(zhí)行一次精確檢索,包括如下諸步驟根據(jù)所存儲(chǔ)的聚類信息,把指定數(shù)據(jù)合并到一個(gè)聚類上;響應(yīng)于如上所述的合并,把指定的數(shù)據(jù)分解到由一個(gè)有關(guān)聚類以及該有關(guān)聚類存儲(chǔ)的降維信息所規(guī)定的一個(gè)降維聚類中去;以及根據(jù)已分解的指定數(shù)據(jù),在如上所述的索引中檢索一個(gè)匹配的降維聚類。
52.權(quán)利要求51的程序存儲(chǔ)裝置,其中的檢索提問式包括一個(gè)檢索樣板,還包括如下諸步驟所述的合并包括根據(jù)存儲(chǔ)的聚類信息使一個(gè)聚類跟該檢索樣板相符合;所述的分解包括根據(jù)存儲(chǔ)的降維信息把檢索樣板投影到一個(gè)相符合的聚類的一個(gè)子空間上;以及所述的檢索包括執(zhí)行一次聚類內(nèi)部檢索,以便找到一個(gè)已投影的樣板。
53.權(quán)利要求28的程序存儲(chǔ)裝置,還包括如下諸步驟(a)生成聚類的諸邊界,它們相應(yīng)于對(duì)所述聚類幾何形狀的一個(gè)零階近似;(b)借助于一個(gè)最小界限盒子,作出每一個(gè)聚類幾何形狀的近似,并從這里生成每一個(gè)聚類幾何形狀的一個(gè)一階近似;(c)把該界限盒子劃分為2K個(gè)超矩形,這里所述的劃分在每一維的一個(gè)中點(diǎn)處進(jìn)行;(d)僅保留含有諸數(shù)據(jù)點(diǎn)的那些超矩形,并從這里生成該聚類幾何形狀的一個(gè)2階近似;以及(e)對(duì)每一個(gè)保留的超矩形重復(fù)如上所述的步驟(c)和(d),以便相繼地生成該聚類幾何形狀的3階,4階,……,n階近似。
54.權(quán)利要求53的程序存儲(chǔ)裝置,用于檢索對(duì)每個(gè)聚類幾何形狀結(jié)構(gòu)的多層次的近似,還包括如下諸步驟使用與該數(shù)據(jù)庫有關(guān)的降維信息,對(duì)指定數(shù)據(jù)進(jìn)行降維;根據(jù)該聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類;根據(jù)一個(gè)相符合的聚類的降維信息,對(duì)該已降維的指定數(shù)據(jù)再次進(jìn)行降維;檢索該再次降維的指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本;在該聚類中通過該多維索引,檢索與該再次降維的指定數(shù)據(jù)最相似的K個(gè)記錄;估計(jì)是否有一個(gè)或多個(gè)其它聚類,后者應(yīng)含有比該已檢索出的K個(gè)記錄中的最遠(yuǎn)者離開該指定數(shù)據(jù)較近的記錄;根據(jù)該聚類的諸邊界,只有當(dāng)一個(gè)其它聚類包含指定數(shù)據(jù)的K個(gè)最近鄰中的任何一個(gè)或多個(gè),才保留該聚類;根據(jù)越來越精確的對(duì)幾何形狀的近似,迭代地確定是否有一個(gè)保留的聚類能包含該K個(gè)最近鄰中的任何一個(gè)或多個(gè),并且只有當(dāng)該聚類在相繼的近似過程的層次結(jié)構(gòu)中在最精確的層次上被接受才繼續(xù)保留該已保留的聚類;以及響應(yīng)于如上所述的迭代的確定步驟,識(shí)別出一個(gè)含有該K個(gè)最近鄰中的一個(gè)或多個(gè)的保留聚類作為一個(gè)候選聚類。
55.一種計(jì)算機(jī)程序產(chǎn)品,包括一個(gè)具有計(jì)算機(jī)可讀程序代碼方法的計(jì)算機(jī)可使用的媒介,這里具體表現(xiàn)為表示多維數(shù)據(jù),在所述的計(jì)算機(jī)程序產(chǎn)品中的該計(jì)算機(jī)可讀程序代碼裝置包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)把該多維數(shù)據(jù)劃分到一個(gè)或多個(gè)聚類中去的計(jì)算機(jī)可讀程序代碼的聚類裝置;連接到所述聚類裝置的、用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)針對(duì)所述的一個(gè)或多個(gè)聚類生成和存儲(chǔ)聚類信息的計(jì)算機(jī)可讀程序代碼裝置;連接到所述聚類裝置的、用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)針對(duì)所述的一個(gè)或多個(gè)聚類生成一個(gè)或多個(gè)降維聚類和降維信息的計(jì)算機(jī)可讀程序代碼的降維裝置;連接到所述的降維裝置,用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)對(duì)該降維信息的存儲(chǔ)的計(jì)算機(jī)可讀程序代碼裝置;以及用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)針對(duì)如上所述的一個(gè)或多個(gè)降維聚類生成和存儲(chǔ)一個(gè)降維索引的計(jì)算機(jī)可讀程序代碼裝置。
56.權(quán)利要求55中的計(jì)算機(jī)程序產(chǎn)品,這里的數(shù)據(jù)存儲(chǔ)在一個(gè)空間數(shù)據(jù)庫或者一個(gè)多媒體數(shù)據(jù)庫,后者含有多個(gè)數(shù)據(jù)記錄,其中每個(gè)數(shù)據(jù)記錄又含有多個(gè)字節(jié),還包括用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)生成一個(gè)待索引為一個(gè)矢量集合的該數(shù)據(jù)庫的一種表示的計(jì)算機(jī)可讀的程序代碼裝置,這里每一個(gè)矢量對(duì)應(yīng)于該數(shù)據(jù)庫的一行,對(duì)特定的一行來說,每一個(gè)矢量對(duì)應(yīng)于該可檢索的索引將要針對(duì)它而生成的各列中所包含的值;以及如上所述的聚類裝置包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)把諸矢量劃分到所述的一個(gè)或多個(gè)聚類中去的計(jì)算機(jī)可讀程序代碼裝置。
57.權(quán)利要求55的計(jì)算機(jī)程序產(chǎn)品,其中所述的生成一個(gè)降維聚類包括一個(gè)單值分解過程,它還包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)為如上所述的每一個(gè)聚類生成一個(gè)轉(zhuǎn)置矩陣和該轉(zhuǎn)置矩陣特征值的計(jì)算機(jī)可讀程序代碼裝置;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)選擇一個(gè)包括最大特征值在內(nèi)的特征值子集的計(jì)算機(jī)可讀程序代碼裝置,在這里,該降維信息包括該轉(zhuǎn)置矩陣和諸特征值的該子集。
58.權(quán)利要求57中的計(jì)算機(jī)程序產(chǎn)品,使用該降維索引去檢索與指定數(shù)據(jù)最相似的K個(gè)記錄,包括根據(jù)存儲(chǔ)的聚類信息,用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)把指定數(shù)據(jù)合并到如上所述的一個(gè)或多個(gè)聚類的計(jì)算機(jī)可讀程序代碼裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)存儲(chǔ)的針對(duì)該有關(guān)聚類的降維信息把指定數(shù)據(jù)投影到一個(gè)有關(guān)聚類的一個(gè)子空間的計(jì)算機(jī)可讀程序代碼裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)為已投影的指定數(shù)據(jù)生成包括一個(gè)正交余集的降維信息的計(jì)算機(jī)可讀程序代碼裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)通過該索引檢索K個(gè)與該已投影的指定數(shù)據(jù)最相似記錄的該有關(guān)聚類的裝置;以及用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)確定是否有其他有關(guān)的聚類的裝置,該聚類應(yīng)含有跟該已投影的指定數(shù)據(jù)最接近的K個(gè)記錄中的任何一個(gè)或多個(gè);用以使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)重復(fù)所述檢索,以便找到任何聚類的裝置,該聚類應(yīng)含有跟該指定數(shù)據(jù)最接近的K個(gè)記錄中的任何一個(gè)或多個(gè)。
59.權(quán)利要求58中的計(jì)算機(jī)程序產(chǎn)品,其中所述的用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)通過該索引檢索該有關(guān)聚類的裝置還包括用來一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)計(jì)算作為一個(gè)失配指數(shù)δ2的函數(shù)的介于該有關(guān)聚類里面的K個(gè)最近鄰和該已投影的指定數(shù)據(jù)之間的距離(D)的裝置,這里,δ2(樣板,元素)=D2(投影的樣板,元素)+∑‖正交余集‖2
60.權(quán)利要求58的計(jì)算機(jī)程序產(chǎn)品,其中的該指定數(shù)據(jù)包括一個(gè)檢索樣板,還包括如上所述的用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)投影的裝置包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用該降維信息,把該樣板投影到它所屬的該聚類的一個(gè)子空間上的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)為一個(gè)已投影的樣板生成樣板降維信息的裝置;這里所述的用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)通過該索引進(jìn)行檢索的裝置是根據(jù)該已投影的樣板和該樣板的降維信息;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)更新與該檢索樣板最相似的K個(gè)記錄的一個(gè)含有K個(gè)元素的最近鄰集合的裝置。
61.權(quán)利要求57的計(jì)算機(jī)程序產(chǎn)品,其中所述的用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)選擇該特征值的一個(gè)子集的裝置是一個(gè)關(guān)于返回結(jié)果的查準(zhǔn)率和查全率的函數(shù)。
62.權(quán)利要求55的計(jì)算機(jī)程序產(chǎn)品,用于檢索與指定數(shù)據(jù)最相似的K個(gè)記錄,該檢索方法包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)聚類信息識(shí)別指定數(shù)據(jù)所屬的該聚類的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)一個(gè)已識(shí)別的聚類的降維信息對(duì)該指定數(shù)據(jù)進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)響應(yīng)于如上所述的降維,為已降維的指定數(shù)據(jù)生成降維信息的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)他用該降維信息,在該多維索引中進(jìn)行檢索,以便找出該指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)通過該多維索引,在該聚類中檢索K個(gè)最相似記錄的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)識(shí)別其它的包含有比檢索出的K個(gè)最相似記錄中的最遠(yuǎn)者離開該指定數(shù)據(jù)較近的記錄的其他候選聚類的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)響應(yīng)于所述的確定步驟,檢索與該指定數(shù)據(jù)最接近的一個(gè)其它候選聚類的方法;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)對(duì)所述的所有其它候選聚類重復(fù)所述的識(shí)別和檢索步驟的裝置。
63.權(quán)利要求55中的計(jì)算機(jī)程序產(chǎn)品,用于執(zhí)行一次精確檢索,包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)所存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到一個(gè)聚類中去的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)響應(yīng)所述的合并步驟,根據(jù)一個(gè)聚類的一個(gè)降維版本中所存儲(chǔ)的降維信息對(duì)該指定數(shù)據(jù)進(jìn)行降維的方法;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)已降維的指定數(shù)據(jù),檢索與該指定數(shù)據(jù)相匹配的該聚類的該降維版本的裝置。
64.權(quán)利要求63的計(jì)算機(jī)程序產(chǎn)品,為了所述的檢索,還包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)一次線性掃描,以便與該指定數(shù)據(jù)相匹配的裝置。
65.權(quán)利要求55中的計(jì)算機(jī)程序產(chǎn)品,還包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)通過遞歸地執(zhí)行步驟a)~d)來生成一個(gè)降維聚類的分層結(jié)構(gòu)的裝置;以及用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)在所述的分層結(jié)構(gòu)的最低層次上為諸聚類生成并存儲(chǔ)一個(gè)或多個(gè)低維索引的裝置。
66.權(quán)利要求55的計(jì)算機(jī)程序產(chǎn)品,為了執(zhí)行一次精確檢索,包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)遞歸地執(zhí)行如下步驟的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用存儲(chǔ)的聚類信息,檢索指定數(shù)據(jù)所屬的一個(gè)聚類的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用存儲(chǔ)的降維信息,使該指定數(shù)據(jù)降維到一個(gè)相應(yīng)于降維聚類分層結(jié)構(gòu)中的最低層次的裝置;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用低維索引來檢索與該指定數(shù)據(jù)相匹配的該聚類的一個(gè)降維版本的裝置。
67.權(quán)利要求65中的計(jì)算機(jī)程序產(chǎn)品,用來執(zhí)行一次相似檢索,還包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)對(duì)該指定數(shù)據(jù)進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)遞歸地采用如下裝置的裝置用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用存儲(chǔ)的聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類的裝置;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用存儲(chǔ)的降維信息,對(duì)已降維的該指定數(shù)據(jù)再次降維到與已降維的諸聚類的層次結(jié)構(gòu)中的最低層次相對(duì)應(yīng)的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn),從該指定數(shù)據(jù)所屬的層次結(jié)構(gòu)的最低層次上的一個(gè)最終聚類開始,在該降維聚類層次結(jié)構(gòu)的各個(gè)層次上,檢索出包含有與該已降維的指定數(shù)據(jù)的K個(gè)最近鄰中的一個(gè)或多個(gè)候選的最終聚類的裝置;以及用來使一臺(tái)計(jì)算機(jī)和實(shí)現(xiàn)在每一個(gè)最終聚類中進(jìn)行聚類內(nèi)部檢索,以便找到該已降維的指定數(shù)據(jù)的K個(gè)最近鄰的裝置。
68.權(quán)利要求55中的計(jì)算機(jī)程序產(chǎn)品,其中該數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)庫中,還包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)對(duì)該數(shù)據(jù)庫的降維,以及生成與該數(shù)據(jù)庫有關(guān)的降維信息的裝置;以及用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)存儲(chǔ)與該數(shù)據(jù)庫有關(guān)的降維信息的裝置;其中所述的劃分步驟對(duì)應(yīng)于所述的降維步驟。
69.權(quán)利要求68中的計(jì)算機(jī)程序產(chǎn)品,用來執(zhí)行一次精確檢索,包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)該數(shù)據(jù)庫的降維信息對(duì)指定數(shù)據(jù)進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)響應(yīng)于所述的降維,根據(jù)該聚類信息把已降維的指定數(shù)據(jù)合并到一個(gè)聚類中去的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)該有關(guān)聚類的降維信息,把該指定數(shù)據(jù)降維至由一個(gè)有關(guān)聚類所規(guī)定的一個(gè)降維聚類的水平的裝置;以及用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)該指定數(shù)據(jù)的一個(gè)降維版本,檢索一個(gè)匹配的降維聚類的裝置。
70.權(quán)利要求68中的計(jì)算機(jī)程序產(chǎn)品,用來執(zhí)行一次近似檢索,包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)使用該數(shù)據(jù)庫的降維信息對(duì)指定數(shù)據(jù)進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)聚類信息,檢索已降維的指定數(shù)據(jù)所屬的該聚類的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)識(shí)別出的聚類的降維信息,對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)檢索經(jīng)過再次降維的指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)在該聚類中通過多維索引檢索與該經(jīng)過再次降維的指定數(shù)據(jù)最接近的K個(gè)記錄的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)估計(jì)是否有其它聚類含有比檢索出來的K個(gè)記錄中的最遠(yuǎn)者離開該指定數(shù)據(jù)更近的記錄的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)響應(yīng)于所述的估計(jì)步驟,檢索離開該指定數(shù)據(jù)最近的一個(gè)其它聚類的裝置;以及用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)對(duì)如上所述的所有其它聚類重復(fù)如上所述的估計(jì)和檢索的裝置。
71.權(quán)利要求68中的計(jì)算機(jī)程序產(chǎn)品,其中該數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)庫中,還包括使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)對(duì)如上所述的一個(gè)或多個(gè)降維聚類生成一個(gè)或多個(gè)已降維的可檢索的索引的裝置。
72.權(quán)利要求68中的計(jì)算機(jī)程序產(chǎn)品,用來執(zhí)行一次精確檢索,包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)所存儲(chǔ)的聚類信息,把指定的數(shù)據(jù)合并到一個(gè)聚類中去的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)響應(yīng)于所述的合并,把指定數(shù)據(jù)分解到一個(gè)有關(guān)聚類所規(guī)定的一個(gè)降維聚類中去,并存儲(chǔ)該有關(guān)聚類的降維信息的裝置;以及用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)已分解的指定數(shù)據(jù),在所述的諸索引中檢索一個(gè)匹配的降維聚類的裝置。
73.權(quán)利要求72中的計(jì)算機(jī)程序產(chǎn)品,其中的檢索提問式包括一個(gè)檢索樣板,還包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)所述合并,包括根據(jù)所存儲(chǔ)的聚類信息,使一個(gè)聚類跟該檢索樣板相符合的裝置;所述的用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)分解的裝置,包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)存儲(chǔ)的降維信息,把該檢索樣板投影到一個(gè)相符合的聚類的子空間中去的裝置;以及所述的使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)檢索的裝置包括用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)執(zhí)行一次聚類內(nèi)部檢索,以便找到一個(gè)投影樣板的裝置。
74.權(quán)利要求55中的計(jì)算機(jī)程序產(chǎn)品,還包括(a)用來使計(jì)算機(jī)去實(shí)現(xiàn)生成對(duì)應(yīng)于所述聚類幾何形狀的一個(gè)零階近似的該聚類諸邊界的裝置;(b)用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)借助于一個(gè)最小界限盒子以作出每一個(gè)該聚類的幾何形狀的近似,并由此生成每一個(gè)聚類幾何形狀的一個(gè)1階近似的裝置;(c)用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)把該界限盒子劃分為2K個(gè)超矩形的裝置,這里所說的劃分是在每一維的一個(gè)中點(diǎn)上進(jìn)行的;(d)用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)僅保留含有諸數(shù)據(jù)點(diǎn)的超矩形,并由此生成該聚類的幾何形狀的一個(gè)2階近似的裝置;以及(e)用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)對(duì)每一個(gè)保留下來的超矩形重復(fù)所述的步驟(c)和(d),以便相繼地生成該聚類的3階,4階,……,n階近似的裝置。
75.權(quán)利要求74中的計(jì)算機(jī)程序產(chǎn)品,用來檢索每一個(gè)聚類的幾何形狀結(jié)構(gòu)的多層次的近似,還包括用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)使用該數(shù)據(jù)庫的降維信息對(duì)該指定數(shù)據(jù)進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)該聚類信息去檢索已降維的指定數(shù)據(jù)所屬的該聚類的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)相符合的聚類的降維信息,對(duì)已降維的指定數(shù)據(jù)再次進(jìn)行降維的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)檢索該經(jīng)過再次降維的指定數(shù)據(jù)所屬的該聚類的一個(gè)降維版本的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)在該聚類中通過多維索引檢索與該經(jīng)過再次降維的指定數(shù)據(jù)最相似的K個(gè)記錄的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)估計(jì)是否有其它一個(gè)或多個(gè)聚類應(yīng)含有比檢索出的K個(gè)記錄中的最遠(yuǎn)者離開該指定記錄更近的記錄的裝置;用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)根據(jù)該聚類的諸邊界,只有當(dāng)一個(gè)其它的聚類,含有指定數(shù)據(jù)的K個(gè)最近鄰中的任何一個(gè)或多個(gè)時(shí),才保留該聚類的裝置;用來使一臺(tái)計(jì)算機(jī)實(shí)現(xiàn)根據(jù)越來越精確的對(duì)幾何形狀的近似,迭代地確定是否有一個(gè)已保留的聚類,后者應(yīng)含有K個(gè)最近鄰中的任何一個(gè)或多個(gè),并且僅當(dāng)該聚類在連續(xù)近似的層次結(jié)構(gòu)中在最精確的層次上被接受時(shí),才保留該已保留的聚類的裝置;以及用來使一臺(tái)計(jì)算機(jī)去實(shí)現(xiàn)響應(yīng)于如上所述的迭代的確定步驟,將一個(gè)已保留的聚類識(shí)別為含有該數(shù)據(jù)K個(gè)最近鄰中的一個(gè)或多個(gè)的候選聚類的裝置。
全文摘要
一項(xiàng)能生成簡潔索引的改進(jìn)的多維數(shù)據(jù)索引技術(shù),使得大多數(shù)甚至全部索引在任何時(shí)候都可以駐留在主存儲(chǔ)器中。在劃分聚類和降維時(shí),就生成聚類信息和降維信息,以便在后面的檢索階段使用。既使有不是高度相關(guān)的變量存在,該索引技術(shù)仍然是有效的。其他一些特征可提供使用該聚類信息和降維信息,非常有效地進(jìn)行精確檢索和最近鄰檢索。一個(gè)關(guān)于降維的例子中使用了單值分解技術(shù),本方法也可以遞歸地應(yīng)用于每一個(gè)降維的聚類。該降維也可以用于整個(gè)數(shù)據(jù)庫,作為索引生成的第一步。
文檔編號(hào)G06K9/62GK1216841SQ9812380
公開日1999年5月19日 申請(qǐng)日期1998年10月30日 優(yōu)先權(quán)日1997年10月31日
發(fā)明者維托里奧·卡斯特里, 李春生(音譯), 亞利山大·托馬西安 申請(qǐng)人:國際商業(yè)機(jī)器公司