
比較分類算法的話,大概考慮這幾個次元:時間空間複雜度,魯棒性,參數敏感性,處理不規則形狀,适合的類數量,類間差異(範圍大小,樣本個數,形狀差異)
除了這些聚類方法以外,統計老師講過一些傳統的聚類方法,歸屬于系統聚類的範疇,先定義觀測間的距離和類之間的距離計算方法,然後按照距離把最接近的兩個觀測(類)合并,直到合并成一個大類為止。
最短距離法:
類間距為兩類中最近觀測的距離。
不限制類形狀,對拉長的分布效果好,會删除邊緣的觀測點
最長距離法:
類間距為兩類中最遠觀測的距離。
傾向于産生直徑相等的類,易受異常值影響。
中間距離法:
類間距為最長距、最短距、類内距離的權重。
重心法:
類間距為兩類重心之間的距離
對奇異值穩健
類平均法:
類間距為兩類觀測之間距離的平均值。
傾向于先合并方差小的類,偏向于産生方差相同的類。
離差平方和法:
将合并後類内方差最小的兩類合并
傾向于産生數量相等的兩類,對異常值敏感
密度估計:
較遠的距離設為無窮。較近的兩個樣本,距離與局部密度成反比。
适用于不規則形狀類,不适用樣本數太少。
兩階段密度估計:
用密度估計計算距離,再用最短距離法聚類。
普适性較強
除了以上這些常見方法,值得一提的是去年發在science上的算法 fast search and find of density peaks. 這個方法克服了dbscan中不同類的密度差别大,鄰域範圍難以設定的問題,非常魯棒,看起來棒棒的。
ps:如果希望聚的效果好,距離度量方法有時候比聚類方法更重要。