K means演算法原理以及其缺點

2021-07-04 09:39:41 字數 531 閱讀 6178

k-means是一種經典unsupervised的聚類演算法。其演算法描述如下:

輸入:聚類個數-k,n個資料物件

輸出:每個資料物件所屬的聚類label(滿足方差最小)

從n個資料物件中挑選出k個質心。

計算n個資料物件距離不同質心的距離,並將n個資料物件劃分到與之距離最小的質心,形成新的k個聚類。

重新計算步驟2中獲取新的k個聚類的質心,計算方法為求取聚類中所有資料物件的均值。

重複2-3步驟,直到每個聚類的資料成員不再發生變化。

k-means主要的缺點如下:

執行速度。雖然通常情況下,k-means執行的迴圈次數要少於資料物件的個數。但是對於worst cases,其執行的時間複雜度將是super-polynomial的。

k值的選取。在執行程式前,需要給定k值的大小。然而對於不同的k值,劃分的結果當然不同,因此確定最合適的k值非常關鍵。

初始化k個centroid。centroid的初始選取對於劃分結果亦非常關鍵。

k-means對於資料不同的維度「一視同仁」,缺乏輕重之分。

K means演算法的原理 優缺點

k means方法是一種非監督學習的演算法,它解決的是聚類問題1 演算法簡介 k means方法是聚類中的經典演算法,資料探勘十大經典演算法之一 演算法接受引數k,然後將事先輸入的n個資料物件劃分為k個聚類以便使得所獲得的聚類滿足聚類中的物件相似度較高,而不同聚類中的物件相似度較小。2 演算法思想 ...

K means演算法原理

k means,聚類 clustering 屬於非監督學習 unsupervised learning 無類別標記。clustering 中的經典演算法,資料探勘十大經典演算法之一,其運算速度比較快,而且簡單。但是最終的結果和初始點的選擇有關,容易陷入區域性最優,且需要知道k的值。1.演算法接受引數...

Kmeans演算法及其示例

kmeans是簡單的聚類分析演算法。其常用在資料分析與人工智慧中。簡單說,kmeans演算法就是把乙個集合中的東西分為若干子集,這幾個子集內的元素具有空間相近或者特點相近。做法 1.隨機選取k各中心點,生成對應的k個簇。2.遍歷所有的資料點,依據 距離 將每乙個資料點劃分到最近的中心點所在的簇。3....