K means聚類演算法

2022-07-03 01:24:11 字數 1912 閱讀 5030

1. k-means聚類演算法簡介

採用的是將n*p的矩陣 x 劃分為k個類,使得類內物件之間的距離最大,而類之間的距離最小。

2. 偽**

輸入:訓練樣本 x = (其中x為m-by-n矩陣,包含m個樣本點,每個樣本點n個特徵)

聚類簇數 k(為一標量scalar)

聚類過程:從x中隨機選取k個樣本頂啊作為初始聚類中心,k = .

repeat:

% (1). 劃分樣本到特定的簇中

forj = 1,2,3,......ndo

計算樣本xj與各聚類中心 k 的距離;

將該樣本划進與其最近的樣本中心 ki 所在的簇中。

end for

% (2). 更新聚類中心

fori = 1,2,3,......kdo

計算新的聚類中心 k『 = ;

end for

until 所有的聚類中心不再變化,或者說聚類結果不再變化

3. 優化目標

4. 示例**

% 輸入 x 待聚類樣本點,為 m - by -n 矩陣,包含m個樣本點,每個樣本點包含n個特徵

%輸如 k 為使用者自定義的所需劃分的簇數,為乙個標量

idx=kmeans(x,k)

[idx,c]=kmeans(x,k)

[idx,c,sumd]=kmeans(x,k)

[idx,c,sumd,d]=kmeans(x,k)

[…]=kmeans(…,』param1』,val1,』param2』,val2,…)

% 輸出 idx 為 m - by -1列向量,記錄每個樣本點所屬的簇

% 輸出 c 為 k - by -n 矩陣,記錄最終各簇的聚類中心

% 輸出 sumd 為k - by -1的和向量,儲存的是類間所有點與該類質心點距離之和

% 輸出 d 為 m - by -k 矩陣,儲存每個樣本點與各個聚類中心的距離

[…]=kmeans(…,'

param1

',val1,'

param2

',val2,…)

這其中的引數param1、param2等,主要可以設定為如下:

1. 『distance』(距離測度)

『sqeuclidean』 歐式距離(預設時,採用此距離方式)

『cityblock』 絕度誤差和,又稱:l1

『cosine』 針對向量

『correlation』 針對有時序關係的值

『hamming』 只針對二進位制資料

2. 『start』(初始質心位置選擇方法)

『sample』 從x中隨機選取k個質心點

『uniform』 根據x的分布範圍均勻的隨機生成k個質心

『cluster』 初始聚類階段隨機選擇10%的x的子樣本(此方法初始使用』sample』方法)

matrix 提供一k*p的矩陣,作為初始質心位置集合

3. 『replicates』(聚類重複次數) 整數

K Means聚類演算法

k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...

聚類演算法 K means

演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...

k means聚類演算法

說到聚類,得跟分類區別開來,分類是按人為給定的標準將樣本歸到某個類別中去,在機器學習中多是監督學習,也就是訓練樣本要給標籤 正確的類別資訊 而聚類是在某種規則下自動將樣本歸類,在機器學習中是無監督學習,不需要提前給樣本打標籤。k means聚類演算法,就是在某種度量方式下,將樣本自動劃分到k個類別中...