6 什麼是K 均值聚類 K Means 算

2021-10-07 02:42:30 字數 1711 閱讀 2599

傳統的聚類分析計算方法主要有如下幾種:劃分方法、層次方法、基於密度的方法、基於網格的方法、基於模型的方法等。其中k-means演算法是劃分方法中的乙個經典的演算法。

「類」指的是具有相似性的集合,

聚類是指將資料集劃分為若干類,

使得各個類之內的資料最為相似,而各個類之間的資料相似度差別盡可能的大。

對資料集進行聚類劃分,屬於無監督學習。

k-means演算法是一種簡單的迭代型聚類演算法,採用距離作為相似性指標,從而發現給定資料集中的k個類,且每個類的中心是根據類中所有數值的均值得到的,每個類的中心用聚類中心來描述。

結合最小二乘法和拉格朗日原理,聚類中心為對應類別中各資料點的平均值,同時為了使演算法收斂,在迭代的過程中,應使得最終的聚類中心盡可能的不變。

-隨機選取k個樣本作為聚類中心;

-計算各樣本與各個聚類中心的距離;

-將各樣本回歸於與之距離最近的聚類中心;

-求各個類的樣本的均值,作為新的聚類中心;

-判定:若類中心不再發生變動或者達到迭代次數,演算法結束,否則回到第二步。

歐氏距離或歐幾里德度量

是歐幾里得空間中兩點之間的「普通」 直線距離。通過這個距離,歐幾里德空間成為度量空間

廣義的歐幾里得範數項

l2範數或l2距離

2.1 k均值的基本原理和實現

k-means嘗試尋找資料的自然類別,使用者設定類別的個數,從而尋找到好的類別中心。

演算法的流程如下:

1.輸入資料集合和類別數k;

2.隨機分配類別中心點的位置;

3.將每個點放入離它最近的類別中心點所在的集合;

4.移動類別中心點到它所在的集合;

5.轉到第3步,直至收斂。

k均值的迭代示意圖如圖2.1-1所示:

2.2 k均值的缺點

k-means是乙個極其高效的聚類演算法,但是它存在以下三個問題:

1.它不能保證定位到聚類中心的最佳方案,但能保證收斂到某個解決方案;

2.k-means無法指出應該使用多少個類別。在同一資料集中,選擇不同的類別得到的結果是不一樣的,甚至是不合理的;

3.k-means假定空間的協方差矩陣不會影響到結果。

2.3 k-means的改進

1.多進行幾次聚類,每次初始化的聚類中心不一樣,最後選擇方差最小的那個結果;

2.首先將類別設定為1,然後提高類別數(到達某個上限),一般情況下,總方差會快速下降直到達到某個拐點,這意味著再加乙個新的聚類中心也不會顯著減少總體方差。在拐點處停止,儲存此時的類別數;

3.將資料乘以逆協方差矩陣進行資料的歸一化。

k均值聚類 K means

分類作為一種監督學習方法,要求必須事先明確知道各個類別的資訊,並且斷言所有待分類項都有乙個類別與之對應。但是很多時候上述條件得不到滿足,尤其是在處理海量資料的時候,如果通過預處理使得資料滿足分類演算法的要求,則代價非常大,這時候可以考慮使用聚類演算法。聚類屬於無監督學習,相比於分類,聚類不依賴預定義...

K均值 K means 聚類演算法

j.b.macqueen 在 1967 年提出的k means演算法 22 到目前為止用於科學和工業應用的諸多聚類演算法中一種極有影響的技術。它是聚類方法中乙個基本的劃分方法,常常採用誤差平方和準則函式作為聚類準則函式,誤差平方和準則函式定義為 3 1 其中,是類 中資料物件的均值,即 j 1,2,...

K 均值聚類演算法 K means

k means是一種無監督的學習,將相似的物件歸到同乙個簇中.可以將一批資料分為k個不同的簇,並且每個簇的中心採用簇中所含樣本的均值計算而成.k means演算法的k值需要由使用者指定,演算法開始時隨機選擇k個初始點作為質心,然後將資料集中的每個點分配到乙個簇中.那麼,如何確定某一組資料歸於哪個簇中...