數(shù)據(jù)聚類方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)聚類方法和裝置,其中,該方法包括:重復執(zhí)行以下步驟直到完成對待聚類的樣本集合中的所有樣本的聚類:根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合;第二樣本集合中的每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件;并行對第一樣本集合中的每個成員和/或第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成聚類操作后形成一個樣本集合;根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新。本發(fā)明解決了傳統(tǒng)聚類過程中運行速度慢的技術(shù)問題,達到了降低復雜度,提高運行速度的技術(shù)效果。
【專利說明】數(shù)據(jù)聚類方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,具體而言,涉及一種數(shù)據(jù)聚類方法和裝置。
【背景技術(shù)】
[0002]聚類是一種數(shù)據(jù)集合的劃分方法,其主要過程是根據(jù)一定的相似性或距離計算函數(shù)按照距離相近的樣本劃分到相同的類中,而距離較遠的樣本劃分到不同的類中的原則自動地將數(shù)據(jù)集分成若干類(簇)。由于聚類是一種無指導的學習方法,無需耗費大量的人力、物力,因此自動聚類技術(shù)已成為最有效的信息處理手段之一。
[0003]雖然聚類的用途很廣泛,但傳統(tǒng)的層次聚類算法的時間復雜度和空間復雜度高,對于大規(guī)模聚類問題運行速度慢,并對硬件的要求很高,需要用到服務(wù)器,無法在PC機上完成。傳統(tǒng)的層次聚類算法,分為基于矩陣和基于優(yōu)先隊列兩種,其相對最簡單的單鏈接層次聚類的時間復雜度都分別達到了 0(n3)和0(n2log η),二者的空間復雜度為O (η2)。由此可見,傳統(tǒng)的層次聚類算法的時間復雜度和空間復雜度都比較高,對于大規(guī)模聚類問題,特別是在通用的PC計算機上很難完成。目前,有一些處理大規(guī)模數(shù)據(jù)聚類的方法,如⑶RE和CURD,但算法過于復雜,需要預先對樣本數(shù)據(jù)進行復雜分析,不適合在PC計算機上實現(xiàn)大規(guī)模數(shù)據(jù)聚類。
[0004]因此,從理論上和實用上的需求出發(fā),研制一種面向普通PC計算機的大規(guī)模數(shù)據(jù)的層次聚類算法成為了急需解決的新課題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種數(shù)據(jù)聚類方法和裝置,以至少解決傳統(tǒng)聚類過程中運行速度慢的技術(shù)問題。
[0006]根據(jù)本發(fā)明實施例的一個方面,提供了一種數(shù)據(jù)聚類方法,包括:重復執(zhí)行以下步驟直到完成對待聚類的樣本集合中的所有樣本的聚類,其中,當前待聚類樣本集合的初始值為待聚類的樣本集合中的每個樣本:根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合,其中,第一樣本集合和第二樣本集合中的每個成員包含以下至少之一:樣本、樣本集合,其中,樣本集合包括多個樣本,第一樣本集合中的每個成員各自形成一個階梯簇;第二樣本集合中的每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件;并行對第一樣本集合中的每個成員和/或第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成聚類操作后形成一個樣本集合;根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新。
[0007]作為一種可選的方案,在重復執(zhí)行步驟直到完成對待聚類的樣本集合中的所有樣本的聚類之前,還包括:獲取待聚類的樣本集合中的每兩個樣本之間的距離;按照距離的大小對待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成樣本距離排序關(guān)系O[0008]作為一種可選的方案,根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合包括:若當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第一樣本集合中的一個成員:當前待聚類樣本集合中的多個成員按照樣本距離排序關(guān)系中記錄的排序順序依次滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0009]作為一種可選的方案,根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第二樣本集合包括:若當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第二樣本集合中的一個成員:當前待聚類樣本集合中的相鄰兩個成員之間滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0010]作為一種可選的方案,根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新包括:將當前待聚類樣本集合中的成員更新為聚類操作所得到的樣本集合;或者將當前待聚類樣本集合中除未參與聚類操作的成員之外的成員更新為聚類操作所得到的樣本集合,并在更新后的當前待聚類樣本集合中保留未參與聚類操作的成員。
[0011]作為一種可選的方案,其特征在于,聚類條件包括以下至少之一:樣本與樣本之間的距離滿足第一預定閾值;樣本與樣本集合之間的距離滿足第二預定閾值;樣本集合與樣本集合之間的距離滿足第三預定閾值。
[0012]作為一種可選的方案,距離包括以下至少之一:最近距離,最遠距離。
[0013]根據(jù)本發(fā)明實施例的另一方面,還提供了一種數(shù)據(jù)聚類裝置,包括:查找單元,用于根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合,其中,第一樣本集合和第二樣本集合中的每個成員包含以下至少之一:樣本、樣本集合,其中,樣本集合包括多個樣本,第一樣本集合中的每個成員各自形成一個階梯簇;第二樣本集合中的每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件;聚類單元,用于并行對第一樣本集合中的每個成員和/或第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成聚類操作后形成一個樣本集合;更新單元,用于根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新;判斷單元,用于判斷是否完成對待聚類的樣本集合中的所有樣本的聚類,若未完成對待聚類的樣本集合中的所有樣本的聚類,則通知查找單元執(zhí)行查找的操作,通知聚類單元執(zhí)行聚類的操作以及通知更新單元執(zhí)行更新的操作,其中,當前待聚類樣本集合的初始值為待聚類的樣本集合中的每個樣本。
[0014]作為一種可選的方案,該裝置還包括:獲取單元,用于在根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合之前,獲取待聚類的樣本集合中的每兩個樣本之間的距離;排序單元,用于按照距離的大小對待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成樣本距離排序關(guān)系。
[0015]作為一種可選的方案,查找單元包括:第一查找模塊,用于若當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第一樣本集合中的一個成員:當前待聚類樣本集合中的多個成員按照樣本距離排序關(guān)系中記錄的排序順序依次滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0016]作為一種可選的方案,查找單元還包括:第二查找模塊,用于若當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第二樣本集合中的一個成員:當前待聚類樣本集合中的相鄰兩個成員之間滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0017]作為一種可選的方案,更新單元包括:第一更新模塊,用于將當前待聚類樣本集合中的成員更新為聚類操作所得到的樣本集合;或者第二更新模塊,用于將當前待聚類樣本集合中除未參與聚類操作的成員之外的成員更新為聚類操作所得到的樣本集合,并在更新后的當前待聚類樣本集合中保留未參與聚類操作的成員。
[0018]在本發(fā)明實施例中,采用階梯簇優(yōu)先合并的方式,通過將大規(guī)模樣本數(shù)據(jù)分類,得到階梯簇,使其優(yōu)先合并,達到了降低復雜度的目的,從而實現(xiàn)了提高運行速度的技術(shù)效果,進而解決了傳統(tǒng)聚類過程中運行速度慢的技術(shù)問題。
【專利附圖】
【附圖說明】
[0019]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0020]圖1是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)聚類方法的流程圖;
[0021]圖2是根據(jù)本發(fā)明實施例的另一種可選的數(shù)據(jù)聚類方法的流程圖;
[0022]圖3是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)聚類方法的示意圖;
[0023]圖4是根據(jù)本發(fā)明實施例的另一種可選的數(shù)據(jù)聚類方法的示意圖;
[0024]圖5是根據(jù)本發(fā)明實施例的又一種可選的數(shù)據(jù)聚類方法的示意圖;
[0025]圖6是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)聚類裝置的示意圖;
[0026]圖7是根據(jù)本發(fā)明實施例的另一種可選的數(shù)據(jù)聚類裝置的示意圖;
[0027]圖8是根據(jù)本發(fā)明實施例的又一種可選的數(shù)據(jù)聚類裝置的示意圖;
[0028]圖9是根據(jù)本發(fā)明實施例的又一種可選的數(shù)據(jù)聚類裝置的示意圖;以及,
[0029]圖10是根據(jù)本發(fā)明實施例的又一種可選的數(shù)據(jù)聚類裝置的示意圖。
【具體實施方式】
[0030]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0031]實施例1
[0032]根據(jù)本發(fā)明實施例,提供了一種數(shù)據(jù)聚類的方法,如圖1所示,該方法包括:
[0033]S102,根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合;
[0034]可選地,在本實施例中第一樣本集合和第二樣本集合中的每個成員包含但不限于以下至少之一:樣本、樣本集合,其中,樣本集合包括多個樣本。
[0035]可選地,在本實施例中第一樣本集合中的每個成員各自形成一個階梯簇;第二樣本集合中的每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件;
[0036]可選地,在本實施例中階梯簇包括但不限于:待聚類的兩個樣本成員中至少一個是由單一樣本構(gòu)成。
[0037]進一步說明,對所有待聚類樣本根據(jù)樣本距離排序關(guān)系進行查找,結(jié)合圖3中①所示,待聚類樣本按照樣本距離排序后得到如圖所示的關(guān)系,其中,每個成員各自形成一個階梯簇的作為第一樣本集合;每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件的作為第二樣本集合。
[0038]例如,結(jié)合圖待聚類樣本3中①所示,待聚類樣本有21個,有3個階梯簇形成的第一樣本集合,其余包括:4個第二樣本集合及I個未參與聚類的樣本成員。
[0039]可選地,在本實施例中,所滿足的聚類條件包括但不限于:樣本距離滿足預定閾值條件。
[0040]S104,并行對第一樣本集合中的每個成員和/或第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成聚類操作后形成一個樣本集合;
[0041]可選地,將待聚類樣本的成員根據(jù)已查找到的所屬集合進行聚類,形成第一樣本集合及第二樣本集合。
[0042]進一步說明,結(jié)合圖3中①-②所示,待聚類樣本成員中的階梯簇聚類形成第一樣本集合,待聚類樣本成員中滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件的樣本聚類形成第二樣本集合。
[0043]S106,根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新;
[0044]可選地,將聚類后的樣本集合作為新的待聚類樣本成員,更新待聚類樣本成員間樣本距離的排序關(guān)系。
[0045]進一步說明,結(jié)合圖3中②所示,完成一次聚類后,初始樣本所構(gòu)成的樣本集合將作為新的待聚類樣本成員,例如,結(jié)合圖3中②所示,21個樣本聚類后更新得到8個新的待聚類樣本成員。然后對新的待聚類樣本成員的排序關(guān)系進行更新,得到如圖3中②所示的排序關(guān)系。
[0046]S108,判斷是否完成對待聚類的樣本集合中的所有樣本的聚類。
[0047]可選地,判斷更新后的樣本集合是否完成對所有樣本的聚類,若未完成,則重復上述步驟,執(zhí)行步驟S102 ;若完成,則執(zhí)行預定的后續(xù)操作,本實施例對上述后續(xù)操作不做限定,可以根據(jù)不同的需求執(zhí)行不同的后續(xù)操作,例如,利用聚類后的樣本或樣本集合執(zhí)行不同的操作。
[0048]通過本申請?zhí)峁┑膶嵤├?,利用階梯簇一次合并大量樣本的優(yōu)勢,大幅度提高聚類效率。
[0049]作為一種可選的方案,如圖2所示,在重復執(zhí)行步驟直到完成對待聚類的樣本集合中的所有樣本的聚類之前,還包括:
[0050]S202,獲取待聚類的樣本集合中的每兩個樣本之間的距離;
[0051]例如,結(jié)合圖4所示,待聚類樣本包括:A、B、C、D。其中,每兩個樣本之間的距離包括:AB,AC, AD, BC, BD, CD。
[0052]S204,按照距離的大小對待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成樣本距離排序關(guān)系。
[0053]例如,結(jié)合圖4所示,待聚類的樣本中包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB〈BC〈AD〈BD〈AC,則得到如圖4所示的有序序列。[0054]通過本申請?zhí)峁┑膶嵤├瑢Υ垲悩颖境蓡T進行排序,得到有序序列,利用其線性特點,在每次迭代過程中,可以一次合并生成所有階梯簇,從而顯著減少迭代次數(shù)和每次迭代的樣本數(shù),提高聚類效率。
[0055]作為一種可選的方案,根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合包括:若當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第一樣本集合中的一個成員:當前待聚類樣本集合中的多個成員按照樣本距離排序關(guān)系中記錄的排序順序依次滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0056]可選地,在本實施例中當前待聚類樣本集合中的多個成員滿足的條件包括但不限于:樣本距離關(guān)系為最近距離、樣本距離關(guān)系為最遠距離。
[0057]基于不同的判斷條件,本實施例提供了兩種優(yōu)選的實施方式來實現(xiàn)查找。
[0058]作為一種優(yōu)選的實施方式,以樣本距離關(guān)系為最近距離作為當前待聚類樣本成員聚類的條件,結(jié)合圖4所示,待聚類樣本成員包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB<BC<AD<BD<AC。其中,AB間的距離最短,因此作為第一個樣本對進行聚類的合并,合并后生成新簇A&B。AB合并后,比較剩余待聚類樣本成員與新簇A&B的距離關(guān)系,因為以最近距離為聚類原則,查找得到第二相近的距離為BC的距離,因此將BC的距離作為待聚類樣本成員C與新簇A&B的距離,根據(jù)有序序列排序關(guān)系將階梯簇A&B&C中的A、B、C作為第一樣本集合的樣本成員。
[0059]作為另一種優(yōu)選的實施方式,以樣本距離關(guān)系為最遠距離作為當前待聚類樣本成員聚類的條件,結(jié)合圖5所示,待聚類樣本成員包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB<BC<AD<BD<AC。其中,AB間的距離最短,因此作為第一個樣本對進行聚類的合并,合并后生成新簇A&B。AB合并后,比較剩余待聚類樣本成員與A、B的距離關(guān)系,因為以最遠距離為聚類原則,查找得到第二相近的距離為BC的距離,但并不能決定C與新 簇A&B的合并,還需要AC關(guān)系才能決定,而圖中在BC關(guān)系之后分別為D到A或B的關(guān)系,查找得到待聚類樣本成員C與新簇A&B的距離為較遠的AC,待聚類樣本成員D與新簇A&B的距離為較遠的BD,根據(jù)如圖所示的有序序列可知:BD〈AC,則將階梯簇Α&Β&?中的A、B、D作為第一樣本集合的樣本成員。
[0060]可選地,假設(shè)兩個待聚類樣本集合成員包括P和Q,其中P包含的樣本數(shù)量為num(P),Q包含樣本的數(shù)量為num(Q),則P與Q間最后一個排序關(guān)系是對象P和Q中所包含樣本間所有關(guān)系排名在num(P)*num(Q)的關(guān)系,因此當對排序關(guān)系進行掃描時還需通過記錄兩個待聚類樣本成員間的關(guān)系數(shù)量完成聚類合并。
[0061]通過本申請?zhí)峁┑膶嵤├?,通過使有序排列的多個待聚類樣本成員按照一定條件一次性聚類合并成階梯簇,從而減少迭代次數(shù)提高了聚類效率。
[0062]作為一種可選的方案,根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第二樣本集合包括:若當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第二樣本集合中的一個成員:當前待聚類樣本集合中的相鄰兩個成員之間滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0063]可選地,在本實施例中當前待聚類樣本集合中的相鄰兩個成員滿足的條件包括但不限于:樣本距離關(guān)系為最近距離、樣本距離關(guān)系為最遠距離。[0064]進一步說明,結(jié)合圖3所示,在聚類的過程中某些待聚類樣本成員的合并不會影響其它成員的聚類合并,并且它們之間的關(guān)系排序是小于其余待聚類樣本成員的距離,因此應(yīng)該通過有序排列的距離關(guān)系將相鄰兩個待聚類樣本成員聚類合并。例如,當前待聚類樣本集合中的相鄰兩個成員A與B之間距離關(guān)系為最近距離,且AB的聚類并不會影響其它待聚類樣本成員的聚類合并,則將上述相鄰兩個樣本成員A與B作為第二樣本集合中的一個成員。
[0065]通過本申請?zhí)峁┑膶嵤├?,根?jù)有序序列使相鄰兩個待聚類樣本成員按照一定條件一次性聚類合并,從而減少迭代次數(shù)提高了聚類效率。
[0066]作為一個可選的方案,根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新包括兩種可選的方式:
[0067]作為一種可選的方式,將當前待聚類樣本集合中的成員更新為聚類操作所得到的樣本集合;
[0068]可選地,完成一次迭代后,將待聚類樣本成員更新為完成聚類操作所得到得新的待聚類樣本成員。例如,結(jié)合圖3中②-③所示,待聚類樣本成員為如圖3中②所示8個,完成一次迭代后,如圖3中③所示,得到新的待聚類樣本為3個。
[0069]作為另一種可選的方式,將當前待聚類樣本集合中除未參與聚類操作的成員之外的成員更新為聚類操作所得到的樣本集合,并在更新后的當前待聚類樣本集合中保留未參與聚類操作的成員。
[0070]可選地,完成一次迭代后,將參與聚類操作的待聚類樣本成員更新為完成聚類操作所得到的樣本集合,并將未參與迭代的樣本成員保留在新的待聚類樣本成員中。例如,結(jié)合圖3中①-②所示,滿足階梯簇的聚類條件或滿足相鄰兩樣本聚類條件的,將完成聚類操作后的樣本集合作為新的待聚類樣本成員,不滿足條件而未參與聚類的孤立樣本將直接保留作為新的待聚類樣本成員。
[0071]例如,如①所示,初始的21個待聚類樣本,更新為如②所示的8個新的待聚類樣本,將滿足階梯簇的聚類條件或滿足相鄰兩樣本聚類條件的,更新為完成聚類操作后的新的待聚類樣本成員,未參與聚類的孤立樣本直接保留作為新的待聚類樣本成員。
[0072]基于上述兩種可選的方式,可以利用計數(shù)器的十字鏈表的方法實現(xiàn)聚類,對計數(shù)器的操作主要由插入,修改、刪除和更新操作。每次掃描新的距離關(guān)系時判斷其是否在計數(shù)器中存在,如果不存在則需要插入響應(yīng)節(jié)點,并且計數(shù)器的數(shù)值初始設(shè)為1,如果存在則響應(yīng)計數(shù)器的數(shù)值加I。但計數(shù)器的數(shù)值達到更新操作時,則需對計數(shù)器進行修改,將合并的兩個樣本集合相應(yīng)的鏈表進行合并,并刪除當前合并兩個樣本集合之間的記錄。
[0073]通過本申請?zhí)峁┑膶嵤├?,將完成聚類后的待聚類樣本成員進行更新,便于完成多次重復迭代,提高了聚類效率。
[0074]作為一種可選的方案,聚類條件包括以下至少之一:樣本與樣本之間的距離滿足第一預定閾值;樣本與樣本集合之間的距離滿足第二預定閾值;樣本集合與樣本集合之間的距離滿足第三預定閾值。
[0075]可選地,在本實施例中第一預定閾值,第二預定閾值,第三預定閾值包括但不限于以下至少之一:最近距離、最遠距離、平均距離。
[0076]通過本申請?zhí)峁┑膶嵤├?,根?jù)預定閾值判斷樣本成員間距離是否符合條件,進而實現(xiàn)待聚類樣本成員地高效聚類。
[0077]本發(fā)明提供了一種優(yōu)選的實施例來進一步對本發(fā)明進行解釋,但是值得注意的是,該優(yōu)選實施例只是為了更好的描述本發(fā)明,并不構(gòu)成對本發(fā)明不當?shù)南薅ā?br>
[0078]實施例2
[0079]根據(jù)本發(fā)明實施例,還提供了一種數(shù)據(jù)聚類裝置,如圖6所示,本實施例中的數(shù)據(jù)聚類裝置包括:
[0080](I)查找單元602,用于根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合;
[0081]可選地,在本實施例中第一樣本集合和第二樣本集合中的每個成員包含但不限于以下至少之一:樣本、樣本集合,其中,樣本集合包括多個樣本。
[0082]可選地,在本實施例中第一樣本集合中的每個成員各自形成一個階梯簇;第二樣本集合中的每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件;
[0083]可選地,在本實施例中階梯簇包括但不限于:待聚類的兩個樣本成員中至少一個是由單一樣本構(gòu)成。
[0084]進一步說明,對所有待聚類樣本根據(jù)樣本距離排序關(guān)系進行查找,結(jié)合圖3中①所示,待聚類樣本按照樣本距離排序后得到如圖所示的關(guān)系,其中,每個成員各自形成一個階梯簇的作為第一樣本集合;每個成員自身滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件的作為第二樣本集合。
[0085]例如,結(jié)合圖待聚類樣本3中①所示,待聚類樣本有21個,有3個階梯簇形成的第一樣本集合,其余包括:第二樣本集合及未參與聚類的樣本成員。
[0086]可選地,在本實施例中,所滿足的聚類條件包括但不限于:樣本距離滿足預定閾值條件。
[0087](2)聚類單元604,用于并行對第一樣本集合中的每個成員和/或第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成聚類操作后形成一個樣本集合;
[0088]可選地,將待聚類樣本的成員根據(jù)已查找到的所屬集合進行聚類,形成第一樣本集合及第二樣本集合。
[0089]進一步說明,結(jié)合圖3中①-②所示,待聚類樣本成員中的階梯簇聚類形成第一樣本集合,待聚類樣本成員中滿足聚類條件,但與第二樣本集合中的其他成員或者與第一樣本集合中的成員之間不滿足聚類條件的樣本聚類形成第二樣本集合。
[0090](3)更新單元606,用于根據(jù)聚類操作所得到的樣本集合對當前待聚類樣本集合中的成員進行更新。
[0091]可選地,將聚類后的樣本集合作為新的待聚類樣本成員,更新待聚類樣本成員間樣本距離的排序關(guān)系。
[0092]進一步說明,結(jié)合圖3中②所示,完成一次聚類后,初始樣本所構(gòu)成的樣本集合將作為新的待聚類樣本成員,例如,結(jié)合圖3中②所示,21個樣本聚類后更新得到8個新的待聚類樣本成員。然后對新的待聚類樣本成員的排序關(guān)系進行更新,得到如圖3中②所示的排序關(guān)系。
[0093](4)判斷單元608,用于判斷是否完成對待聚類的樣本集合中的所有樣本的聚類,若未完成對待聚類的樣本集合中的所有樣本的聚類,則通知查找單元執(zhí)行查找的操作,通知聚類單元執(zhí)行聚類的操作以及通知更新單元執(zhí)行更新的操作,其中,當前待聚類樣本集合的初始值為待聚類的樣本集合中的每個樣本。
[0094]可選地,判斷更新后的樣本集合,是否完成對所有樣本的聚類,若未完成,則重復上述步驟,執(zhí)行步驟S102 ;若判斷單元608判斷出完成對待聚類的樣本集合中的所有樣本的聚類完成,則執(zhí)行預定的后續(xù)操作,本實施例對上述后續(xù)操作不做限定,可以根據(jù)不同的需求執(zhí)行不同的后續(xù)操作,例如,利用聚類后的樣本或樣本集合執(zhí)行不同的操作。
[0095]通過本申請?zhí)峁┑膶嵤├?,利用階梯簇一次合并大量樣本的優(yōu)勢,大幅度提高聚類效率。
[0096]作為一種可選的方案,如圖7所示,本實施例中的數(shù)據(jù)聚類裝置還包括:
[0097](I)獲取單元702,用于在根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合之前,獲取待聚類的樣本集合中的每兩個樣本之間的距離;
[0098]例如,結(jié)合圖4所示,待聚類樣本包括:A、B、C、D。其中,每兩個樣本之間的距離包括:AB,AC, AD, BC, BD, CD。
[0099](2)排序單元704,用于按照距離的大小對待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成樣本距離排序關(guān)系。
[0100]例如,結(jié)合圖4所示,待聚類的樣本中包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB〈BC〈AD〈BD〈AC,則得到如圖4所示的有序序列。
[0101]通過本申請?zhí)峁┑膶嵤├瑢Υ垲悩颖境蓡T進行排序,得到有序序列,利用其線性特點,在每次迭代過程中,可以一次合并生成所有階梯簇,從而顯著減少迭代次數(shù)和每次迭代的樣本數(shù),提高聚類效率。
[0102]作為一種可選的方案,如圖8所示,上述查找單元602包括:
[0103](I)第一查找模塊802,用于若當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第一樣本集合中的一個成員:當前待聚類樣本集合中的多個成員按照樣本距離排序關(guān)系中記錄的排序順序依次滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0104]可選地,在本實施例中當前待聚類樣本集合中的多個成員滿足的條件包括但不限于:樣本距離關(guān)系為最近距離、樣本距離關(guān)系為最遠距離、樣本距離關(guān)系的平均距離。
[0105]基于不同的判斷條件,本實施例提供了兩種優(yōu)選的實施方式來實現(xiàn)查找。
[0106]作為一種優(yōu)選的實施方式,以樣本距離關(guān)系為最近距離作為當前待聚類樣本成員聚類的條件,結(jié)合圖4所示,待聚類樣本成員包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB<BC<AD<BD<AC。其中,AB間的距離最短,因此作為第一個樣本對進行聚類的合并,合并后生成新簇A&B。AB合并后,比較剩余待聚類樣本成員與新簇A&B的距離關(guān)系,因為以最近距離為聚類原則,查找得到第二相近的距離為BC的距離,因此將BC的距離作為待聚類樣本成員C與新簇A&B的距離,根據(jù)有序序列排序關(guān)系將階梯簇A&B&C中的A、B、C作為第一樣本集合的樣本成員。
[0107]作為另一種優(yōu)選的實施方式,以樣本距離關(guān)系為最遠距離作為當前待聚類樣本成員聚類的條件,結(jié)合圖5所示,待聚類樣本成員包括:A、B、C、D,其距離關(guān)系如圖所示,每兩個樣本形成的樣本對的排序關(guān)系從小到大依次為:AB<BC<AD<BD<AC。其中,AB間的距離最短,因此作為第一個樣本對進行聚類的合并,合并后生成新簇A&B。AB合并后,比較剩余待聚類樣本成員與A、B的距離關(guān)系,因為以最遠距離為聚類原則,查找得到第二相近的距離為BC的距離,但并不能決定C與新簇A&B的合并,還需要AC關(guān)系才能決定,而圖中在BC關(guān)系之后分別為D到A或B的關(guān)系,查找得到待聚類樣本成員C與新簇A&B的距離為較遠的AC,待聚類樣本成員D與新簇A&B的距離為較遠的BD,根據(jù)如圖所示的有序序列可知:BD〈AC,則將階梯簇Α&Β&?中的A、B、D作為第一樣本集合的樣本成員。
[0108]可選地,假設(shè)兩個待聚類樣本集合成員包括P和Q,其中P包含的樣本數(shù)量為num(P),Q包含樣本的數(shù)量為num(Q),則P與Q間最后一個是則是對象P和Q中所包含樣本間所有關(guān)系排名在num(P)*num(Q)的關(guān)系,因此當對排序關(guān)系進行掃描時還需通過記錄兩個待聚類樣本成員間的關(guān)系數(shù)量完成聚類合并。
[0109]通過本申請?zhí)峁┑膶嵤├?,通過使有序排列的多個待聚類樣本成員按照一定條件一次性聚類合并成階梯簇,從而減少迭代次數(shù)提高了聚類效率。
[0110]作為一種可選的方案,如圖9所示,上述查找單元602還包括:
[0111](1)第二查找模塊902,用于若當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足以下條件的多個成員記錄為第二樣本集合中的一個成員:當前待聚類樣本集合中的相鄰兩個成員之間滿足聚類條件,且與當前待聚類樣本集合中的其他成員不滿足聚類條件。
[0112]可選地,在本實施例中當前待聚類樣本集合中的相鄰兩個成員滿足的條件包括但不限于:樣本距離關(guān)系為最近距離、樣本距離關(guān)系為最遠距離、樣本距離關(guān)系的平均距離。
[0113]進一步說明,結(jié)合圖3所示,在聚類的過程中某些待聚類樣本成員的合并不會影響其它成員的聚類合并,并且它們之間的關(guān)系排序是小于其余待聚類樣本成員的距離,因此應(yīng)該通過有序排列的距離關(guān)系將相鄰兩個待聚類樣本成員聚類合并。例如,當前待聚類樣本集合中的相鄰兩個成員A與B之間距離關(guān)系為最近距離,且AB的聚類并不會影響其它待聚類樣本成員的聚類合并,則將上述相鄰兩個樣本成員A與B作為第二樣本集合中的一個成員。
[0114]通過本申請?zhí)峁┑膶嵤├?,根?jù)有序序列使相鄰兩個待聚類樣本成員按照一定條件一次性聚類合并,從而減少迭代次數(shù)提高了聚類效率。
[0115]作為一種可選的方案,如圖10所示,上述更新單元606包括:
[0116](1)第一更新模塊1002,用于將當前待聚類樣本集合中的成員更新為聚類操作所得到的樣本集合;
[0117]可選地,完成一次迭代后,將待聚類樣本成員更新為完成聚類操作所得到得新的待聚類樣本成員。例如,結(jié)合圖3中①-③所示,初始待聚類樣本成員為如圖3中①所示21個,完成一次迭代后,如圖3中②所示,得到新的待聚類樣本為8個。
[0118](2)第二更新模塊1004,用于將當前待聚類樣本集合中除未參與聚類操作的成員之外的成員更新為聚類操作所得到的樣本集合,并在更新后的當前待聚類樣本集合中保留未參與聚類操作的成員。
[0119]可選地,完成一次迭代后,將參與聚類操作的待聚類樣本成員更新為完成聚類操作所得到的樣本集合,并將未參與迭代的樣本成員保留在新的待聚類樣本成員中。例如,結(jié)合圖3中①-②所示,滿足階梯簇的聚類條件或滿足相鄰兩樣本聚類條件的,將完成聚類操作后的樣本集合作為新的待聚類樣本成員,不滿足條件而未參與聚類的孤立樣本將保留直接作為新的待聚類樣本成員。
[0120]基于上述兩種可選的方式,可以利用計數(shù)器的十字鏈表的方法實現(xiàn)聚類,對計數(shù)器的操作主要由插入,修改、刪除和更新操作。每次掃描新的距離關(guān)系時判斷其是否在計數(shù)器中存在,如果不存在則需要插入響應(yīng)節(jié)點,并且計數(shù)器的數(shù)值初始設(shè)為1,如果存在則響應(yīng)計數(shù)器的數(shù)值加I。但計數(shù)器的數(shù)值達到更新操作時,則需對計數(shù)器進行修改,將合并的兩個樣本集合相應(yīng)的鏈表進行合并,并刪除當前合并兩個樣本集合之間的記錄。
[0121]通過本申請?zhí)峁┑膶嵤├?,將完成聚類后的待聚類樣本成員進行更新,便于完成多次重復迭代,提高了聚類效率。
[0122]本發(fā)明提供了一種優(yōu)選的實施例來進一步對本發(fā)明進行解釋,但是值得注意的是,該優(yōu)選實施例只是為了更好的描述本發(fā)明,并不構(gòu)成對本發(fā)明不當?shù)南薅ā?br>
[0123]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果:
[0124](I)不需要對樣本進行復雜的預分析處理,利用有序序列的線性有序特點,在每次迭代過程中,可以一次性合并生成所有階梯簇,從而顯著減少迭代次數(shù)和每次迭代的樣本數(shù),提高聚類效率,使算法的時間復雜度降低。
[0125](2)本算法的聚類過程實際上主要是對有序序列的順序掃描過程,因此對于大規(guī)模層次聚類問題,即使有序序列存放在外存中,也能高效地實現(xiàn)內(nèi)存和外存的數(shù)據(jù)交換,在PC計算機上完成較大規(guī)模的層次聚類問題。
[0126]以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)聚類方法,其特征在于,包括:重復執(zhí)行以下步驟直到完成對待聚類的樣本集合中的所有樣本的聚類,其中,當前待聚類樣本集合的初始值為所述待聚類的樣本集合中的每個樣本: 根據(jù)樣本距離排序關(guān)系在所述當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合,其中,所述第一樣本集合和所述第二樣本集合中的每個成員包含以下至少之一:樣本、樣本集合,其中,所述樣本集合包括多個樣本,所述第一樣本集合中的每個成員各自形成一個階梯簇;所述第二樣本集合中的每個成員自身滿足聚類條件,但與所述第二樣本集合中的其他成員或者與所述第一樣本集合中的成員之間不滿足所述聚類條件; 并行對所述第一樣本集合中的每個成員和/或所述第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成所述聚類操作后形成一個樣本集合; 根據(jù)所述聚類操作所得到的樣本集合對所述當前待聚類樣本集合中的成員進行更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在重復執(zhí)行所述步驟直到完成對待聚類的樣本集合中的所有樣本的聚類之前,還包括: 獲取所述待聚類的樣本集合中的每兩個樣本之間的距離; 按照所述距離的大小對所述待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成所述樣本距離排序關(guān)系。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)樣本距離排序關(guān)系在所述當前待聚類樣本集合中查找第一樣本集合包括: 若所述當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足所述以下條件的所述多個成員記錄為所述第一樣本集合中的一個成員:所述當前待聚類樣本集合中的所述多個成員按照所述樣本距離排序`關(guān)系中記錄的排序順序依次滿足所述聚類條件,且與所述當前待聚類樣本集合中的其他成員不滿足所述聚類條件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)樣本距離排序關(guān)系在所述當前待聚類樣本集合中查找第二樣本集合包括: 若所述當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足所述以下條件的多個成員記錄為所述第二樣本集合中的一個成員:所述當前待聚類樣本集合中的所述相鄰兩個成員之間滿足所述聚類條件,且與所述當前待聚類樣本集合中的其他成員不滿足所述聚類條件。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述聚類操作所得到的樣本集合對所述當前待聚類樣本集合中的成員進行更新包括: 將所述當前待聚類樣本集合中的成員更新為所述聚類操作所得到的樣本集合;或者 將所述當前待聚類樣本集合中除未參與所述聚類操作的成員之外的成員更新為所述聚類操作所得到的樣本集合,并在更新后的所述當前待聚類樣本集合中保留所述未參與所述聚類操作的成員。
6.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述聚類條件包括以下至少之一: 樣本與樣本之間的距離滿足第一預定閾值; 樣本與樣本集合之間的距離滿足第二預定閾值; 樣本集合與樣本集合之間的距離滿足第三預定閾值。
7.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述距離包括以下至少之一:最近距離,最遠距離。
8.一種數(shù)據(jù)聚類裝置,其特征在于,包括: 查找單元,用于根據(jù)樣本距離排序關(guān)系在當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合,其中,所述第一樣本集合和所述第二樣本集合中的每個成員包含以下至少之一:樣本、樣本集合,其中,所述樣本集合包括多個樣本,所述第一樣本集合中的每個成員各自形成一個階梯簇;所述第二樣本集合中的每個成員自身滿足聚類條件,但與所述第二樣本集合中的其他成員或者與所述第一樣本集合中的成員之間不滿足所述聚類條件; 聚類單元,用于并行對所述第一樣本集合中的每個成員和/或所述第二樣本集合中的每個成員執(zhí)行聚類操作,每個成員執(zhí)行完成所述聚類操作后形成一個樣本集合; 更新單元,用于根據(jù)所述聚類操作所得到的樣本集合對所述當前待聚類樣本集合中的成員進行更新; 判斷單元,用于判斷是否完成對待聚類的樣本集合中的所有樣本的聚類,若未完成對所述待聚類的樣本集合中的所有樣本的聚類,則通知所述查找單元執(zhí)行所述查找的操作,通知所述聚類單元執(zhí)行所述聚類的操作以及通知所述更新單元執(zhí)行所述更新的操作,其中,當前待聚類樣本集合的初始值為所述待聚類的樣本集合中的每個樣本。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 獲取單元,用于在根據(jù)樣本距離排序關(guān)系在所述當前待聚類樣本集合中查找第一樣本集合和/或第二樣本集合之前,獲取所述待聚類的樣本集合中的每兩個樣本之間的距離; 排序單元,用于按照所述距離的大小對所述待聚類的樣本集合中的每兩個樣本形成的樣本對進行排序,形成所述樣本距離排序關(guān)系。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述查找單元包括: 第一查找模塊,用于若所述當前待聚類樣本集合中的多個成員滿足以下條件,則將滿足所述以下條件的所述多個成員記錄為所述第一樣本集合中的一個成員:所述當前待聚類樣本集合中的所述多個成員按照所述樣本距離排序關(guān)系中記錄的排序順序依次滿足所述聚類條件,且與所述當前待聚類樣本集合中的其他成員不滿足所述聚類條件。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述查找單元還包括: 第二查找模塊,用于若所述當前待聚類樣本集合中的相鄰兩個成員滿足以下條件,則將滿足所述以下條件的多個成員記錄為所述第二樣本集合中的一個成員:所述當前待聚類樣本集合中的所述相鄰兩個成員之間滿足所述聚類條件,且與所述當前待聚類樣本集合中的其他成員 不滿足所述聚類條件。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述更新單元包括: 第一更新模塊,用于將所述當前待聚類樣本集合中的成員更新為所述聚類操作所得到的樣本集合;或者 第二更新模塊,用于將所述當前待聚類樣本集合中除未參與所述聚類操作的成員之外的成員更新為所述聚類操作所得到的樣本集合,并在更新后的所述當前待聚類樣本集合中保留所述未參與所述聚類操作的成員。
【文檔編號】G06F17/30GK103699653SQ201310733986
【公開日】2014年4月2日 申請日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】季鐸 申請人:沈陽航空航天大學