聚類分析
1 定義
聚類分析(Cluster Analysis)是一類將數(shù)據(jù)所對應(yīng)的研究對象進行分類的統(tǒng)計方法,它是將若干個個體集合,按照某種標(biāo)準(zhǔn)分成若干簇,并且希望簇內(nèi)的樣本盡可能地相似,而簇與簇之間要盡可能的不相似。根據(jù)分類對象的不同,可將聚類分為兩大類,一類是按照變量對觀測進行聚類,稱為Q型聚類,即對樣本(樣品)聚類;另一類是根據(jù)觀測對變量進行聚類,稱為R型聚類,即對變量(特征)聚類。
首先說一下聚類和分類的區(qū)別,簡單來說聚類是盡量把類似的樣本聚在一起,在機器學(xué)習(xí)中屬于無監(jiān)督學(xué)習(xí)(unsupervised learning);而分類通常需要已知具體可以分為某幾類,屬于監(jiān)督學(xué)習(xí)(supervised learning)。
2 分類
目前聚類分析常見的分類主要如圖所示

聚類分析分類
3 常見聚類分析算法
聚類分析算法很多,其中最經(jīng)典的是層次聚類和k-means聚類。
3.1 層次聚類
層次聚類又稱為系統(tǒng)聚類,是在不同層級上對樣本進行聚類,并逐步形成樹狀的結(jié)構(gòu)。在R中,hclust()函數(shù)提供了系統(tǒng)聚類的計算,plot()函數(shù)可畫出系統(tǒng)聚類的樹狀圖(也稱為譜系圖dendrogram),也可以使用cluster包中相關(guān)函數(shù)進行聚類結(jié)果可視化。層次聚類法的原理更簡單。它的基本過程如下:
3.2 k-means聚類
k-means聚類是劃分方法中比較經(jīng)典的聚類算法之一。它相對于系統(tǒng)聚類來說是一種快速聚類算法,適用于大樣本的聚類分析。原理比較簡單,它是基于距離,也就是歐式距離來實現(xiàn)的。基本過程如下:
① 首先任取k個樣本點作為k個簇的初始中心;
② 對每一個樣本點,計算它們與k個中心的距離,把它歸入距離最小的中心所在的簇;
③ 等到所有的樣本點歸類完畢,重新計算k個簇的中心;
④ 重復(fù)以上過程直至樣本點歸入的簇不再變動。
雖然k-means聚類的原理簡單收斂速度快,聚類效果較優(yōu),但缺點也比較明顯,首先k值得自己定;其次它是采用迭代方法,所以得到的結(jié)果只是局部最優(yōu);再者就是對于不是凸的數(shù)據(jù)集比較難收斂;還有就是數(shù)據(jù)不均橫、異常點影響大。
4 適用場景
5 優(yōu)化
5.1 K-Means++
在k-means聚類中 k個初始化的質(zhì)心的位置選擇對最后的聚類結(jié)果和運行時間都有很大的影響,K-Means++的實質(zhì)就是對K-Means隨機初始化質(zhì)心的方法的優(yōu)化,其目的時讓選擇的質(zhì)心盡可能的分散。距離平方進行求解,保證下一個質(zhì)心到當(dāng)前質(zhì)心的距離最遠(yuǎn)。
5.2 二分k-means
類似于決策樹的思想,通過誤差平方和設(shè)置閾值,然后進行劃分。聚類的誤差平方和能夠衡量聚類性能,該值越小表示數(shù)據(jù)點越接近于他們的質(zhì)心,聚類效果就越好。
5.3 elkan K-Means
在傳統(tǒng)的K-Means算法中,每輪迭代時,要計算所有的樣本點到所有的質(zhì)心的距離,這樣會比較的耗時。elkan K-Means算法利用了兩邊之和大于等于第三步,以及兩邊之差小于第三邊的三角形之來減少了不必要的距離計算。
5.4 Mini Batch K-Means
通常當(dāng)樣本量大于1萬做聚類的時候就需要考慮用Mini Batch K-Means算法了,這種算法使用了Mini Batch(分批處理)的方法對數(shù)據(jù)點之間的距離進行計算。計算過程中不需要使用所有的數(shù)據(jù)樣本,而是從不同類別的樣本中抽取部分樣本來代表各自類型進行計算,所以可以很好的減少運行時間,但準(zhǔn)確度也會隨之下降。
5.5 k-medoids
與 K-means 算法一樣, K-medoids也是采用歐幾里得距離來衡量某個樣本點到底是屬于哪個類簇。不同的地方在于中心點的選取,k-means中,選取當(dāng)前簇中所有數(shù)據(jù)點的平均值為中心點,所以對異常點會非常敏感;而K-medoids中是從當(dāng)前簇中選取到其他所有(當(dāng)前簇中的)點的距離之和最小的點作為中心點。但K-medoids只能對小樣本起作用。
6 案例
6.1 根據(jù) CpG 位點的差異甲基化對樣本進行分層聚類以區(qū)分不同的癌組織[1]。

6.2 利用cfDNA甲基化標(biāo)記采用迭代無監(jiān)督聚類在結(jié)直腸癌中識別了兩個亞型[2]。

6.3 基于腫瘤和遠(yuǎn)端正常組織之間差異表達(dá)的蛋白質(zhì)利用共識聚類將腫瘤樣本分為三個亞型[3]。
