如何優化Kmeans

2021-10-02 00:04:26 字數 948 閱讀 8606

想要知道如何優化kmeans,首先得知道:

什麼是kmeans?

kmeans的優點;

kmeans的缺陷;

知道了以上這些知識點,我們才能針對性優化kmeans。

kmeans是一種非監督的聚類演算法,首先選取k值,並隨機初始化k個質心,計算每個樣本與質心的相似度,將樣本劃分到距離其最近的乙個質心的堆簇,然後計算每個堆簇的新的質心,迭代上述過程,直到質心沒有新的變動。如果資料集很大,kmeans的收斂速度會很慢。

kmeans的演算法流程

• 初始化常數k,隨機選取初始點為質心

• 重複計算以下過程,直到質心不再改變

o 計算樣本與每個質心之間的相似度,將樣本歸類到最相似的類中

o 重新計算質心

• 輸出最終的質心以及每個類

kmeans的優點:

非常簡單,易於實現。

kmeans的缺陷:

k值需要預先選定,k值的選擇對於最後的聚類效果影響非常大。需要一定的先驗知識。

kmeans對於質心的初始點位置敏感,不同的初始化位置會導致不同的聚類結果。

對離群點(異常點)敏感。

針對以上三個缺陷,提出如下三個優化方法:

針對k值選擇,使用先驗知識選取k的備選。

針對初始化質心,二分k-均值。具體:首先將資料集劃分為乙個群簇(整體),然後將其一分為二,最大限度降低聚類代價函式(誤差平方和函式),形成兩個群簇。迭代這個過程,直到群簇數量等於k值。

對資料集的異常樣本做處理。

深度學習網路總結

機器學習演算法及其應用場景

演算法與資料結構(leetcode 題解)

cuda程式設計與並行優化

其他讀書分享如:《戰國策》,《智囊全集》

宇宙常識科普與星座辨別等等.

k means演算法優化

一 k means演算法介紹 k means 演算法是首先從含有n個資料物件的資料集中隨機選擇k個資料物件作為初始中心。然後計算每個資料物件到各中心的距離,根據最近鄰原則,所有資料物件將會被劃分到離它最近的那個中心所代表的簇中。接著分別計算新生成的各個簇中資料物件的均值作為各簇新的中心,比較新的中心...

K means演算法及其優化

聚類演算法是一種典型的無監督學習演算法,主要用於將相似的樣本自動歸到乙個類別中。聚類演算法與分類演算法最大的區別是 聚類演算法是無監督的學習演算法,而分類演算法屬於監督的學習演算法。在聚類演算法中根據樣本之間的相似性,將樣本劃分到不同的類別中,對於不同的相似度計算方法,會得到不同的聚類結果,常用的相...

Kmeans演算法及相關優化

1 kmeans演算法是一種無監督聚類演算法。2 演算法的目標 給定樣本集,根據樣本之間的距離大小,將樣本劃分為k個簇,讓簇內的點之間的距離盡可能近,讓簇間的點的距離盡可能的遠。3 演算法的思路 在給定k值和k個初始類簇中心點的情況下,把每個點 樣本資料 分到距離最近的類簇中心點代表的類簇中。分配完...