聚類算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut

聚類算法是ML中一個重要分支,一般採用unsupervised learning進行學習,本文根據常見聚類算法分類講解K-Means, K-Medoids, GMM, Spectral clustering,Ncut五個算法在聚類中的應用。




Clustering Algorithms分類

1. Partitioning approach:

        建立數據的不同分割,然後用相同標準評價聚類結果。(比如最小化平方誤差和)

        典型算法:K-Means, K-Medoids

2. Model-based:

       對於每個類假定一個分佈模型,試圖找到每個類最好的模型

       典型算法:GMM(混合高斯) 

3. Dimensionality Reduction Approach:

       先降維,再聚類

       典型算法:Spectral clustering,Ncut


下面分別解析~




1. Partitioning approach

1.目標:

       找出一個分割,使得距離平方和最小


2.方法:

       Global optimal : 枚舉所有partition

       Heuristic method:K-Means, K-Medoids


3.K-Means算法:

       1. 將數據分爲k個非空子集

       2. 計算每個類中心點(k-means<centroid>中心點是所有點的average),記爲seed point

       3. 將每個object聚類到最近seed point

       4. 返回2,當聚類結果不再變化的時候stop


複雜度:

       O(kndt)

       -計算兩點間距離:d

       -指定類:O(kn)   ,k是類數

       -迭代次數上限:t


4.K-Medoids算法:

       1. 隨機選擇k個點作爲初始medoid

       2.將每個object聚類到最近的medoid

       3. 更新每個類的medoid,計算objective function 

       4. 選擇最佳參數

       4. 返回2,當各類medoid不再變化的時候stop


複雜度:

       O((n^2)d)

       -計算各點間兩兩距離O((n^2)d)

       -指定類:O(kn)   ,k是類數


5.特點:

       -聚類結果與初始點有關(因爲是做steepest descent from a random initial starting oint)

       -是局部最優

       -在實際做的時候,隨機選擇多組初始點,最後選擇擁有最低TSD(Totoal Squared Distance)的那組


6. KMeans和KMedoid的實現





2. Model-based——GMM(Gaussian Mixture Model)

1.GMM概念:

          -將k個高斯模型混合在一起,每個點出現的概率是幾個高斯混合的結果。




          -假設有K個高斯分佈,每個高斯對data points的影響因子爲πk,數據點爲x,高斯參數爲theta,則


          -要估計的模型參數爲每個類的影響因子πk,每個類的均值(μk)及協方差矩陣(Σk)




2. GMM的似然函數:

          log-likelihood function:

          假設N個點的分佈符合i.i.d,則有似然函數


          問題是,對於這樣的一個似然函數,用gradient descent的方法很難進行參數估計(可證明)

          所以用前面我們講過的EM(expectation maximization)算法進行估計:


          引入中間latent項z(i),其分佈爲Q,用EM算法,就有上面的恆等,那麼爲什麼是恆等呢?來看看講EM的這篇文章,第三張的開頭寫的,=constant,也就是說與z(i)無關了,而等於p(x(i);theta),這也就是說可以用混合高斯模型的概率表示了。





3. EM具體應用到GMM參數求解問題:

E-step: 根據已有observed data和現有模型估計missing data:Qi(zk)

M-step: 已經得到了Q,在M-step中進行最大似然函數估計(可以直接用log-likelihood似然函數對參數求偏導)




4. GMM的實現



5. K-Means與GMM的比較:

          

          -KMeans:

1. Objective function:§Minimize the TSD
2. Can be optimized by an EM algorithm.
          §E-step: assign points to clusters.
          §M-step: optimize clusters.
          §Performs hard assignment during E-step.
3. Assumes spherical clusters with equal probability of a cluster.


          -GMM:

1. Objective function:§Maximize the log-likelihood.
2. EM algorithm:
          §E-step: Compute posterior probability of membership.
          §M-step: Optimize parameters.
          §Perform soft assignment during E-step.
3. Can be used for non-sphericalclusters. Can generate clusterswith different probabilities.





3. Dimensionality Reduction Approach: Spectral Clustering 


1. Spectral clustering要解決的問題:

上面的KMeans不能能解決一些問題,如圖所示:


而這種問題可以通過譜聚類(spectral clustering)解決。將數據展開到兩個特徵向量空間,即得:


下面我們介紹譜分解的算法~





2.clustering objectives:

          將邊權賦值爲兩點之間的similarity,做聚類的目標就是最小化類間connection的weight。



比如對於下面這幅圖,分割如下


          但是這樣有可能會有問題,比如:


由於Graph cut criteria 只考慮了類間差小,而沒考慮internal cluster density.所以會有上面分割的問題。這裏引入Normalised-cut(Shi & Malik, 97')。



3. 改進版:Ncut

          -consider the connection between groups relative to the density of each group:


          其中,vol 是每個group的volume,也就是normalize by group volume.


          最後的目標是最小化Ncut(A,B).



4. Ncut 的求解:

          -Matrix Representation:


          -Objective Function of Ncut:




詳見wiki上的求解過程,這裏不再贅述。







關於Machine Learning更多的學習資料與相關討論將繼續更新,敬請關注本博客和新浪微博Rachel Zhang 

發佈了3 篇原創文章 · 獲贊 18 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章