專利名稱:使用t-檢驗計算的k-均值聚類的制作方法
技術領域:
本發明的實施例一般來說涉及聚類(clustering)。特別是,本發明的實施例涉及使用t-檢驗計算的k-均值聚類。
背景技術:
聚類是以數學公式為基礎的在不同對象之間的相似性的度量。聚類被用來獲得彼此相似而與屬于其它聚類的對象不相似的對象的一種集合。這種多元的統計分析型聚類也稱為非監督聚類分析、數值分類學和分類分析。例如,在分子生物學中,用聚類法根據生物基因或樣本的統計學行為把它們分組或分類成單獨的聚類,從而使相同聚類的成員之間的關聯程度強,而不同聚類的成員之間的關聯程度弱。聚類技術的例子包括賈維斯-帕特里克(Jarvis-Patrick),凝聚分層(Agglomerative Hierarchical),自組織映射(SOM)和K-均值。
K-均值聚類是簡單的非監督學習算法,它用于解決某些公知的聚類問題。K-均值算法被用于產生根據相似性的距離度量的聚類和固定尺寸的、平直的分類。傳統的K-均值聚類算法遵循過分簡單的方法,通過事先固定的聚類的給定數目(例如,k個聚類)把給定的數據集進行分類。換句話說,該k-均值算法從把事件分入k個聚類的初始分區開始(例如,在初始化時賦予一個k值)。該過程繼續進行,修改分區以減少每個事件距該事件所屬的聚類的均值的距離的總和。傳統的k-均值的一個問題是,k的某個初始值必須只根據估算值被賦值。這樣的k值經常是錯誤的,對最終結果產生負面影響。
一種減小k值影響的方法是,以不同的隨機產生的開始分區或初始k值重新運行該算法。因為在數據中的真實聚類的數目是不知道的,算法以更接近從數據所預期的聚類的數目的不同k值來運行,以確定距離的總和是怎樣隨著k值的增加而減小的。然而,這種重新運行k-均值算法的傳統的方法是費時間的、低效率的、麻煩的、且仍然不能消除或明顯減小k對最終解答的負面影響。
發明內容
根據本發明,提供了一種方法,包括執行具有多個點的數據集的k-均值聚類,其中,所述執行k-均值聚類包括把所述數據集分區成多個聚類;確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;執行t-檢驗計算以確定所述點和所述聚類之間的統計線性關系;和如果所述點接近于所述聚類,并且如果所述點與所述聚類有統計線性關系,則保持所述數據集中所述點的當前位置。
根據本發明,還提供了一種設備,包括存儲介質,它存儲指令組,以便使用t-檢驗計算執行k-均值聚類;以及與所述存儲介質耦合的處理器,所述處理器用于執行具有多個點的數據集的k-均值聚類,其中執行所述k-均值聚類包括把所述數據集分區成多個聚類,確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度,執行所述t-檢驗計算,以確定所述點和所述聚類之間的統計線性關系,以及如果所述點接近所述聚類,并且如果所述點與所述聚類有統計線性關系,則保持所述數據集中的所述點的當前位置。
根據本發明,還提供了一種系統,包括k-均值模塊,用于執行具有多個點的數據集的k-均值聚類,其中所述k-均值聚類的執行包括把所述數據集分區成多個聚類;皮爾遜相關系數模塊,用于確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;t-檢驗模塊,用于執行t-檢驗計算以確定所述點和所述聚類之間的統計線性關系;和定位模塊,用于如果所述點與所述聚類接近,并且如果所述點與所述聚類具有統計線性關系,則保持數據集中的所述點的當前位置。
根據本發明,還提供了一種機器可讀介質,在它上面存儲有代表指令組的數據,當所述機器執行所述指令組的時候,使得所述機器執行如下操作對具有多個點的數據集執行k-均值聚類,其中所述k-均值聚類的執行包括把所述數據集分區成多個聚類;確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;執行t-檢驗計算以確定所述點與所述聚類之間的統計線性關系;和如果所述點接近于所述聚類,并且所述點與所述聚類具有統計線性關系,則保持所述數據集中的所述點的當前位置。
所附權利要求具體陳述了本發明的實施例的特點。下面結合附圖的詳細描述可以更好地理解本發明的實施例及其優點,其中圖1是方塊圖,說明使用t-檢驗計算的k-均值聚類的實施例;圖2是方塊圖,說明參照圖1所述的k-均值聚類一起使用的t-檢驗計算的實施例;圖3是方塊圖,說明使用標準k-均值聚類和使用t-檢驗計算的k-均值聚類的對比試驗的結果;圖4是流程圖,說明執行使用t-檢驗計算的k-均值聚類的過程的實施例;和圖5是方塊圖,說明在實現本發明的實施例中使用的示范的計算機系統。
具體實施例方式
下面描述使用t-檢驗計算的k-均值聚類的系統和方法。在整個描述中,為了解釋,陳述了許多具體的細節,為的是徹底理解本發明的實施例。不過,明顯的是,對于本領域的普通技術人員來說,沒有這些具體細節中的某些,也能實現本發明。在其它情況下,公知的結構和裝置也以方塊圖的形式示出,為的是避免使本發明的基本原理變得不清楚。
在下面的描述中,對于許多具體細節例如邏輯實現,操作碼,資源分區,資源共享和資源復制實現,系統部件的類型和相互關系,以及邏輯分區/集中的選擇都進行了陳述,為的是更徹底地理解本發明的各種實施例。不過,本領域的普通技術人員將意識到,根據所提供的公開的內容,沒有這樣的具體的細節,也可以實現本發明的實施例。在其它情況下,控制結構,門電平電路和完整的軟件指令序列沒有被詳細示出,為的是不使本發明變得模糊不清。本領域的那些普通的技術人員,根據這里所包括的描述,將能在無需過度試驗的情況下,實現適當的功能。
下面描述本發明的各種實施例。各種實施例可以通過硬件部件來執行,或可以在機器可執行指令中體現,這些指令可用于使通用的或專用的處理器或者用該指令編程的機器或邏輯電路去執行各種實施例。或者,各種實施例可以通過硬件和軟件的結合來執行。
本發明的各種實施例可以作為計算機程序產品來提供,其可以包括在其上存儲有指令的機器可讀介質,這些指令可以用來對計算機(或其它電子設備)編程,以便執行按照本發明各種實施例的過程。機器可讀介質可能包括,但不限于,軟盤,光盤,光盤只讀存儲器(CD-ROM),磁光盤,只讀存儲器(ROM),隨機存取存儲器(RAM),可擦可編程只讀存儲器(EPROM),電可擦可編程只讀存儲器(EEPROM),磁卡或光卡,閃存,或適合于存儲電子指令的其它類型的介質/機器可讀介質。再者,本發明的各種實施例還可以作為計算機程序產品下載,其中通過包含在載波中的數據信號或經過通信鏈路的其它傳播介質(例如,調制解調器或網絡連接),把程序從遠程計算機傳送到請求的計算機。
圖1是方塊圖,說明使用t-檢驗計算106的k-均值聚類100的實施例。在一個實施例中,檢驗一個點和它的最接近的聚類之間的相關性的k-均值聚類100,是通過使用t-檢驗計算106執行的,以估計聚類結果是否具有它的統計顯著性。使用k-均值聚類100的具有k-均值算法的t-檢驗計算106,消除了對k的初始值的依賴和及其影響,例如,在基因聚類中,執行聚類而無任何初始分區(例如,k的值)。這就有助于消除不正確的k的初始值造成的壞結果。換句話說,在一個實施例中,k-均值聚類100的結果或最終解答可以從初始狀態102的任一個k值(例如,k=1)開始,因為當使用具有k-均值聚類100的t-檢驗計算106時,k的數值變得與最終解答沒有關系。因此,具有t-檢驗計算106的k-均值100的最終解答是真實解答,因為它沒有受到k的初始值破壞。
在一個實施例中,在初始化102(例如,函數t-檢驗-k-均值(k、ε)),賦予初始k值(例如,k=1)。類似地,賦予ε的初值(例如,ε=0.00001)以代表小誤差值。誤差112的出現導致過程的迭代或重復110的結束。進一步,作為初始化102的部分,數據集(例如,g1,...gi,...gM)被隨機地分入聚類(例如,k=k’聚類)。這里,每個g代表(數據集的)空間中的點或矢量,其中gM代表那個空間中的M點。雖然,在一個實施例中,t-檢驗計算106與k-均值聚類100一起使用,在計算的復雜性方面該算法的成本保持和標準k-均值聚類相同。例如,這里,M=數據庫的基數,k=聚類的數目,以及N=屬性的數目。在這種情況下,每一迭代成本=MkN,以及總成本(t次迭代)=O(tMkN),其中t代表迭代次數,O代表運算。
對于每個gi,gi=(Si1,...,SiN),N是樣本數。使用數據集,計算點和聚類之間的距離,從而最終確定點和最接近的聚類之間的距離。用皮爾遜(Pearson)相關系數(PCC)104計算點和聚類之間的距離。PCC104被用于度量兩個變量之間的線性關系的強度。換言之,PCC104被用于度量兩個輪廓(profile)之間的相似性和距離。在這種情況下,給定的點(例如,gi)是高維點,PCC104被用來計算點(gi)和均值聚類(Mc)之間的距離。不過,可以預期的是任何數量的度量方法都可被用來確定規定數據點和聚類之間距離的參數。其它度量方法的例子包括歐幾里得(Euclidean),歐幾里得平方(Euclidean Squared),曼哈頓(Manhattan),泊森平方(Person Squared),徹貝徹伏(Chebychev)和斯皮爾曼(Spearman)。
PCC距離的基本公式是d=1-r,其中r=z(x).z(y)/n是矢量x和y的z得分(z-score)的點積。x的z得分是通過從x減去它的平均值并用它的標準偏差去除而得到的構造。使用PCC104計算點(gi)和均值聚類(Mc)之間的距離(d)的方法如下d(gi,Mcj)=|1-ΣgiMcj-ΣgiΣMcjN(Σgi2-(Σgi)2N)(ΣMcj2-(ΣMcj)2N)|]]>
均值Mcj=1|cj|Σi=1|cj|gi,gi∈cj,|cj|]]>代表聚類cj中的元素的數目,其中j=1,...k一旦點(gi)和均值聚類(Mc)之間的距離被計算出來,這種信息然后就被用來計算與最近的聚類(例如,c)和它的均值(Mc)到點(gi)之間的距離,這通過計算該點和最近聚類之間的最小距離并使用t-檢驗計算106來確定。在圖2中進一步描述了T-檢驗計算106。如果點最接近自己的聚類并且與它成線性關系,則該點和聚類就保持原樣不動。如果該點最接近另一個聚類并與它成線性,則該點就被移入那個聚類。按照一個實施例,如果該點不和最接近的聚類成線性,那么該點被隔離,并且通過使用隔離機制114生成新的聚類。單個的新生成的聚類包括該隔離的點。例如,聚類可以從7個聚類(聚類的數目=7)開始,以8個聚類(聚類的數目=7+1)結束,其包括使用以t-檢驗計算106為基礎的隔離機制114新生成的聚類。
使用均值Mcj=1|cj|Σi=1|cj|gi,gi∈cj,|cj|,]]>更新均值聚類(Mc)108,代表聚類cj中的元素的數目。更新108是指在聚類構造發生變化(例如生成具有隔離點的新聚類)的時候,對均值聚類進行更新。一旦更新108完成,過程被重復110(例如,迭代繼續),直到誤差(ε)出現,在誤差(ε)出現的點上,k-均值聚類100停止112。誤差數值在初始化102時被賦值,然后當Error-new-Error-old<=ε的時候,該誤差值被用于停止112,其中ε是某個小常量, 如上所述,k和ε的數值是在初始化102時賦予的,但是按照一個實施例,當用使用t-檢驗計算106的k-均值聚類100的時候,k的數值與最終解答沒有關系。所以,最終結果是真實的,是未被破壞的。可以預期的是,許多軟件模塊102-106,114利用t-檢驗計算執行k-均值聚類的各部分和過程。可以預期的是,硬件、軟件或它們的結合,可以被用來執行k-均值聚類100。例如,初始化102,PCC計算104,t-檢驗計算106,隔離機制114,更新108,重復110和停止112,都可以通過各種模塊和部件來執行。
圖2是方塊圖,說明與參考圖1所述的k-均值聚類一起使用的t-檢驗計算的實施例。T-檢驗計算106通過接受點(gi)、均值聚類(Mc)和一個預定的顯著性水平(SL)的輸入而從初始狀態202開始啟動。SL代表顯著性水平的一個小的數值或計數,例如0.01或0.05,表示成顯著性水平的百分比,分別是1%或5%,顯著性水平用來確定該點和均值聚類之間的統計線性關系210。SL的小的數值代表假設檢驗中的第I類錯誤的概率。第I類錯誤是指當得出零(null)假設204是不成立的結論,而實際上它是真的時候所產生的錯誤。在一個實施例中,對于具有t-檢驗的K-均值,SL的數值可代表當得出該點和均值聚類之間存在統計顯著的線性相關的結論,而實際上不相關的時候,產生這種錯誤的概率。一旦執行初始化202,零假設204的公知的過程就被用作假設檢驗的基礎。這里,均值Mc=1|c|Σj=1|c|gi,gj∈c,|c|]]>是聚類c中的元素的數目,c是點gi的最接近的聚類。
零假設204從假設所說的點和均值聚類之間沒有統計顯著的線性相關性開始。因此,數學上,零假設是LinearCorrelation(gi,Mc)=0,其中SL是預定的顯著性水平。一旦假設不存在任何統計顯著的線性相關性,使用零假設204,然后執行PCC206以確定在點和均值聚類之間是否存在線性相關性(r)。這里,相關性(r)是使用PCC206如下確定的
r(gi,Mc)=ΣgiMc-ΣgiΣMcN(Σgi2-(Σgi)2N)(ΣMc2-(ΣMc)2N)]]>在一個實施例中,一旦使用PCC206計算相關性,就計算該相關性分布值(t),以便計算概率值(p值)208。p值可以和SL比較以確定統計線性關系210。t的數值被如下計算t=rSr=r1-r2N-2.]]>同樣地,公知的標準t表可被用于確定t的數值,然后利用N-2的靈活性程度從t的數值計算p值208。一旦p值被計算208,就與SL進行比較以確定所說的點和均值聚類之間的統計線性關系210。例如,如果p值小于或等于SL的值(例如,p值<=SL),則拒絕零假設204,并且找到所說點和均值聚類之間的統計線性關系210。
在一個實施例中,估計在群元素與該群的顯著性范圍以內的線性關系。如果元素與它的群有線性相關性,則這個元素就被聚類;否則,生成新的聚類,這是由于在手頭的當前的數據未必證明存在有顯著的線性關系。因此,在具有t-檢驗計算106的k-均值聚類中,有清楚的統計顯著性,按照具有聚類的顯著性其就是“真實聚類”。例如,k的數值代表與最終解答沒有任何關系的初始值,特別是,當不考慮局部優化問題的時候更是如此。即使在沒有任何初始分區(k’=1)的情況下,具有t-檢驗計算106的k-均值聚類也是真的,沒有受到k的數值的破壞。換言之,例如,當不考慮局部優化問題的時候,具有t-檢驗計算106的k-均值聚類的分區方法是真的,并且與初始化時設定的值無關。如參考圖1所述的,可以使用不同的模塊和部件來執行初始化202,零假設204,PCC206,p值計算208和統計線性關系確定210。
圖3是方塊圖,說明使用標準k-均值聚類的對比試驗300和使用t-檢驗計算的k-均值聚類的實施例的結果。對比試驗提供了對于兩個樣本微陣列(microarray)數據,使用t-檢驗計算308、318的k-均值聚類和標準k-均值310、320的對比結果。第一樣本數據包括結腸數據302。為了試驗的目的,結腸數據302是由在22個正常的結腸組織和40個癌結腸組織中使用Affymetrix寡核苷酸陣列的2000個基因的表達圖組成的(以前在http//www.molbio.princeton.edu/colondata上可以得到,現在在http//www.sph.uth.tmc.edu/hgc/dowloads.asp(Xiong等人,2001)上可得到)。第二個樣本數據包括酵母細胞周期數據312。酵母細胞周期數據312包括超過約兩個細胞周期的,包括在所有18個陣列中沒有遺漏數據的679個基因的,具有~6200ORF的釀酒酵母菌(SaccharomYcles Cerevisiae)的被監視的全基因組mRNA表達水平(http//cellcycle-www.stanford.edu上可得到)。根據聚類的兩個直觀的性質(例如,內在的內聚性和外部隔離),可以考慮包括內部相似性、相互相似性和內部相似性對相互相似性的比在內的幾個評價標準。
對于具有所產生的k個聚類的k-均值聚類,內部相似性、相互相似性和內部相似性對相互相似性的比,可以定義如下
按照內部相似性對于相互相似性的比進行比較,k是兩種k-均值所產生的聚類的數目。在k-均值聚類(包括標準k-均值和具有檢驗的k-均值)執行以后,執行并獲得內部相似性、相互相似性和兩種相似性的比的計算。換言之,一旦獲得k-均值聚類的結果,就計算所說的比以便正確地和公正地比較兩個結果以確定哪個結果是較好的、精確的和真實的。結腸數據302的k’的預定數值是1、5、10、50、100、500、1000、2000,分別用加在線308和310上的小方格和星號表示。酵母細胞周期數據312的k’的預定的數值是1、2、5、10、20、50、100、200、679,分別用加在線318、320上的小方格和星號表示。
如圖所示,x軸306、316是所產生的聚類數目(k),且x軸304、314代表內部相似性和相互相似性的比。較高的線308代表使用t-檢驗計算的k-均值聚類的結果,較低的線310代表在結腸數據曲線圖302上的標準k-均值的結果。關于酵母細胞周期數據曲線圖312,較高的線318代表使用t-檢驗計算的k-均值的結果,而較低的線320代表標準k-均值的結果。
在302和312兩種情況下,用線308、318表示的具有t-檢驗的k-均值結果比用線310、320表示的傳統k-均值的結果更好。參考結腸數據曲線圖302,在實際的每個k級306上,較高的線308比較低的線310表示有更好的比304。類似地,參考酵母細胞周期數據曲線圖312,在每個k級316上,較高的線318比較低的線320有更好的比314。這就表現出使用具有t-檢驗計算的k-均值聚類時的內在的內聚性和外部隔離的特性。例如,當k’=1,具有t-檢驗308、318的k-均值表現出高得多的比,如幾個小方格中的第一個所表示的,而在反方向上標準k-均值310、312表現出低得多的比,如許多星號中的第一個所表示的。因此,如上所述,通過這個對比試驗300表明,使用t-檢驗計算的k-均值聚類不依賴于中心的初始位置,并且即使沒有初始分區也能夠提供最好的性能和最終的解答。
圖4是流程圖,表示執行使用t-檢驗計算的k-均值聚類的過程的實施例。首先,在處理方塊402執行初始化。初始化過程包括,把數據集分區到k=k’個聚類中,每個聚類具有大致相同數量的數據點,并賦一個初始誤差值(ε)。在處理方塊404,計算每個數據點和聚類之間的距離。這樣的距離可以用皮爾遜相關系數計算。在一個實施例中,在決定方塊406,執行t-檢驗計算,并且確定數據點對于聚類是否是統計線性的。如果不是,則使用隔離機制,把這樣的點隔離,并放在在處理方塊408中新生成的聚類中。如果該數據點對于該聚類是線性的,則在決定方塊410,還要確定對于聚類是線性的數據點是否還是最接近于它的聚類的。
如果不是,則在處理方塊412,該點被移入最接近的聚類。如果該點對于聚類是線性的和最接近的,則在決定方塊414過程收斂。類似地,回過來參看處理方塊408、412,過程收斂于決定方塊414,在這里決定關于繼續進行利用t-檢驗計算的k-均值聚類。如果初始誤差值ε還沒有達到,聚類的迭代就在處理方塊404中繼續進行。如果初始誤差值達到了,過程在終止方塊416結束。
圖5是方塊圖,說明用于實現本發明的實施例的示范的計算機系統500。計算機系統(系統)包括一個或多個處理器502-506。處理器502-506可以包括一個或多個單線程或多線程處理器。典型的多線程處理器可以包括多個線程或邏輯處理器,能夠同時使用它的多個線程處理多個指令序列。處理器502-506還可以包括一個或多個內部等級的高速緩存器(未示出)和總線控制器或總線接口單元,以便指導與處理器總線512的交互作用。
處理器總線512也可稱為主總線或前端總線,它可以被用來把處理器502-506與系統接口514耦合起來。處理器總線512可以包括控制總線532,地址總線534和數據總線536。控制總線532,地址總線534和數據總線532可以是多分支雙向總線,例如是連接到三個或多個總線代理的總線,它與點對點總線不同,點對點總線僅可以在兩個總線代理之間連接。
系統接口514(或芯片組)可以連接到處理器總線512,以便把系統500的其它部件與處理器總線512連接起來。例如,系統接口514可以包括存儲器控制器518,用于接口主存儲器516與處理器總線512。主存儲器516典型地包括一個或多個存儲卡和控制電路(未示出)。系統接口514還可以包括輸入/輸出(I/O)接口520,以接口一個或多個I/O橋或I/O裝置與處理器總線512。例如,如圖所示,I/O接口520可以接口I/O橋524和處理器總線512。I/O橋524可以作為總線橋操作,以便在系統接口514和I/O總線526之間進行接口。一個或多個I/O控制器和/或I/O裝置可以與I/O總線526連接,例如,I/O控制器528和I/O裝置530,如圖所示。I/O總線526可以包括外圍部件互連(PCI)總線或其它型式的I/O總線。
系統500可能包括動態存儲裝置,稱為主存儲器516,或隨機存取存儲器(RAM)或耦合到處理器總線512的其它裝置,用于存儲處理器502-506所要執行的信息和指令。在處理器502-506執行指令期間,主存儲器516還可以用于存儲臨時變量或其它中間信息。系統500可以包括只讀存儲器(ROM)和/或耦合到處理器總線512的其它靜態存儲裝置,用來存儲處理器502-506的靜態信息和指令。
主存儲器516或動態存儲裝置可以包括磁盤或光盤,用以存儲信息和指令。I/O裝置530可以包括顯示裝置(未示出),例如是陰極射線管(CRT)或液晶顯示器(LCD),用于把信息顯示給終端用戶。例如,可以在顯示裝置上給預期的買主提供安裝狀態的圖形或文本指示,試驗周期中的剩余時間和其它信息。I/O裝置530還可以包括輸入裝置(未示出),例如是字母數字輸入裝置,它包括字母數字和其它鍵,用于把信息和/或命令選擇通信給處理器502-506。另外型式的用戶輸入裝置包括光標控制,例如鼠標器,跟蹤球,或光標方向鍵,用來把方向信息和命令選擇傳送給處理器502-506,并控制顯示裝置上的光標移動。
系統500還可包括通信裝置(未示出),例如調制解調器,網絡接口卡,或其它公知的接口裝置,例如那些用于耦合到以太網、令牌環的裝置或其它類型的物理附件裝置,為了提供通信鏈路以支持例如局域網或寬域網。換句話說,系統500可以通過傳統的網絡基礎結構,例如公司的內部網和/或因特網,與許多客戶和/或服務器耦合。
應當理解,對于某些實現,可期望比上述例子少些或多些裝備的系統。因此,系統500的配置可能從一種實現到另一種實現有所變化,這取決于許多因素,例如價格限制,性能要求,技術改進和/或其它情況。
應該注意,雖然這里所描述的實施例是在編程的處理器例如處理器502-506的控制下執行的,但是在可供選擇的實施例中,這些實施例可以全部地或部分地通過任何可編程序的或硬編碼的邏輯電路來實現,例如現場可編程的門陣列(FPGA),晶體管-晶體管邏輯電路(TTL),或專用集成電路(ASIC)。此外,本發明的實施例可以通過編程的通用計算機部件和/或定制的硬件部件的任何組合來執行。因此,這里所公開的,沒有任何東西可被解釋為是把本發明的各種實施例限制于特定的實施例,其中所述的實施例可以用硬件部件的具體組合來執行。
在一個實施例中,利用t-檢驗計算的k-均值聚類不僅提供了一個聚類隔離標準,而且也是以內部相關性的統計顯著性為基礎的。例如,如果在顯著性水平下,沒有證明一個點與最接近的聚類有線性相關性,該點就被隔離。該被隔離的點就作為新的單獨聚類出現,因為當前的數據集不能證明是否該點與空間存在的任何其它聚類有統計顯著的線性關系。另一方面,這個檢驗的低p值(例如,小于0.01)可能意味著有證據拒絕零假設而贊同備選的假設,或意味著在該點和它的最接近的聚類之間存在著統計顯著的關系。因此,使用t-檢驗提供每個點和它自己的聚類的均值具有統計顯著的關系。線性關系是可加成的,并且通過使用t-檢驗可以證明在同一聚類中的點與每個其它的點具有線性相關性。因此,t-檢驗對內在的內聚性提供相對清楚的統計說明。再者,這里的聚類不依賴于初始分區,并且即使無任何初始分區(例如,k’=1)它也可以獲得最好的性能和真實的解答。利用t-檢驗的k-均值的分區結果具有清楚的統計顯著性,并且它不只是聚類在一起的一串最接近的元素。一個群中的元素具有顯著的統計相關性,就是一個真實的聚類。
應該意識到,遍及本說明書的所謂“一個實施例”或者“實施例”意味著與該實施例相關而描述的特定的特征、結構或特性被包括在本發明的至少一個實施例中。因此,要強調和應該理解的是,在本說明書各個部分中兩次或多次引用的“實施例”或者“一個實施例”或者“備選的實施例”未必全都指的是同一個實施例。再者,在本發明的一個或多個實施例中如適合的話可將特定的特征、結構或特性組合在一起。
類似地,應該理解,在上面本發明的示范的實施例的描述中,為了簡化公開的內容,以便有助于理解發明的一個或多個不同的發明的方面,本發明的不同特征有時候聚合在它的單個的實施例、附圖或描述中。然而,這種公開方法,不能被解釋成反映了這樣一個發明,即要求保護的這個發明需要比每個權利要求所明確陳述的特征更多的特征。相反,如所附權利要求所反映的,發明的方面在于特征少于單個的前述所公開的實施例的全部特征。因此,在詳細描述之后的權利要求書由此而明確地被并入到這個詳細的描述之中,每個權利要求本身就作為本發明的一個單獨的實施例。
雖然在附圖中已經描述和示出了某些示范的實施例,要理解的是,這樣的實施例只是說明性的而不是限制性的,并且本發明的實施例不限于所示出的和描述的具體結構和安排,因為本領域的普通技術人員在研究了本公開后就可做出各種其它修改。
權利要求
1.一種方法,包括執行具有多個點的數據集的k-均值聚類,其中,所述執行k-均值聚類包括把所述數據集分區成多個聚類;確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;執行t-檢驗計算以確定所述點和所述聚類之間的統計線性關系;和如果所述點接近于所述聚類,并且如果所述點與所述聚類有統計線性關系,則保持所述數據集中所述點的當前位置。
2.如權利要求1所述的方法,還包括如果所述點不接近所述聚類,則把所述點移入最接近的聚類。
3.如權利要求1所述的方法,還包括如果所述點不接近所述聚類,并且所述點與所述聚類沒有統計線性關系,則生成新的聚類;以及把所述點移入所述新的聚類。
4.如權利要求3所述的方法,其中使用隔離機制執行所述新聚類的生成。
5.如權利要求1所述的方法,其中使用皮爾遜相關系數執行所述接近度的確定。
6.如權利要求1所述的方法,其中執行所述t-檢驗計算以確定統計線性關系還包括設定預定的顯著性值;使用t表和皮爾遜相關系數確定p值;以及通過比較所述p值和所述預定的顯著性值來確定所述統計線性關系,其中如果所述p值小于或等于所述預定的顯著性值,就找到了所述統計線性關系。
7.一種設備,包括存儲介質,它存儲指令組,以便使用t-檢驗計算執行k-均值聚類;以及與所述存儲介質耦合的處理器,所述處理器用于執行具有多個點的數據集的k-均值聚類,其中執行所述k-均值聚類包括把所述數據集分區成多個聚類,確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度,執行所述t-檢驗計算,以確定所述點和所述聚類之間的統計線性關系,以及如果所述點接近所述聚類,并且如果所述點與所述聚類有統計線性關系,則保持所述數據集中的所述點的當前位置。
8.如權利要求7所述的設備,其中如果所述點不接近所述聚類,則所述處理器就進一步把所述點移入最接近的聚類。
9.如權利要求7所述的設備,其中如果所述點不接近所述聚類,并且所述點與所述聚類沒有統計線性關系,則所述處理器就進一步生成新的聚類;并且把所述點移入所述新的聚類。
10.如權利要求9所述的設備,其中使用隔離機制執行所述新聚類的生成。
11.如權利要求7所述的設備,其中使用皮爾遜相關系數執行所述接近度的確定。
12.如權利要求7所述的設備,其中所述處理器還進行設定預定的顯著性值;使用t表和皮爾遜相關系數確定p值;以及通過把所述P值與預定的顯著性值進行比較來確定所述統計線性關系,其中如果所述p值小于或等于所述預定的顯著性值,則所述統計線性關系就被找到。
13.一種系統,包括k-均值模塊,用于執行具有多個點的數據集的k-均值聚類,其中所述k-均值聚類的執行包括把所述數據集分區成多個聚類;皮爾遜相關系數模塊,用于確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;t-檢驗模塊,用于執行t-檢驗計算以確定所述點和所述聚類之間的統計線性關系;和定位模塊,用于如果所述點與所述聚類接近,并且如果所述點與所述聚類具有統計線性關系,則保持數據集中的所述點的當前位置。
14.如權利要求13所述的系統,其中如果所述點不接近所述聚類,所述定位模塊就進一步把所述點移入最接近的聚類。
15.如權利要求13所述的系統,還包括隔離機制,用于如果所述點不接近于所述聚類,并且所述點與所述聚類沒有統計線性關系,則就生成新的聚類;并把所述點移入所述新的聚類。
16.如權利要求13所述的系統,其中所述t-檢驗模塊還進行設定預定的顯著性值;使用t表和皮爾遜相關系數確定p值;以及通過把所述P值和所述預定的顯著性值進行比較來確定所述統計線性關系,其中,如果所述p值小于或等于所述預定的顯著性值,則所述統計線性關系就被找到。
17.一種機器可讀介質,在它上面存儲有代表指令組的數據,當所述機器執行所述指令組的時候,使得所述機器執行如下操作對具有多個點的數據集執行k-均值聚類,其中所述k-均值聚類的執行包括把所述數據集分區成多個聚類;確定所述多個點中的一個點對于所述多個聚類中的一個聚類的接近度;執行t-檢驗計算以確定所述點與所述聚類之間的統計線性關系;和如果所述點接近于所述聚類,并且所述點與所述聚類具有統計線性關系,則保持所述數據集中的所述點的當前位置。
18.如權利要求17所述的機器可讀介質,其中當所述機器執行所述指令組的時候,如果所述點不和所述聚類接近,所述指令組還使所述機器把所述點移入到最接近的聚類。
19.如權利要求17所述的機器可讀介質,其中當所述機器執行所述指令組的時候,如果所述點不接近于所述聚類,并且所述點與所述聚類不具有統計線性關系,則所述指令組還使所述機器生成新的聚類;并把所述點移入所述新的聚類。
20.如權利要求19所述的機器可讀介質,其中使用隔離機制執行所述新聚類的生成。
21.如權利要求17所述的機器可讀介質,其中使用皮爾遜相關系數執行所述接近度的確定。
22.如權利要求17的機器可讀介質,其中所述指令組當其被所述機器執行的時候,還使所述機器設定預定的顯著性值;使用t表和皮爾遜相關系數確定p值;以及通過比較所述p值和所述預定的顯著性值來確定所述統計線性關系,其中如果所述p值小于或等于所述預定的顯著性值,則所述統計線性關系就被找到。
全文摘要
一種用于使用t-檢驗計算進行k-均值聚類的方法、設備和系統。按照一個實施例,k-均值聚類在數據集上執行。在執行k-均值聚類的時候,具有不同點的數據集被分區成幾個聚類。確定一個給定點對于一個給定聚類的緊密度。然后,執行t-檢驗計算以確定所述點與所述聚類之間的統計線性關系。如果接近于聚類的點被找到,并且所述點與所述聚類之間的統計線性關系也被找到,則所述點的位置就保持不動。
文檔編號G06F17/30GK1770161SQ20051011997
公開日2006年5月10日 申請日期2005年9月28日 優先權日2004年9月29日
發明者Q·刁 申請人:英特爾公司