数据分析方法-聚类算法
文章目錄
- 一、定義
- 二、聚類、分類區(qū)別分類
- 三、聚類常用算法
- 1.劃分聚類 k-means、k-medoids、k-modes、k-medians、kernel k-means
- 2.層次聚類 Agglomerative 、divisive、BIRCH、ROCK、Chameleon
- 3.密度聚類 DBSCAN、OPTICS
- 5.模型聚類 GMM
- 6.圖聚類 Spectral Clustering(譜聚類)
一、定義
聚類(Clustering)就是一種尋找數(shù)據(jù)之間內(nèi)在結(jié)構(gòu)的技術(shù)。聚類把全體數(shù)據(jù)實(shí)例組織成一些相似組,而這些相似組被稱作簇。處于相同簇中的數(shù)據(jù)實(shí)例彼此相同,處于不同簇中的實(shí)例彼此不同。數(shù)據(jù)之間的相似性是通過定義一個距離或者相似性系數(shù)來判別的。
二、聚類、分類區(qū)別分類
| 是一種有監(jiān)督式的學(xué)習(xí)過程 | 是一種無監(jiān)督式的學(xué)習(xí)過程 |
| 其初始和結(jié)果都是有標(biāo)簽式標(biāo)記 | 其初始和結(jié)果無標(biāo)簽式標(biāo)記 |
| 其結(jié)果是有意義的分類 | 其結(jié)果無意義的分類 |
| 是示例式學(xué)習(xí) | 是觀察式學(xué)習(xí) |
三、聚類常用算法
1.劃分聚類 k-means、k-medoids、k-modes、k-medians、kernel k-means
基于劃分的聚類方法是一種自頂向下的方法,對于給定的 n 個數(shù)據(jù)對象的數(shù)據(jù)集 D,將數(shù)據(jù)對象組織成 k(k≤n) 個分區(qū),其中,每個分區(qū)代表一個簇。示意圖:
2.層次聚類 Agglomerative 、divisive、BIRCH、ROCK、Chameleon
基于層次的聚類方法是指對給定的數(shù)據(jù)進(jìn)行層次分解,直到滿足某種條件為止。該算法根據(jù)層次分解的順序分為自底向上法和自頂向下法,即凝聚式層次聚類算法和分裂式層次聚類算法。
1)自底向上法。
首先,每個數(shù)據(jù)對象都是一個簇,計(jì)算數(shù)據(jù)對象之間的距離,每次將距離最近的點(diǎn)合并到同一個簇。然后,計(jì)算簇與簇之間的距離,將距離最近的簇合并為一個大簇。不停地合并,直到合成了一個簇,或者達(dá)到某個終止條件為止。
簇與簇的距離的計(jì)算方法有最短距離法、中間距離法、類平均法等,其中,最短距離法是將簇與簇的距離定義為簇與簇之間數(shù)據(jù)對象的最短距離。自底向上法的代表算法是AGNES(AGglomerativeNESing)算法。
2)自頂向下法。
該方法在一開始所有個體都屬于一個簇,然后逐漸細(xì)分為更小的簇,直到最終每個數(shù)據(jù)對象都在不同的簇中,或者達(dá)到某個終止條件為止。自頂向下法的代表算法是 DIANA(DivisiveANAlysis)算法。
基于層次的聚類算法的主要優(yōu)點(diǎn)包括,距離和規(guī)則的相似度容易定義,限制少,不需要預(yù)先制定簇的個數(shù),可以發(fā)現(xiàn)簇的層次關(guān)系?;趯哟蔚木垲愃惴ǖ闹饕秉c(diǎn)包括,計(jì)算復(fù)雜度太高,奇異值也能產(chǎn)生很大影響,算法很可能聚類成鏈狀。
3.密度聚類 DBSCAN、OPTICS
基于密度的聚類方法的主要目標(biāo)是尋找被低密度區(qū)域分離的高密度區(qū)域。與基于距離的聚類算法不同的是,基于距離的聚類算法的聚類結(jié)果是球狀的簇,而基于密度的聚類算法可以發(fā)現(xiàn)任意形狀的簇。
基于密度的聚類方法是從數(shù)據(jù)對象分布區(qū)域的密度著手的。如果給定類中的數(shù)據(jù)對象在給定的范圍區(qū)域中,則數(shù)據(jù)對象的密度超過某一閾值就繼續(xù)聚類。
這種方法通過連接密度較大的區(qū)域,能夠形成不同形狀的簇,而且可以消除孤立點(diǎn)和噪聲對聚類質(zhì)量的影響,以及發(fā)現(xiàn)任意形狀的簇。示意圖:
4.網(wǎng)格聚類 STING
基于網(wǎng)格的聚類方法將空間量化為有限數(shù)目的單元,可以形成一個網(wǎng)格結(jié)構(gòu),所有聚類都在網(wǎng)格上進(jìn)行。基本思想就是將每個屬性的可能值分割成許多相鄰的區(qū)間,并創(chuàng)建網(wǎng)格單元的集合。每個對象落入一個網(wǎng)格單元,網(wǎng)格單元對應(yīng)的屬性空間包含該對象的值.
基于網(wǎng)格的聚類方法的主要優(yōu)點(diǎn)是處理速度快,其處理時間獨(dú)立于數(shù)據(jù)對象數(shù),而僅依賴于量化空間中的每一維的單元數(shù)。這類算法的缺點(diǎn)是只能發(fā)現(xiàn)邊界是水平或垂直的簇,而不能檢測到斜邊界。另外,在處理高維數(shù)據(jù)時,網(wǎng)格單元的數(shù)目會隨著屬性維數(shù)的增長而成指數(shù)級增長。
示意圖:
5.模型聚類 GMM
基于模型的聚類方法是試圖優(yōu)化給定的數(shù)據(jù)和某些數(shù)學(xué)模型之間的適應(yīng)性的。該方法給每一個簇假定了一個模型,然后尋找數(shù)據(jù)對給定模型的最佳擬合。假定的模型可能是代表數(shù)據(jù)對象在空間分布情況的密度函數(shù)或者其他函數(shù)。這種方法的基本原理就是假定目標(biāo)數(shù)據(jù)集是由一系列潛在的概率分布所決定的。
下圖給出了對基于劃分的聚類方法和基于模型的聚類方法進(jìn)行了對比。左側(cè)給出的結(jié)果是基于距離的聚類方法,核心原則就是將距離近的點(diǎn)聚在一起。右側(cè)給出的基于概率分布模型的聚類方法,這里采用的概率分布模型是有一定弧度的橢圓。標(biāo)出了兩個實(shí)心的點(diǎn),這兩點(diǎn)的距離很近,在基于距離的聚類方法中,它們聚在一個簇中,但基于概率分布模型的聚類方法則將它們分在不同的簇中,這是為了滿足特定的概率分布模型。
6.圖聚類 Spectral Clustering(譜聚類)
基于圖聚的聚類方法是把所有的數(shù)據(jù)看做空間中的點(diǎn),這些點(diǎn)之間可以用邊連接起來。距離較遠(yuǎn)的兩個點(diǎn)之間的邊權(quán)重值較低,而距離較近的兩個點(diǎn)之間的邊權(quán)重值較高,通過對所有數(shù)據(jù)點(diǎn)組成的圖進(jìn)行切圖,讓切圖后不同的子圖間邊權(quán)重和盡可能的低,而子圖內(nèi)的邊權(quán)重和盡可能的高,從而達(dá)到聚類的目的。
總結(jié)
以上是生活随笔為你收集整理的数据分析方法-聚类算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据预处理数据的方法总结(使
- 下一篇: Flink的ProcessFunctio