應(yīng)用聚類算法比選擇最佳算法要容易得多。 每種類型都有其優(yōu)缺點(diǎn),如果您想要一個(gè)整潔的集群結(jié)構(gòu),就必須認(rèn)真考慮。
數(shù)據(jù)聚類是安排正確的整個(gè)數(shù)據(jù)模型的重要步驟。為了進(jìn)行分析,應(yīng)根據(jù)共同點(diǎn)整理信息。 主要的問(wèn)題是,什么樣的公共參數(shù)提供最好的結(jié)果以及“最好”包含什么意思。
本文介紹了最廣泛的聚類算法及其深入闡述。根據(jù)每種方法的特殊性,提供了對(duì)使用其應(yīng)用的建議。
四種基本算法以及如何選擇
根據(jù)聚類模型,可以區(qū)分四種常見(jiàn)的算法類別。一般而言,算法不少于100種,但是它們的流行程度以及應(yīng)用領(lǐng)域都不是較為廣泛。
基于整個(gè)數(shù)據(jù)集對(duì)象之間距離的計(jì)算,被稱為基于連接的或分層的。根據(jù)算法的“方向”,它可以聯(lián)合或相反地分割信息數(shù)組——聚集和分裂的名稱就是從這種精確的變化中出現(xiàn)的。最流行或者說(shuō)最合理的類型是凝聚型,您首先輸入數(shù)據(jù)點(diǎn)的數(shù)量,然后將這些數(shù)據(jù)點(diǎn)合并成越來(lái)越大的集群,直到達(dá)到極限。
基于連接的集群化最突出的例子是植物分類。數(shù)據(jù)集的“樹(shù)”開(kāi)始于一個(gè)特定的物種,結(jié)束于一些植物“王國(guó)”,每個(gè)“王國(guó)”由更小的集群(門(mén)、類、目等)組成。
在應(yīng)用了其中一種基于連接的算法之后,您將收到一個(gè)數(shù)據(jù)樹(shù)狀圖,它將向您展示信息的結(jié)構(gòu),而不是其在集群上的明顯分離。這樣的特性既有好處也有壞處:算法的復(fù)雜性可能會(huì)變得過(guò)于復(fù)雜,或者根本不適用于層次結(jié)構(gòu)很少甚至沒(méi)有層次結(jié)構(gòu)的數(shù)據(jù)集。還會(huì)出現(xiàn)糟糕的性能:由于大量的重復(fù),完整的處理將花費(fèi)大量時(shí)間。最重要的是無(wú)法得到精確的結(jié)構(gòu)使用層次算法。
同時(shí),需要從計(jì)數(shù)器輸入的數(shù)據(jù)歸結(jié)為數(shù)據(jù)點(diǎn)的數(shù)量,不會(huì)對(duì)最終結(jié)果產(chǎn)生實(shí)質(zhì)性的影響,或者是預(yù)先設(shè)定的距離度量,它是粗略測(cè)量的。
根據(jù)我的經(jīng)驗(yàn),基于中心體的集群是最常見(jiàn)的模型,因?yàn)樗容^簡(jiǎn)單。該模型旨在將數(shù)據(jù)集的每個(gè)對(duì)象分類到特定的集群中。集群的數(shù)量(k)是隨機(jī)選擇的,這可能是該方法最大的“弱點(diǎn)”。這種算法由于與k近鄰(k-nearest neighbor, kNN)方法的相似性,在機(jī)器學(xué)習(xí)中特別受歡迎。
計(jì)算過(guò)程包括多個(gè)步驟。首先,選擇輸入數(shù)據(jù),將數(shù)據(jù)集劃分的大致聚類數(shù)。聚類的中心應(yīng)放置在盡可能遠(yuǎn)的位置,這將提高結(jié)果的準(zhǔn)確性。
其次,該算法找到數(shù)據(jù)集的每個(gè)對(duì)象與每個(gè)聚類之間的距離。最小坐標(biāo)確定了將對(duì)象移動(dòng)到哪個(gè)群集。
之后,將根據(jù)所有對(duì)象坐標(biāo)的平均值重新計(jì)算聚類的中心。重復(fù)算法的第一步,但是重新計(jì)算了集群的新中心。除非達(dá)到某些條件,否則此類迭代將繼續(xù)。例如,當(dāng)集群的中心距上次迭代沒(méi)有移動(dòng)或移動(dòng)不明顯時(shí),該算法可能會(huì)結(jié)束。
盡管數(shù)學(xué)和編碼都很簡(jiǎn)單,但k均值仍有一些缺點(diǎn),因此我無(wú)法在所有可能的地方使用它。那包括:
- 疏忽了每個(gè)集群的邊緣,因?yàn)閮?yōu)先級(jí)設(shè)置在集群的中心,而不是邊界;
- 無(wú)法創(chuàng)建一個(gè)數(shù)據(jù)集結(jié)構(gòu),該結(jié)構(gòu)的對(duì)象可以按等量的方式分類到多個(gè)群集中;
- 需要猜測(cè)最佳k值,或者需要進(jìn)行初步計(jì)算以指定此量規(guī)。
同時(shí),期望最大化算法可以避免那些復(fù)雜情況,同時(shí)提供更高的準(zhǔn)確性。簡(jiǎn)而言之,它計(jì)算每個(gè)數(shù)據(jù)集點(diǎn)與我們指定的所有聚類的關(guān)聯(lián)概率。用于該聚類模型的主要“工具”是高斯混合模型(GMM),假設(shè)數(shù)據(jù)集的點(diǎn)通常遵循高斯分布。
k-means算法基本上是EM原理的簡(jiǎn)化版本。它們都需要手動(dòng)輸入集群數(shù),這是此方法所要面對(duì)的主要問(wèn)題。除此之外,計(jì)算原理(對(duì)于GMM或k均值)很簡(jiǎn)單:集群的近似范圍是在每次新迭代中逐漸指定的。
與基于質(zhì)心的模型不同,EM算法允許對(duì)兩個(gè)或多個(gè)聚類的點(diǎn)進(jìn)行分類-它僅向您展示每個(gè)事件的可能性,您可以使用該事件進(jìn)行進(jìn)一步的分析。更重要的是,每個(gè)聚類的邊界組成了不同度量的橢球體,這與k均值不同,在k均值中,聚類在視覺(jué)上表示為圓形。但是,該算法對(duì)于對(duì)象不遵循高斯分布的數(shù)據(jù)集根本不起作用。這是該方法的主要缺點(diǎn):它更適用于理論問(wèn)題,而不是實(shí)際的測(cè)量或觀察。
最后,基于數(shù)據(jù)密度的聚類成為數(shù)據(jù)科學(xué)家心中最青睞的非官方方法,包括模型的要點(diǎn),將數(shù)據(jù)集劃分為聚類,計(jì)數(shù)器會(huì)輸入ε參數(shù),即“鄰居”距離。因此,如果對(duì)象位于ε半徑的圓(球)內(nèi),則它與群集有關(guān)。
DBSCAN(基于密度的應(yīng)用程序噪聲空間聚類)算法會(huì)逐步檢查每個(gè)對(duì)象,將其狀態(tài)更改為“已查看”,將其分類到集群或噪聲中,直到最后處理整個(gè)數(shù)據(jù)集。使用DBSCAN確定的集群可以具有任意形狀,因此非常精確。此外,算法不會(huì)讓你計(jì)算集群的數(shù)量,它是自動(dòng)確定的。
不過(guò),即使是DBSCAN這樣的杰作也有缺點(diǎn)。如果數(shù)據(jù)集是由可變密度的數(shù)據(jù)集組成,則該方法的結(jié)果較差。如果對(duì)象的位置太近,并且無(wú)法輕松估算出ε參數(shù),那么這也不是您的選擇
綜上所述,不存在錯(cuò)誤選擇的算法——它們中的一些只是更適合特定的數(shù)據(jù)集結(jié)構(gòu)。為了選擇最好的、更合適的算法,您需要全面了解它們的優(yōu)點(diǎn)、缺點(diǎn)和特性。
有些算法可能在一開(kāi)始就被排除在外,例如它們不符合數(shù)據(jù)集規(guī)范。為了避免重復(fù)的工作,你可以花一點(diǎn)時(shí)間來(lái)整理和記憶信息,而不是選擇試錯(cuò)的道路。
【責(zé)任編輯:未麗燕 TEL:(010)68476606】