計算機工程與應用2012,48
數據挖掘的重要任務之一就是發現大型數據中的積聚現象,並加以定量化描述。聚類分析就是按照某種相似性度量,具有相似特征的樣本歸為一類,使得類內差異相似度較小,而類間差異較大。迄今為止。聚類還沒有一個學術界公認的定義。這里給出Everitt[1]在1974 年關於聚類所下的定義:一個類簇內的實體是相似的,不同類簇的實體是不相似的;一個類簇是測試空間中點的會聚,同一類簇的任意兩個點間的距離小於不同類簇的任意兩個點間的距離;類簇可以描述為一個包含密度相對較高的點集的多維空間中的連通區域,它們借助包含密度相對較低的點集的區域與其他區域(類簇)相分離。
聚類算法的目的是尋找數據中潛在的自然分組結構和感興趣的關系。聚類分析則是用數學方法研究和處理所給對象的分類以及各類之間的親疏程度,是在對數據不作任何假設的條件下進行分析的工具。
3.1 傳統聚類方法
3.1.1 基於划分的聚類方法
Macqueen[4]提出的k-平均方法是解決聚類問題的一種經典方法。它的主要優點是算法簡單、快速。缺點是對不同的k 值可能會導致不同的聚類結果。其次,該方法不能發現非凸面的簇,或大小差別很大的簇。而且對“噪聲”和孤立點很敏感,因為少量的該類數據能對平均值產生極大的影響。Kaufman和Roussseeuw 提出的PAM(Partitioning Around Medoid)和CLARA(Clustering Large Applications)[5]算法中,每個類用接近該類中心的對象來表示,因此稱之為k-中心點方法。k-中心點方法可以看做是k-平均方法的改進方法,因為中心點不像平均值那么容易被極端數據影響,所以當存在噪聲和孤立點數據時,k-中心點方法比k-平均方法更強壯。
為了對大規模的數據集進行聚類,以及處理復雜的聚類,基於划分的方法有了很多改進算法。Huang提出k-模(k-modes)[6]方法,它擴展了k-平均方法,用模來代替類的平均值,Lauritzen 提出EM(ExpectationMaximization)[7]算法不把對象分配給一個確定的簇,而是根據對象與簇之間隸屬關系發生的概率來分配
對象。Ng 和Han 提出的CLARANS(Clustering Large Application based upon Randomized Search)[8]算法將采樣技術與PAM結合起來,不考慮整個數據集合,而是隨機地選擇實際數據的一小部分作為數據樣本,適用於大規模數據的聚類分析。Ester,Kriegel 和Xu采用高效的空間存取方法R*樹和聚焦技術,進一
步改進了CLARANS的性能[9]。FREM(Fast and Robust EM)算法[10]改進了EM算法的性能,使其更適合大規模數據的聚類問題。
3.1.2 基於層次的聚類方法
層次方法對樣本集合進行合並或者分裂,直到滿足某一個終止條件,聚類結果將樣本組成一棵聚類樹。根據層次分解是自底向上還是自頂向下,層次聚類方法可以分為凝聚(agglomerative)和分裂(division)兩大類,前者是由單個樣本開始,逐漸合並較小的樣本集,最終形成一個包含所有樣本的簇,或達到某個終止條件;后者先將所有樣本看作一個簇,然后逐漸細分為越來越小的簇,直到最后每個對象都自成一個簇,或達到某個終止條件。
基本的層次聚類方法是Kaufman 和Rousseeuw提出的凝聚方法和分裂方法,其缺點是合並點或分裂點選擇的困難,可伸縮性差。Zhang 提出的BIRCH
(Balanced Iterative Reducing and Clustering using Hierarchies)[11]是一種綜合的方法,首先建立存放於內存的CF(Cluster Feature)樹,再采用某個聚類算法對CF樹的葉結點進行聚類。Guha 提出的CURE(Clustering Using Representatives)[12]方法不用單個中心或對象來代表一個類,而是選擇數據空間中固定數目的具有代表性的點代表一個類,可以識別復雜形狀和大小不同的類,而且能很好地過濾孤立點。Guha在CURE方法的基礎上,又提出了適用於分類數據的ROCK方法[13]。文獻[14]對ROCK算法進行了進一步分析,首先指出在ROCK 算法主要缺點是:(1)衡量兩個數據點是否為鄰居的相似度閾值θ需要預先靜
態指定,該閾值對聚類質量影響很大,在對數據集沒有充分了解的前提下給出恰當的閾值是困難的。(2)在ROCK算法中,相似度函數sim 僅被用於最初鄰居的
判斷上,只考慮相似與否,而未考慮相似程度,使算法對θ值過於敏感。(3)ROCK還要求用戶事先選定聚類簇數k。這些缺陷或者影響聚類效果,或使算法不
便使用。然后結合上述缺點給出一種基於動態近鄰選擇模型的聚類算法DNNS,通過優選近鄰來提高聚類質量。
層次聚類算法優點在於算法能夠得到不同粒度上的多層次聚類結構,但存在下述缺點:(1)會經常遇到合並或分裂點選擇的困難,如果合並或分裂的決定不好,則可能導致聚類質量下降。(2)由於合並或分裂的決定需要檢查和估算大量的樣本或簇,使得這類算法伸縮性不理想。(3)算法時間復雜度高,為O(n2 lg n)~O(n3) 。
3.1.3 基於網格的聚類方法
基於網格的方法把對象空間量化為有限數目的單元,形成一個網格結構,每一維上分割點的位置信息存儲在數組中,分割線貫穿整個空間,所有的聚類操作都在這個網格結構(即量化空間)上進行。這種方法的主要優點是它的處理速度很快,其處理速度獨立於數據對象的數目,只與量化空間中每一維的單元數目有關,但其效率的提高是以聚類結果的精確性為代價的。但是所有的網格聚類算法都存在量化尺度的問題,通常是先從小單元開始尋找聚類,再逐漸增大單元的體積,重復這個過程,直到發現滿意的聚類為止。
Wang 提出的STING[15](Statistical Information Grid)和STING+[16]是基於網格的多分辨率方法。Sheikholeslami等提出的Wavecluster[17]也是一個多分辨率的聚類方法。它首先通過在數據空間上強加一個多維網格結構來匯總數據,然后采用一種小波變換來變換原特征空間,在變換后的空間中找到密集區域。Yu Dantong[18]提出一種改進的小波變換聚類方法Wavecluster +,可處理復雜的圖像數據聚類問題。
Agrawal 等提出的CLIQUE[19](Clustering In Quest)和文獻[20]中的方法均是綜合了基於密度和網格方法的聚類方法,用於聚類高維數據。文獻[21]中的方法
是適合於大規模數據的網格方法。這些方法對數據的輸入順序不敏感,無需假設任何規范的數據分布,對數據的維數和規模有良好的可伸縮性;但此類方法由於方法大大簡化,聚類結果的精確性一般較低。
3.1.4 基於密度的聚類方法
基於密度的聚類方法主要思想是:以空間中的一個樣本為中心,單位體積內的樣本個數稱為該點的密度,從直觀上看,簇內樣本的密度較大,簇間樣本的密度較小。該算法根據空間密度的差異,將簇看作是樣本空間中被低密度區域分割開的高密度樣本區域。只要鄰近區域的密度(對象或數據點的數目)超過某個閾值,就繼續聚類。各個密度算法的差異主要在於如何定義高密度區和低密度區。基於密度的聚類算法的主要缺點是從樣本集中獲得的密度圖很不均勻,往往會形成很多虛的極值,從而產生偽聚類。整體來看,多數基於密度的聚類方法對參數都很敏感,參數設置的細微不同可能導致差別很大的聚類結果。
Ester 等提出了DBSCAN[22](Density-Based Spatial Clustering of Applications with Noise)。該算法將具有足夠高密度的區域划分為類,並可以在帶有
“噪聲”的空間數據中發現任意形狀的類。周水庚[23]等在不同方面對DBSCAN 算法進行改進,提高了DBSCAN 算法的執行效率。Ankerst 等提出的OPTICS[
24](Ordering Points to Identify the Clustering Structure)算法是一種基於類排序方法。它克服了DBSCAN參數設置復雜的缺點。趙艷廠[25]從樣本分
布等密度線圖的思想出發,提出一種等密度線聚類算法;Hinneburg[26]提出的DENCLUE 方法、裴繼法[27]等提出的方法均為基於密度分布函數的方法;文
獻[28]中的聚類方法則是基於密度和距離的綜合方法;文獻[29]將數據空間划分成多個體積相等的矩形單元格,然后基於單元格定義了密度、簇等概念,對
單元格建立了一種基於空間划分的空間索引結構(SPTree,空間划分樹),通過空間划分樹SP-Tree 來尋找密集單元和密集單元的連通區域形成聚類;文獻[30]
考慮到樣本空間分布的不均勻性,通過距離變化率刻畫空間局部密度變化,並用來度量鄰近目標間空間局部密度變化情況;文獻[22]針對高維空間水平數據分布的聚類問題,通過引入局部密度聚類和密度吸引子,給出了一種局部分布式密度聚類算法DBDC算法。
3.1.5 基於模型的聚類方法
基於模型的方法為每一類假定存在一個模型,尋找數據對給定模型的最佳擬合。基於模型的方法通過建立反映樣本空間分布的密度函數定位聚類,試圖優化給定的數據和某些數據模型之間的適應性。基於模型的方法主要有兩類:統計學方法和神經網絡方法。
統計學方法中常用方法包括Fisher 提出的COBWEB[31],Gennari 等提出的CLASSIT[32],及Cheeseman等提出的AutoClass[33],Pizzuti Clara 等提出的P-AutoClass[34]等。神經網絡方法中有D.E.Rumelhart 提出的競爭學習[35] (Competitive Learning),采用若干個單元的層次結構,它們以一種“勝者為王(winner-take-all)”的方式對系統當前處理的對象進行競爭。Kohonen提出的學習矢量量化[36] (Learning Vector Quantization,LVQ)。這是一種自適應數據聚類方法,它基於對具有期望類別信息數據的訓練。文獻[37]提出在特定的條件下更新獲勝單元和第二單元(下一個最接近的向量),以便更有效地利用訓練數據。Kohonen[38]提出自組織特征映射(Self-Organizing Feature Map,SOFM),SOM算法將高維空間的數據轉化到二維空間,並且在二維空間中很好地保持了輸入數據之間的相似性,其能夠根據數據的分布逐步收斂到最佳的類別划分。與其他聚類方法相比,SOM 聚類的優點在於:可以實現實時學習,算法具有自穩定性和自
學習性,無需外界給出評價函數,抗噪音能力強。
SOM 文本聚類算法的實質就是發現能夠有效划分文檔集合的神經元集合。文獻[39]通過壓縮神經元的特征集合,僅選擇與神經元代表的文檔類相關的特征構造神經元的特征向量,從而減少了聚類時間。同時由於選取的特征能夠將映射到不同神經元的文檔類進行有效區分,避免了無關特征的干擾,因而提升了聚類的精度。
3.2 數據挖掘領域中的聚類方法新發展
但是由於每一種方法都有缺陷,再加上實際問題的復雜性和數據的多樣性,使得無論哪一種方法都只能解決某一類問題。近年來,隨着人工智能、機器學習、模式識別和數據挖掘等領域中傳統方法的不斷發展以及各種新方法和新技術的涌現,數據挖掘中的聚類分析方法得到了長足的發展。整體來看,主要圍繞樣本的相似性度量、樣本歸屬關系、樣本數據的前期處理、高維樣本聚類、增量樣本聚類等幾個方面展開研究。
3.2.1 基於樣本歸屬關系的聚類
3.2.1.1 基於粒度的聚類算法(Granular Clustering)
從表面上看,聚類和分類有很大的差異——聚類是無導師的學習,而分類是有導師的學習。更進一步地說,聚類的目的是發現樣本點之間最本質的抱團性質的一種客觀反映;分類在這一點上卻不大相同。分類需要一個訓練樣本集,由領域專家指明哪些樣本屬於一類,哪些樣本數據屬於另一類,但是分類的這種先驗知識卻常常是純粹主觀的。如果從信息粒度的角度來看的話,就會發現聚類和分類有很大的相通之處:聚類操作實際上是在一個統一粒度下進行計算的;分類操作是在不同粒度下進行計
算的[40],所以說在粒度原理下,聚類和分類是相通的,很多分類的方法也可以用在聚類方法中。文獻[41]基於粗糙集理論,分析等價關系與粒度之間的關系,根據數據對象之間的相對相似性形成初始等價關系和等價類,每個等價類對應一個粒度。引入等價關系隸屬度因子γ來度量等價關系間隸屬關系,並控制聚類的規模,通過迭代計算聚類的有效性,得到優化的聚類結果。
3.2.1.2 不確定聚類算法(Uncertainty Clustering)
(1)模糊聚類(Fuzzy Clustering)在實踐中大多數對象沒有嚴格的屬性,它們的類屬和形態存在着中介性,適合軟划分。由於模糊聚類分析具有描述樣本類屬中間性的優點,能客觀地反映現實世界,成為當今聚類分析研究的主流。
1969 年,Ruspini[42]首次將模糊集理論應用到聚類分析中,提出了模糊聚類算法是基於模糊數學理論的一種非監督學習方法。模糊聚類一經提出,就得到了學術界極大關注,模糊聚類是一個很大的聚類“家族”,關於模糊聚類的研究十分活躍,下面從目標函數、隸屬度函數和聚類准則函數等三個方面綜述其發展。
在目標函數研究方面,Krishnapuram放棄了FCM的可能性約束條件,構造了一個新的目標函數,提出了可能性C-均值聚類(PCM1)[43],PCM1 能夠聚類包含噪聲或野值點的數據,PCM1 使噪聲數據具有很小的隸屬度值,因而噪聲對聚類的影響可以忽略。但是PCM1 對初始聚類中心很敏感,常常會導致一致性聚類結果。PCM1 重視了典型性思想,從而減少了噪聲對聚類的影響,但它忽略了模糊隸屬度,模糊隸屬度可以使類中心和數據緊密聯系在一起。為了克服FCM對噪聲數據敏感和PCM1 產生一致性聚類的缺點,Pal 等在FCM和PCM的基礎上提出了可能性模糊C-均值聚類(PFCM)[44]。Krishnapuram 提出一種新的PCM(PCM2)以聚類數據集中彼此靠近的、包含噪聲的數據[45]。但是PCM2 同樣對初始聚類中心很敏感,也會導致一致性聚類結果,同時PCM2 非常依賴參數,為了解決這個缺點Yang 和Wu 提出了可能性聚類算法(PCA)[46]。但是PCA 僅僅解決了PCM2 的參數問題,它沒有解決PCM2 對初始聚類中心很敏感,易導致一致性聚類結果的缺點。同時PFCM同樣依賴參數,需要事先運行FCM來計算參數。文獻[47]在綜合PFCM和PCA的基礎上給出了另一個PFCM,從一定程度上解決PFCM對參數依賴的同時又沒有像PCA易導致一致性聚類結果那樣的缺點。
在隸屬度函數研究方面,文獻[48]提出了一種改進模糊分割的聚類算法IFP-FCM,通過引入隸屬度約束函數,得到意義更趨明晰的隸屬度迭代公式,使得新算法對噪聲和例外點具有更好的魯棒性。但文獻[48]引入隸屬度約束函數后,其算法的模糊指數m限定為2,沒有解決模糊指數m的一般化問題,此新算法的聚類效果受到約束。在FCM算法中,m的選擇嚴重影響着算法的表現,正如Bezdek[49]指出:當m=1 時,FCM算法退化為HCM算法,當m趨向於無窮時,FCM算法得到的各個類的中心幾乎都退化成數據的重心,顯然在上述兩種情形之下,FCM算法的表現都不能令人滿意。文獻[49]給出了一個新的隸屬度約束懲罰項,推導出一般化的改進模糊划分的FCM聚類算法GIFP-FCM,解決了IFP-FCM算法模糊指數m一般化問題;同時從競爭學習的角度並利用Voronoi 距離對GIFP-FCM 算法的快速收斂性和魯棒性進行了合理解釋;對模糊程度系數α 的意義做了很好的闡明,使得FCM算法和IFP-FCM 算法分別成為GIFP-FCM算法在α 等於0 和α 趨於1 時的特例。文獻[50]提出了不確定隸屬的概念,給出了兩個基於相對隸屬程度的判斷准則參數,設計出一種新的基於隸屬關系不確定的可能性模糊聚類新算法,該算法將迭代過程中數據集對聚類簇隸屬的可能性與不確定性關系引入目標函數中,達到明顯的優化聚類結果的功效。
在聚類准則函數聚類研究方面,在划分聚類方法中,一般都是對聚類樣本同等對待,但實際上,不同的樣本對聚類結果有不同的貢獻,因此通過修改准則函數提出了加權的聚類算法,從而實現對不同形狀分布樣本的聚類的目的。文獻[51]對模糊C-均值聚類算法中加權指數m進行了深入研究。文獻[52]對聚類有效性函數FP(u,c)進行了研究,指出FP(u,c)作為FCM 算法的聚類有效性函數是不合適的。文獻[53]提出了自動變量加權C均值算法,從而能夠合理地選擇變量及每個變量的貢獻大小;文獻[54]討論了模糊屬性C均值聚類算法,提出了基於模糊度m的Bezdek 型模糊屬性C均值聚類算法;文獻[55]應用拉普拉斯加權調整了HCM和FCM算法的目標函數,通過計算樣本與聚類中心的距離獲得合理的權系數,能夠很好地描述數據鄰域結構,並能夠利用不同樣本影響的差異性;文獻[56]將PBMF、XB、PE 和PC
等模糊聚類有效性指標集成為模糊權和有效性函數(FWSVF),提高了算法的通用性。
(2)粗糙聚類(Rough Clustering)
不確定聚類另外一種就是粗糙聚類,從粗糙集與聚類算法的耦合來看,可以把粗糙聚類分為兩類:強耦合粗糙聚類和弱耦合粗糙聚類。所謂弱耦合粗糙聚類,就是粗糙集扮演着數據預處理等角色,最主要的應用就是用粗糙集的屬性約簡理論對進行聚類的樣本數據進行降維,所謂的強耦合是指利用粗糙集的上、下近似理論對聚類算法上、下近似處理。強耦合中,Lingras P[57]把粗糙集引入到聚類問題中,提出了粗糙聚類算法,文獻[58]進一步進行了研究,提出了自適應粗糙聚類;在弱耦合中,關於屬性約簡有很多文獻,此處不再列出。
3.2.1.3 球殼聚類(Spherical Shell Clustering)
球殼聚類其實是模糊聚類的衍生,模糊聚類的原型由點逐步擴展到線、面、球殼、橢圓殼、矩形殼和多邊形殼[59]。其中球殼聚類是其中研究最為活躍的一種。所謂球殼聚類就是樣本數據的分布呈球殼狀的聚類問題,可以采用球殼作為聚類原型,定義目標函數,並推導出球殼聚類的迭代算法。模糊殼聚類方法依賴於人腦事先給出確定的聚類殼數,並且對原型初始化要求較高,這是因為目標函數的局部極值點很多,容易陷入局部極值點。文獻[60]提出一種基於量子測量的球殼聚類方法。該算法將聚類樣本集分別視為可測量的環境量子系綜和刺激量子系綜,每個樣本視為宏觀系綜中的一個微觀量子疊加態。刺激量子系綜依概率在具體微觀態上進行塌縮產生刺激引起無意識的注意,並產生球殼面算符。
3.2.1.4 基於熵的聚類(Clustering based on Entropy)
在物理學中,熵用來描述原子分布的無序程度。當某一系統越有序、越確定時,該系統的熱熵越小;在信息論中,信息熵是一個信源發出某一消息所含信息量的度量,當某一信源發出的消息越確定時,該信源的信息熵越小;數據點的分布類似於原子的分布,當聚類的划分越合理,數據點在某一聚類上的歸屬越確定時,該聚類的信息熵值越小。在聚類分析中,由於在分組前數據點對某一聚類的歸屬在主觀划分上是依賴於用戶所選取的算法的,當用戶采取不同的算法時,數據點的歸屬性就不同,而客觀上來講,數據點對某一聚類的歸屬又是確定的。因此,如果在主觀上找到盡可能確定的數據點歸屬,即求得信息熵值最小的聚類結果,那么聚類的目的就達到了,這就是基於熵的聚類算法。文獻[61]給出了一種以熵為評價准則的聚類算法,通過非參數估計法估計密度函數,再利用類內熵和類間熵進行聚類和確定聚類的數目。這種算法不需要用戶輸入與聚類有關的參數,能根據數據分布的特性自動獲取要聚類的數目,並能發現任意形狀和任意大小的聚類。
3.2.2 基於樣本數據預處理的聚類
3.2.2.1 核聚類算法(Kernel Clustering)
目前比較經典的聚類算法只能對一些經典分布的樣本奏效。它們沒有對樣本的特征進行優化,而是直接利用樣本的特征進行聚類。為了解決這個問題,SCHOLKOPF B 通過把核方法引入到聚類算法中,提出了一種核聚類方法[62],所謂的核聚類就是把核方法和聚類算法進行耦合,通過把輸入空間的數據利用Mercer 核非線性映射到高維特征空間,增加了數據點的線性可分概率,即擴大數據類之間的差異,在高維特征空間達到線性可聚的目的。ZHANG Rong[63]、Girolamim[64]、張莉[65]等人分別發表論文,對核聚類算法進行了進一步討論。文獻[66]把核聚類推廣到模糊聚類算法,模糊核聚類算法是FCM的核化版本,一定程度上克服了對數據內在形狀分布的依賴,能對不同形狀分布數據正確聚類,而且克服了對噪聲及野值數據的敏感,增強了算法魯棒性。但KFCM與K-均值和FCM一樣,其聚類性能具有依賴於聚類中心初始值的缺點。為了降低對噪聲的敏感程度,文獻[67]在映射得到的高維特征空間中采用粗糙聚類的方法,把樣本分別划到相應聚類中心的上、下近似中,上、下近似中的樣本按照一定的比例來共同決定新的聚類中心,從而進一步豐富了核聚類算法。針對模糊核聚類對初始值敏感、易陷入局部最優的缺點,文獻[68]提出了基於粒子群優化的模糊核聚類方法,該方法根據聚類准則設計適應度函數,利用粒子群優化算法對聚類中心進行優化,在迭代優化過程中設計了梯度下降法加快算法的收斂速度,並引入變異機制增強粒子群的多樣性。
3.2.2.2 基於概念的聚類(Concept Clustering)
張明衛[69]等提出了一種基於概念的數據聚類模型,該模型從描述數據樣本的數據本身出發,首先在預處理后的數據集上提取基本概念,再對這些概念進行概化,形成表示聚類結果的高層概念,最后基於這些高層概念進行樣本划分,從而完成整個聚類過程。該模型能夠在保證聚類准確性的基礎上,很大程度地減少要處理的數據量,提高原算法的可伸縮性。另外,該模型基於概念進行知識的發現與分析,能夠提高聚類結果的可解釋性,便於與用戶交互。
3.2.3 基於樣本相似性度量的聚類
3.2.3.1 譜聚類算法(Spectral Clustering)
BUHMANN J M[70]提出了譜聚類算法,該類方法建立在譜圖理論基礎之上,並利用數據的相似矩陣的特征向量進行聚類,使得算法與數據點的維數無關,而僅與數據點的個數有關,因而統稱為譜聚類方法。譜聚類算法是一種基於兩點間相似關系的方法,這使得該方法適用於非測度空間。與其他方法相比,該方法不僅思想簡單、易於實現、不易陷入局部最優解,而且具有識別非凸分布的聚類能力,非常適合於許多實際應用問題。文獻[71]針對譜聚類對分析尺度的選擇敏感的問題,給出了一種基於密度敏感的相似性度量,它可以放大不同高密度區域內數據點間距離,同時縮短同一高密度區域內數據點間距離,最終有效描述數據的實際聚類分布;文獻[72]
認為在聚類搜索過程中充分利用先驗信息會顯著提高聚類算法的性能。因此通過討論數據集本身固有的先驗信息——空間一致性先驗信息,設計出一種基於密度敏感的距離測度的方法。
3.2.3.2 仿射聚類(Affinity Propagation clustering,AP)
仿射聚類是2007 年Science 報道的一個全新聚類算法[73],其優勢體現在處理類數很多的情況時運算速度快。AP算法通過一個迭代循環不斷進行證據的搜集和傳遞(亦稱為消息傳遞)以產生m個高質量的類代表和對應的聚類,同時聚類的能量函數也得到了最小化,將各數據點分配給最近的類代表所屬的類,則找到的m個聚類即是聚類結果。針對仿射聚類中存在的兩個問題:(1)很難確定偏向參數取何值能夠使算法產生最優的聚類結果;(2)當震盪發生后算法不能自動消除震盪並收斂。為了解決這兩個問題,文獻[74]提出了自適應仿射傳播聚類方法,即自適應掃描偏向參數空間來搜索聚類個數空間以尋找最優聚類結果、自適應調整阻尼因子來消除震盪以及當調整阻尼因子方法失效時的自適應逃離震盪技術,與原算法相比,自適應仿射傳播聚類方法性能更優,能夠自動消除震盪和尋找最優聚類結果。
3.2.3.3 本體聚類(Ontology clustering)
文獻[75]提出了一種基於語義的Ontology 相似性計算方法,該方法不僅考慮概念本身的相似性,還考慮了屬性集合和相關概念集合的相似性,通過概念基本相似性極限控制屬性集合相似性計算的可能性,通過語義半徑控制相關概念集合的范圍。將基於語義的Ontology 相似性方法和凝聚層次聚類算法相結合實現了基於語義的Ontology聚類。
3.2.3.4 混合屬性聚類(Hybrid data orientation clustering)
在實際數據聚類中,需要處理的數據除數值型屬性外,還包括文本、圖像等符號型屬性的混合型數據。這些算法在進行不同屬性的數據處理時,都要進行相關轉換,或者全部轉換成數值型數據,或者全部轉換成符號型數據進行處理,數據聚類精度在進行轉換時受到影響。面向混合型數據的聚類方法就是解決這類聚類問題的。CBL(Clustering Based on Lattice)算法是以格論為基礎,利用格論中簡單元組和超級元組的概念,對數據進行格的划分,以非距離的格關系作為聚類相似度的衡量方法,文獻[76]在分析CBL 算法的基礎上,利用格論中簡單元組及超級元組將對象屬性轉化為格模型,以對象間格覆蓋數來衡量類間相似度,根據高覆蓋數高相似度的原則選擇聚類中心進行聚類。
3.2.3.5 基於雙重距離的聚類(Clustering Based on Dual Distance)
傳統聚類方法大都是基於空間位置或非空間屬性的相似性來進行聚類,分裂了空間要素固有的二重特性,從而導致了許多實際應用中空間聚類結果難以同時滿足空間位置毗鄰和非空間屬性相近。然而,兼顧兩者特性的空間聚類方法又存在算法復雜、結果不確定以及不易擴展等問題。文獻[77]通過引入直接可達和相連概念,提出了一種基於雙重距離的空間聚類方法,並給出了基於雙重距離空間聚類的算法。
3.2.3.6 基於流形距離的迭代優化聚類(Clustering Based on Manifold Distance)
針對傳統歐氏距離測度描述復雜結構的數據分布會失效的問題,文獻[78]引入能有效反映樣本集固有的全局一致性信息的流形距離作為樣本間相似度度量測度,並設計了反映類內相似度大、類間相似度小的聚類目標的准則函數,把數據聚類轉化成准則函數優化問題,提出了一種迭代優化的聚類算法。
3.2.4 基於樣本更新策略的聚類
增量聚類的研究主要有兩個思路:(1)將所有的數據進行迭代,即從第一個數據到最后一個數據進行迭代運算,其優點是精度高,不足之處是不能利用前一次聚類的結果,浪費資源。(2)利用上一次聚類的結果,每次將一個數據點划分到已有簇中,即新增的數據點被划入中心離它最近的簇中並將中心移向新增的數據點,優點是不需要每次對所有數據進行重新聚類,缺點是泛化能力弱,監測不出孤立點。
3.2.4.1 數據流增量聚類(Data Stream Clustering)
數據流的聚類問題是典型的增量聚類問題,這些數據具有實時性、連續性、順序性的動態流式數據。
數據流聚類的基本任務就是對當前數據進行聚類的同時,隨着新數據的不斷流入,動態調整和更新聚類結果以真實反映數據流的聚類形態。Guha於2000年提出了針對數據流聚類的算法LOCALSEARCH[79],算法基於分治思想采用一個不斷迭代的過程實現在有限空間、時間下對數據流的k-means 聚類。目前主要是把一些傳統的聚類算法應用到數據流聚類問題當中來。
3.2.4.2 基於群體智能的增量聚類
研究者從生物的智能行為中受到啟發,建立了各種模型,用來求解復雜的科學問題,目前主流的一些群體智能算法及其在增量聚類中的應用情況。
基於遺傳算法的增量聚類、基於PSO算法的增量聚類、基於蟻群算法的增量聚類、基於人工免疫系統的增量聚類。
3.2.5 基於樣本高維性的聚類
由於高維數據存在的普遍性,使得對高維數據的聚類已經成為近幾年研究的一個熱點。高維數據聚類的特點是:(1)隨着維數增長,聚類的時間和空間復雜度迅速上升從而導致算法的性能下降。(2)高維數據集中存在大量無關的屬性,並且在這些不相關的維上十分稀疏,這就使得在所有維中存在簇的可能性幾乎為零,所以傳統的聚類算法不適合對高維數據進行聚類。(3)距離函數難於定義,聚類操作的基礎是數據對象之間相似性的度量,相似度高的對象歸為一類。但在高維情況下距離函數失效,因此必須通過重新定義合適的距離函數或相似性度量函數以避開“維度效應”的影響。對於高維數據而言,針對高維數據的稀疏性、空空間和維災等特征,
目前主要有兩個研究思路:一個是通過選維、降維技術去除與數據簇不相關的維,然后再使用聚類算法對轉換后的數據進行聚類,這里給出目前最新的投影尋蹤法。另一類是子空間聚類,該類算法從數據集中找不同子空間中的簇,這里給出基本算法。
3.2.5.1 投影尋蹤聚類(Projection Pursuit Clustering)
多因素聚類問題涉及不同屬性的多個指標,是復雜的非線性分類問題。多因素聚類分析是典型的高維數據分析問題,投影尋蹤(Projection Pursuit,PP)是一種有效的處理高維數據樣本的統計方法。
所謂投影尋蹤就是將高維數據向低維空間投影,通過低維投影空間來分析高維數據特征。投影尋蹤聚模型就是根據投影尋蹤思想建立的一種聚類模型,充分體現了投影尋蹤處理高維數據的優勢[80]。然而,一方面,投影尋蹤聚類模型中的惟一參數——密度窗寬還是依靠經驗或試算來確定,缺乏理論依據。
另一方面,對於沒有參照標准的聚類問題,投影尋蹤聚類模型並不能直接輸出明確的聚類結果,只能輸出樣本的投影特征值序列,文獻[81]結合動態聚類思想,建立了投影尋蹤動態聚類模型。針對多因素聚類問題的高維復雜性,利用線性投影技術將其轉換為關於投影特征值的線性聚類問題;根據動態聚類思想構建新的投影指標,對投影特征值序列進行動態聚類,進而在低維空間實現高維數據樣本的聚類分析。
3.2.5.2 子空間聚類(Subspace Clustering)
從查詢子空間的方式上,子空間聚類算法可以分成兩種主要類別:自上而下的子空間查詢方法和自下而上的子空間查詢方法。自上而下的子空間查詢方法首先在整個維上初始化一系列近似的簇,這時每個維賦予相似的權值。接着每個維相對於不同的類賦予不同的權值,將這些更新的權值使用於下一個循環來重新生成簇。大部分自上而下的方法都需要輸入一些參數,例如:簇的數量、子空間大小等。這些參數往往在事先是不知道的,不同的輸入參數往往會得到不同結果。自下而上的子空間查詢方式使用了關聯規則方法中的先驗性質,這種類型的查詢方法首先將每個維作為單獨的項進行考慮,然后依次合並維並判斷其子空間的優劣。陳黎飛[82]在高維空間中用概率模型定義來描述投影聚類,提出了基於模型的模糊投影算法發現不同投影子空間中類相互重疊的邊緣部分。Song[83]提出了一種基於聚類的特征選擇方法。
3.2.6 與其他學科的融合聚類
3.2.6.1 量子聚類算法(Quantum Clustering,QC)
量子力學是一門研究粒子在能量場中分布的科學[84],聚類是研究樣本在尺度空間中的分布情況,可見,量子力學研究的粒子在空間中的分布,同聚類研究樣本在尺度空間中的分布情況是等價的。對於樣本分布已知時的聚類,對於量子力學而言,描述粒子分布的波函數是已知的,聚類過程相當於:在波函數已知時,采用薛定鍔方程求解勢能函數,而這個勢能函數將最終決定粒子的分布。
3.2.6.2 球殼聚類(Spherical Shell Clustering)
球殼聚類其實是模糊聚類的衍生,模糊聚類的原型由點逐步擴展到線、面、球殼、橢圓殼、矩形殼和多邊形殼[59]。其中球殼聚類是其中研究最為活躍的一種。所謂球殼聚類就是樣本數據的分布呈球殼狀的聚類問題,可以采用球殼作為聚類原型,定義目標函數,並推導出球殼聚類的迭代算法。模糊殼聚類方法依賴於人腦事先給出確定的聚類殼數,並且對原型初始化要求較高,文獻[60]提出一種基於量子測量的球殼聚類方法。該算法將聚類樣本集分別視為可測量的環境量子系綜和刺激量子系綜,每個樣本視為宏觀系綜中的一個微觀量子疊加態。刺激量子系綜依概率在具體微觀態上進行塌縮產生刺激引起無意識的注意,並產生球殼面算符。球殼面算符通過對環境量子系綜進行有意識的測量並得到平均測量值來驗證球殼面的有效性,同時可以得到殼面上的樣本集。
3.2.6.3 聚類集成(Clustering Ensemble)
聚類集成[85]是基於集成思想的一種新的聚類算法,利用(經過選擇的)多個聚類結果找到一個新的數據(或對象)划分,這個划分在最大程度上共享了所有輸入的聚類結果對數據(或對象)集的聚類信息。聚類集成可以分為兩個階段:聚類成員個體生成階段和對聚類成員個體結果進行集成階段。
3.2.6.4 基於隨機游動的聚類(Random Walk clustering)
隨機游動在計算機、物理、生物等領域都有廣泛的應用。文獻[86]提出一種基於改進的隨機游動模型的聚類算法,在算法中,數據集中的樣本點根據改進的隨機游動模型,生成有權無向圖G(V,E,d),其中每個樣本點對應圖G的一個頂點,並且假設每個頂點為可以在空間中移動的Agent。隨后計算每個頂點向其鄰集中頂點轉移的概率,在隨機選定鄰集中的一個頂點作為轉移方向后,移動一個單位距離。在所有樣本點不斷隨機游動的過程中,同類的樣本點就會逐漸聚集到一起,而不同類的樣本點相互遠離,最后使得聚類自動形成。
