聚類算法是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)的那組
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:
-GMM:
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 。