KMeans原理 調參及應用

2021-07-05 03:40:39 字數 1446 閱讀 9367

一、前言

kmeans是資料探勘十大演算法之一,在資料探勘實踐中,我們也常常將kmeans運用於各種場景,因為它原理簡單、易於實現、適合多種資料探勘情景。

二、原理

kmeans的原理較為簡單:以某種相似性度量為標準,確定樣本的結構,即樣本屬於哪乙個簇取決於該樣本與哪乙個簇的中心點最相似。

演算法步驟如下:

1.決定要將樣本分成幾個簇,設為k;

2.初始化k個簇的中心點;

3.遍歷每乙個樣本,計算它與k個簇中心點的相似度,並將它分配到最相似的那個簇;

4.對k個簇重新計算中心點,每個簇的中心點為該簇中所有樣本的均值,若中心點不變或變化小於某個可接受的範圍,則結束,否則返回第3步。

常用的相似性度量包括歐氏距離、余弦相似度等,當特徵向量為低維稠密向量時可使用歐氏距離,當特徵向量為高維稀疏向量時(例如文字)可使用余弦相似度,當然,具體的相似性度量的選擇要根據具體的應用場景而定。

三、如何評價kmeans

使用任何乙個演算法或模型都免不了對模型的評估,作為模型選擇、調優的依據。

kmeans的損失函式:

其中,四、調參

kmeans演算法有兩個需要決策的地方,乙個是k的選擇,另乙個是初始中心點的選擇。

1.k的選擇

一般情況下,我們可以選取k=2,3,...,10進行多次試驗,並以k值為x軸,以損失函式作為y軸進行畫圖,理論上,隨著k值的增大,損失函式會減小,選取圖中的拐點(圖中綠色的點)對應的k值為合適的k值,這意味著繼續增大k值的效果已經不明顯了。

但是也有可能曲線不存在明顯的拐點,也就是說損失函式是隨著k值的增大而穩步減小的,這時,我們還可以根據具體的應用擬定合適的指標作為y值進行k值選取。

2.初始中心點的選擇

初始中心點的選擇最簡單的做法是隨機從樣本中選k個作為中心點,但由於中心點的選擇會影響kmeans的聚類效果,因此我們可以採取以下三種方式優化中心點的選取:

1.多次選取中心點進行多次試驗,並用損失函式來評估效果,選擇最優的一組;

2.選取距離盡量遠的k個樣本點作為中心點:隨機選取第乙個樣本c1作為第乙個中心點,遍歷所有樣本選取離c1最遠的樣本c2為第二個中心點,以此類推,選出k個初始中心點;

3.特別地,對於像文字這樣的高維稀疏向量,我們可以選取k個兩兩正交的特徵向量作為初始化中心點。

五、應用

kmeans的應用場景非常多,除了一般的聚類場景(例如對使用者進行分群組、對微博文本進行分群組等)以外,我們還可以用kmeans實現單變數的離散化,因為一般的等頻和等距的離散化方法往往會忽略變數中潛在的分布特徵,而基於聚類的離散化可以一定程度地保留變數的分布特徵。

決策樹演算法原理及調參

決策樹是通過一系列規則對資料進行分類的過程。它提供一種在什麼條件下會得到什麼值的類似規則的方法。決策樹分為分類樹和回歸樹兩種,分類樹對離散變數做決策樹,回歸樹對連續變數做決策樹。cart和c4.5支援資料特徵為連續分布時的處理,主要通過使用二元切分來處理連續型變數,即求乙個特定的值 值 特徵值大於 ...

k Means聚類原理及實現

吸收天地之精華,為了完成對資料聚類的任務,廣泛查閱各種資料,現總結如下 聚類分析是沒有給定劃分類別的情況下,根據樣本相似度進行樣本分組的一種方法,是一種非監督的學習演算法。聚類的輸入是一組未被標記的樣本,聚類根據資料自身的距離或相似度劃分為若干組,劃分的原則是組內距離最小化而組間距離最大化,如下圖所...

11 K Means 原理及案例

unsupervised learning 非監督學習 只有特徵值,沒有目標值 聚類 主要方法 k means k 需要分成的類別數 隨機設定k個特徵空間內的點作為初始的聚類中心 紅,綠,藍 k 3 給定 對於其他每個點計算到k個中心的距離,未知的點選擇最近的乙個聚類 中心點作為標記類別,形成3個族...