k means演算法及改進

2021-09-26 12:45:36 字數 1074 閱讀 6216

k-means是最常用的聚類演算法

k-means演算法流程

1)選擇k個類為初始中心

2)在第i次迭代中,對任意樣本,計算其到各中心的距離,將樣本歸到距離最短的中心所在的類

3)利用均值等方法更新類的中心值

4)對於聚類中心,經過2)3)迭代後,值保持不變,迭代結束,否則繼續迭代。

k-means偽**

選擇k個點作為初始質心

repeat

• 計算每個點到質心的距離,將其歸到距離最短的質心所在的類,形成k個簇

• 重新計算每個簇的質心

until 簇不發生變化或達到最大迭代次數

k-means聚類演算法缺點

1)初始中心點位置隨機,不同的初始點有不同的迭代次數

2)需人為確定初始聚類中心

3)聚類中心的個數難以估計,不確定資料集應該劃分為多少類

k-means改進

kmeans++演算法思想

1)假設分為k類

2)從輸入的資料點集合中隨機選擇乙個點作為第乙個聚類中心

3)對資料集中的每個點,計算其與聚類中心的距離d

4)選擇乙個新的資料點作為新的聚類中心,選取原則是d較大的點被選擇的概率較大

5)重複3和4直到k個聚類中心被選出來

6)利用k個初始的聚類中心執行標準的k-means演算法

簡而言之,選擇中心點時各中心點的距離盡可能的遠。

isodata

isodata是迭代自組織資料分析法。在k-means中,k需要預先人為地確定,在整個演算法過程中無法更改。而當遇到高維度、海量的資料集時,k的大小難以估計。isodata針對這個問題進行了改進,演算法思想是:當屬於某個類別的樣本數過少時把這個類別去除;當屬於某個類別的樣本數過多、分散程度較大時把這個類別分為兩個子類別。

kernel k-means

傳統k-means採用歐式距離進行樣本間的相似度度量,而kernel k-means參照支援向量機中核函式的思想,將所有樣本對映到另外乙個特徵空間中再進行聚類,可以改善聚類效果。

K means的改進 二分K means演算法

1 演算法的初始中心點選擇與演算法的執行效率密切相關,而隨機選取中心點有可能導致迭代次數很大或者限於某個區域性最優狀態 通常 k n,且 t n,所以演算法經常以區域性最優收斂。2 k均值的最大問題是要求使用者必須事先給出 k 的值,k 的選擇一般都基於一些經驗值和多次試驗結果,對於不同的資料集,k...

KMeans聚類演算法的缺陷及改進方法

演算法思路 選擇k個點作為初始質心 repeat 將每個點指派到最近的質心,形成k個簇 重新計算每個簇的質心 until 簇不發生變化或達到最大迭代次數 1 k means聚類演算法需要使用者事先指定聚類的個數k值.在很多時候,在對資料集進行聚類的時候,使用者起初並不清楚資料集應該分為多少類合適,對...

常用聚類演算法K means及其改進演算法

聚類演算法是將大量資料以相似度為基礎形成若干類,使類內之間的資料最為相似,類間的資料相似度差別盡可能的大,屬於無監督學習。k means聚類演算法以k為引數,把n個物件分為k個簇,以使簇內的具有較高的相似度,且簇間相似度低。e的計算為 輸入 簇的數目k和包含n個物件的資料庫 過程 任選k個物件作為初...