人工智能聚類算法總結


人工智能聚類算法總結

聚類算法是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:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM