k means聚類演算法

2021-08-02 02:55:22 字數 1467 閱讀 6960

聚類屬於無監督學習,以往的回歸、樸素貝葉斯、svm等都是有類別標籤y的,也就是說樣例中已經給出了樣例的分類。而聚類的樣本中卻沒有給定y,只有特徵x,比如假設宇宙中的星星可以表示成三維空間中的點集(x,y,z)。聚類的目的是找到每個樣本x潛在的類別y,並將同類別y的樣本x放在一起。比如上面的星星,聚類後結果是乙個個星團,星團裡面的點相互距離比較近,星團間的星星距離就比較遠了。

在聚類問題中,給我們的訓練樣本是,每個x(

i)屬於rn

,沒有了標籤y。

選擇k個點作為質心(指定)

repeat

將每個指派到最近質心k個簇

重新計算每個簇的質心

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

k-means問題是如何保證收斂。描述下收斂性,定義畸變函式(distortion function)如下

選用層次聚類或canopy演算法進行初始聚類,然後從k個類別中分別隨機選取k個點,來作為kmeans的初始聚類中心點

1、層次聚類

2、canopy演算法進行初始聚類

那麼針對乙個具體的canopy應該如何建立呢?下面介紹建立乙個普通的canopy演算法的步驟。

那麼針對乙個具體的canopy應該如何建立呢?下面介紹建立乙個普通的canopy演算法的步驟

階段一:

- 原始資料集合list按照一定的規則進行排序(這個規則是任意的,但是一旦確定就不再更改),初始距離閾值為t1、t2,且t1 > t2(t1、t2的設定可以根據使用者的需要,或者使用交叉驗證獲得)。

- 在list中隨機挑選乙個資料向量a,使用乙個粗糙距離計算方式計算a與list中其他樣本資料向量之間的距離d。

- 根據第2步中的距離d,把d小於t1的樣本資料向量劃到乙個canopy中,同時把d小於t2的樣本資料向量從候選中心向量名單(這裡可以理解為就是list)中移除。

- 重複第2、3步,直到候選中心向量名單為空,即list為空,演算法結束。

階段二:

- 在階段一的基礎上應用傳統聚類演算法,k-means均值聚類法的距離計算方式是精準的。計算同乙個canopy中的資料向量之間距離,減少了代價很大的精確距離計算。

canopy演算法優勢在於可以通過第一階段的粗糙距離計算方法把資料劃入不同的可重疊的子集,只計算在同乙個重疊子集中的樣本資料向量減少需要精確計算的樣本

K Means聚類演算法

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

聚類演算法 K means

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

k means聚類演算法

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