1. 程式人生 > >K-means演算法優缺點及改進

K-means演算法優缺點及改進

K-means演算法優點:

(1)、是解決聚類問題的一種經典演算法,簡單、快速 (2)、對處理大資料集,該演算法保持可伸縮性和高效性 (3)、當簇接近高斯分佈時,它的效果較好。

K-means演算法缺點:

(1)、在簇的平均值可被定義的情況下才能使用,可能不適用於某些應用;
(2)、在 K-means 演算法中 K 是事先給定的,這個 K 值的選定是非常難以估計的。很多時候,事先並不知道給定的資料集應該分成多少個類別才最合適;
(3)、在 K-means 演算法中,首先需要根據初始聚類中心來確定一個初始劃分,然後對初始劃分進行優化。這個初始聚類中心的選擇對聚類結果有較大的影響,一旦初始值選擇的不好,可能無法得到有效的聚類結果;
(4)、該演算法需要不斷地進行樣本分類調整,不斷地計算調整後的新的聚類中心,因此當資料量非常大時,演算法的時間開銷是非常大的;
(5)、若簇中含有異常點,將導致均值偏離嚴重(即:對噪聲和孤立點資料敏感);

(6)、不適用於發現非凸形狀的簇或者大小差別很大的簇。

K-means演算法缺點的改進:

1、很多時候,事先並不知道給定的資料集應該分成多少個類別才最合適。通過類的自動合併和分裂,得到較為合理的型別數目 K,例如 ISODATA 演算法。

2、針對上述(3),可選用二分K-均值聚類;或者多設定一些不同的初值,對比最後的運算結果,一直到結果趨於穩定結束。

3、針對上述第(5)點,改成求點的中位數,這種聚類方式即K-Mediods聚類(K中值)