一、一句話介紹
聚類通常是指,對于未標(biāo)記訓(xùn)練樣本,根據(jù)樣本的內(nèi)在相似性,將樣本劃分為若干個不相交子集的學(xué)習(xí)算法。
二、最簡單的例子
一個不是很恰當(dāng)?shù)睦印偵洗髮W(xué)的時候,大家來自天南海北,是一個個單獨的個體。過一段時間以后,大家或是因為相同的興趣愛好,或是因為喜歡打同一個游戲,或是因為同一個宿舍,總之因為某種相似性,會形成不同的團團伙伙。
三、K均值算法(K-Means)
3.1、K均值算法的意義
K均值算法是最簡單的聚類算法,也是最能簡明地說明聚類思想和聚類過程的聚類算法,凡是講聚類的教材(大多)都會先講K均值聚類。
K均值聚類算法也包含了樸素的期望最大化(Expectation Maximization)思想,在吳軍博士的著作《數(shù)學(xué)之美》[1]中,吳軍博士就是用K均值算法舉例期望最大化算法的。
3.2、算法描述
3.3、K均值算法的缺點
A、是局部最優(yōu)解,而不是全局最優(yōu)解。這與初始聚類簇中心有關(guān),也就是說,聚類結(jié)果對初始聚類簇中心敏感。
B、對樣本分布敏感:對球形分布的數(shù)據(jù)聚類效果好,對非球形樣本聚類效果不好,尤其是帶狀、環(huán)狀樣本聚類效果很差;對離群點敏感。
C、其他缺點。
四、聚類算法的種類[2]
根據(jù)聚類算法實現(xiàn)大的基本原理,聚類算法主要有以下幾種:
4.1、順序算法(Sequential Algorithm)
基本順序算法方案(Basic Sequential Algorithm Scheme,BSAS)最能說明順序算法的算法思想:給定相似性度量閾值和最大聚類數(shù),按照順序給樣本分類,根據(jù)樣本到已有聚類的距離,滿足一定條件將其分配到已有聚類中,不滿足條件則劃分到新生成的聚類中。
4.2、層次聚類算法(Hierarchical Clustering Algorithm)
又分為合并算法和分裂算法。合并算法在每一步減少聚類數(shù)量,聚類結(jié)果來自于前一步的兩個聚類的合并;分裂算法原理正好相反。
4.3、基于代價函數(shù)最優(yōu)的聚類算法(Clustering Algorithm based on Cost Function Optimization)
使用代價函數(shù)來量化判斷,當(dāng)代價函數(shù)達到局部最優(yōu)時,算法結(jié)束。K均值算法如果采用歐式距離作為相似性度量的話,其代價函數(shù)是平方誤差和
代價函數(shù)J不是凸函數(shù)。
高斯混合聚類(Mixture-of-Gaussian)是另一個比較有名的此類算法。
4.4、基于密度的算法(Density-based Algorithm)
該類算法把聚類視為空間中數(shù)據(jù)較為密集的區(qū)域。DBSCAN就是一種著名的密度聚類算法。
值得一提的是,2014年6月Alex Rodriguez, Alessandro Laio在《Science》期刊上發(fā)表了一篇論文,"Clustering by fast search and find of density peaks",論文中提出了一種非常巧妙的聚類算法。
4.5、其他算法
五、聚類的幾個問題
5.1、相似性度量
無論哪種算法,都離不開相似性度量,只有相似性度量可以說明樣本之間的相似性。相同的樣本集,選擇相同的算法,選擇不同的相似性度量,可能聚類的結(jié)果就會不同。
我在另一篇筆記中整理了一下常用的相似性度量,《相似性度量》。
5.2、聚類準(zhǔn)則
如4.3所述,基于代價函數(shù)最優(yōu)的聚類算法都需要一個聚類準(zhǔn)則,K均值算法的聚類準(zhǔn)則是最小平方誤差和;高斯混合聚類聚類準(zhǔn)則是最大化樣本出現(xiàn)的概率。
5.3、性能度量
聚類性能度量也稱為聚類有效性指標(biāo)(Vadility Index),通過某種度量來評估聚類結(jié)果的好壞。[3]
5.4、超參數(shù)
超參數(shù),我的理解就是需要先驗地假設(shè)一些參數(shù)值,這些參數(shù)是聚類過程的基礎(chǔ)參數(shù)。
很多聚類算法需要有超參數(shù)。K均值算法需要預(yù)先設(shè)定聚類簇數(shù)k;DBSCAN需要預(yù)先設(shè)定鄰域參數(shù)和簇內(nèi)最少樣本,等等。
超參數(shù)的確定有很多方法,比如K均值算法聚類簇數(shù)k可通過稱作“肘部法則[4]”的方法確定
六、參考
[1]、《數(shù)學(xué)之美》,吳軍著
[2]、《模式識別(第四版)》,Sergios Theodoridis等著,李晶皎等譯
[3]、《模式識別》,周志華著
[4]、《斯坦福大學(xué)2014機器學(xué)習(xí)教程個人筆記完整版v4.21》,黃廣海整理