K_means的改進:二分K_means演算法
傳統K_means演算法存在的缺陷
(1)演算法的初始中心點選擇與演算法的執行效率密切相關,而隨機選取中心點有可能導致迭代次數很大或者限於某個區域性最優狀態;通常 k << n,且 t << n,所以演算法經常以區域性最優收斂。
(2)K均值的最大問題是要求使用者必須事先給出 k 的值,k 的選擇一般都基於一些經驗值和多次試驗結果,對於不同的資料集,k 的取值沒有可借鑑性。
(3)對異常偏離的資料敏感——離群點;K均值對 “ 噪聲 ” 和孤立點資料都是敏感的,少量的這類資料就能對平均值造成極大的影響。
二分K_means演算法簡介
由於傳統的K_means演算法的聚類結果容易受到初始聚類中心點選擇的影響,因此在傳統的K_means演算法的基礎上進行演算法的改進,對初始中心點的選擇比較嚴格,各個中心點的距離較遠,這就避免了初始聚類中心會選到一個類上,一定程度上克服了演算法陷入區域性最優的狀態。
二分K_means(Bisecting K_means)演算法的主要思想是:首先將所有點作為一個簇,然後將該簇一分為二。之後選擇能最大限度降低聚類的代價函式(也就是誤差平方和)的簇劃分為兩個簇。依此進行下去,直到簇的數目等於使用者給定的數目 k 為止。以上隱含一個原則是:因為聚類的誤差平方和能夠度量聚類的效能,該值越小表示資料點越接近於他們的質心,聚類的效果越好。所以我們就需要對誤差平方和最大的簇進行再一次劃分,因為誤差平方和越大,表示該聚類效果越不好,越有可能是多個簇被當成了一個簇,所以我們首先需要對這個簇進行劃分。