1. 程式人生 > >幾種計算機視覺中常用的聚類演算法(K-means, Agglomerative clustering, Mean shift, Spectral clustering)

幾種計算機視覺中常用的聚類演算法(K-means, Agglomerative clustering, Mean shift, Spectral clustering)

對於機器學習而言,聚類常常應用於離散情況下的非監督學習演算法之中,如下圖所示。


聚類的總體目標是使得最小化目標函式:


聚類的方法很多,常用的包括(K-means, Agglomerative clustering,mean shift, Spectral clustering)。

1.        K-means

核心思想為迭代的指定點到最近的聚類中心。聚類演算法會收斂到區域性極小值。

演算法的有點包括:

l  簡單快速(不針對大型的聚類問題)

l  容易實現

l  能很好的表示資料

缺點包括

l  需要設定k

l  對outliers很敏感

l  收斂到區域性極小值

l  對於大型的聚類問題,其演算法複雜度較高,可能導致執行很慢

基本原理:



2.        Agglomerative clustering

基本思想為:從每一個點開始作為一個類,然後迭代的融合最近的類。能建立一個樹形層次結構的聚類模型

演算法優點為:

l  易於實現,具有廣泛的應用

l  擁有一定的自適應形狀

l  可提供層級聚類

演算法缺點:

l  仍然需要選擇聚類的個數或者設定相關的閾值

l  可能會導致聚類不平衡(如一個類超大,一個類超小)

基本原理為:


3.        Mean shift

演算法優點為:

l  對outliers很魯棒

l  不需要預先設聚類的個數或者區域

演算法缺點為:

l  需要設定核的尺寸

l  不適合特徵維數很高的聚類


4.        Spectral clustering