所謂聚類問題,就是給定乙個元素集合d,其中每個元素具有n個可觀察屬性,使用某種演算法將d劃分成k個子集,
要求每個子集內部的元素之間相異度盡可能低,而不同子集的元素相異度盡可能高。其中每個子集叫做乙個簇。
與分類不同,分類是有監督學習,要求分類前明確各個類別,並斷言每個元素對映到乙個類別,而聚類是標記學習,在聚類前可以不知道類別甚至不給定類別數量,是無監督學習的一種。
目前聚類廣泛應用於統計學、生物學、資料庫技術和市場營銷等領域,相應的演算法也非常的多。本文僅介紹一種最簡單的聚類演算法——k均值(k-means)演算法。
k-means演算法中的k代表類簇個數,means代表類簇內資料物件的均值(這種均值是一種對類簇中心的描述),因此,k-means演算法又稱為k-均值演算法。k-means演算法是一種基於劃分的聚類演算法,以距離作為資料物件間相似性度量的標準,即資料物件間的距離越小,則它們的相似性越高,則它們越有可能在同乙個類簇。資料物件間距離的計算有很多種,k-means演算法通常採用歐氏距離來計算資料物件間的距離。
其中,d表示資料物件的屬性個數。
k-means演算法聚類過程中,每次迭代,對應的類簇中心需要重新計算(更新):對應類簇中所有資料物件的均值,即為更新後該類簇的類簇中心。定義第k個類簇的類簇中心為centerk,則類簇中心更新方式如下:
其中,k表示類簇個數。當兩次迭代j的差值小於某一閾值時,即δj
k-means演算法思想可描述為:首先初始化k個類簇中心;然後計算各個資料物件到聚類中心的距離,把資料物件劃分至距離其最近的聚類中心所在類簇中;接著根據所得類簇,更新類簇中心;然後繼續計算各個資料物件到聚類中心的距離,把資料物件劃分至距離其最近的聚類中心所在類簇中;接著根據所得類簇,繼續更新類簇中心;……一直迭代,直到達到最大迭代次數tt,或者兩次迭代jj的差值小於某一閾值時,迭代終止,得到最終聚類結果。演算法詳細流程描述如下:
演算法簡單易實現;
需要使用者事先指定類簇個數k;
聚類結果對初始類簇中心的選取較為敏感;
容易陷入區域性最優;
只能發現球型類簇;
K Means聚類演算法
k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...
聚類演算法 K means
演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...
k means聚類演算法
說到聚類,得跟分類區別開來,分類是按人為給定的標準將樣本歸到某個類別中去,在機器學習中多是監督學習,也就是訓練樣本要給標籤 正確的類別資訊 而聚類是在某種規則下自動將樣本歸類,在機器學習中是無監督學習,不需要提前給樣本打標籤。k means聚類演算法,就是在某種度量方式下,將樣本自動劃分到k個類別中...