模糊c均值聚類

2021-06-18 18:32:00 字數 3095 閱讀 1091

fcm演算法是一種基於劃分的聚類演算法,它的思想就是使得被劃分到同一簇的物件之間相似度最大,而不同簇之間的相似度最小。模糊c均值演算法是普通c均值演算法的改進,普通c均值演算法對於資料的劃分是硬性的,而fcm則是一種柔性的模糊劃分。在介紹fcm具體演算法之前我們先介紹一些模糊集合的基本知識。

6.1.1         模糊集基本知識[21]

首先說明隸屬度函式的概念。隸屬度函式是表示乙個物件x隸屬於集合a的程度的函式,通常記做μa(x),其自變數範圍是所有可能屬於集合a的物件(即集合a所在空間中的所有點),取值範圍是[0,1],即0<=

μa(x)<=1。μa(x)=1表示x完全隸屬於集合a,相當於傳統集合概念上的x∈a。乙個定義在空間x=上的隸屬度函式就定義了乙個模糊集合a,或者叫定義在論域x=上的模糊子集。對於有限個物件x1,x2,……,xn模糊集合可以表示為:

(6.1)

有了模糊集合的概念,乙個元素隸屬於模糊集合就不是硬性的了,在聚類的問題中,可以把聚類生成的簇看成模糊集合,因此,每個樣本點隸屬於簇的隸屬度就是[0,1]區間裡面的值。

6.1.2         k均值聚類演算法(hcm)介紹

k均值聚類,即眾所周知的c均值聚類,已經應用到各種領域。它的核心思想如下:演算法把n個向量xj(1,2…,n)分為c個組gi(i=1,2,…,c),並求每組的聚類中心,使得非相似性(或距離)指標的價值函式(或目標函式)達到最小。當選擇歐幾里德距離為組j中向量xk與相應聚類中心ci間的非相似性指標時,價值函式可定義為:

(6.2)

這裡是組i內的價值函式。這樣ji的值依賴於gi的幾何特性和ci的位置。

一般來說,可用乙個通用距離函式d(xk,ci)代替組i中的向量xk,則相應的總價值函式可表示為:

(6.3)

為簡單起見,這裡用歐幾里德距離作為向量的非相似性指標,且總的價值函式表示為(6.2)式。

劃分過的組一般用乙個c×n的二維隸屬矩陣u來定義。如果第j個資料點xj屬於組i,則u中的元素uij為1;否則,該元素取0。一旦確定聚類中心ci,可匯出如下使式(6.2)最小uij:

(6.4)

重申一點,如果ci是xj的最近的聚類中心,那麼xj屬於組i。由於乙個給定資料只能屬於乙個組,所以隸屬矩陣u具有如下性質:

(6.5)

且(6.6)

另一方面,如果固定uij則使(6.2)式最小的最佳聚類中心就是組i中所有向量的均值:

,                       (6.7)

這裡|gi|是gi的規模或。

為便於批模式執行,這裡給出資料集xi(1,2…,n)的k均值演算法;該演算法重複使用下列步驟,確定聚類中心ci和隸屬矩陣u:

步驟1:初始化聚類中心ci,i=1,…,c。典型的做法是從所有資料點中任取c個點。

步驟2:用式(6.4)確定隸屬矩陣u。

步驟3:根據式(6.2)計算價值函式。如果它小於某個確定的閥值,或它相對上次價值函式質的改變量小於某個閥值,則演算法停止。

步驟4:根據式(6.5)修正聚類中心。返回步驟2。

該演算法本身是迭代的,且不能確保它收斂於最優解。k均值演算法的效能依賴於聚類中心的初始位置。所以,為了使它可取,要麼用一些前端方法求好的初始聚類中心;要麼每次用不同的初始聚類中心,將該演算法執行多次。此外,上述演算法僅僅是一種具有代表性的方法;我們還可以先初始化乙個任意的隸屬矩陣,然後再執行迭代過程。

(6.8)

6.2.3  模糊c均值聚類

模糊c均值聚類(fcm),即眾所周知的模糊isodata,是用隸屬度確定每個資料點屬於某個聚類的程度的一種聚類演算法。2023年,bezdek提出了該演算法,作為早期硬c均值聚類(hcm)方法的一種改進。

fcm把n個向量xi(i=1,2,…,n)分為c個模糊組,並求每組的聚類中心,使得非相似性指標的價值函式達到最小。fcm與hcm的主要區別在於fcm用模糊劃分,使得每個給定資料點用值在0,1間的隸屬度來確定其屬於各個組的程度。與引入模糊劃分相適應,隸屬矩陣u允許有取值在0,1間的元素。不過,加上歸一化規定,乙個資料集的隸屬度的和總等於1:

(6.9)

那麼,fcm的價值函式(或目標函式)就是式(6.2)的一般化形式:

,               (6.10)

這裡uij介於0,1間;ci為模糊組i的聚類中心,dij=||ci-xj||為第i個聚類中心與第j個資料點間的歐幾里德距離;且是乙個加權指數。

構造如下新的目標函式,可求得使(6.10)式達到最小值的必要條件:

(6.11)

這裡lj,j=1到n,是(6.9)式的n個約束式的拉格朗日乘子。對所有輸入參量求導,使式(6.10)達到最小的必要條件為:

(6.12)

和(6.13)

由上述兩個必要條件,模糊c均值聚類演算法是乙個簡單的迭代過程。在批處理方式執行時,fcm用下列步驟確定聚類中心ci和隸屬矩陣u[1]:

步驟1:用值在0,1間的隨機數初始化隸屬矩陣u,使其滿足式(6.9)中的約束條件

步驟2:用式(6.12)計算c個聚類中心ci,i=1,…,c。

步驟3:根據式(6.10)計算價值函式。如果它小於某個確定的閥值,或它相對上次價值函式值的改變量小於某個閥值,則演算法停止。

步驟4:用(6.13)計算新的u矩陣。返回步驟2。

上述演算法也可以先初始化聚類中心,然後再執行迭代過程。由於不能確保fcm收斂於乙個最優解。演算法的效能依賴於初始聚類中心。因此,我們要麼用另外的快速演算法確定初始聚類中心,要麼每次用不同的初始聚類中心啟動該演算法,多次執行fcm。

6.2.4         fcm演算法的應用

通過上面的討論,我們不難看出fcm演算法需要兩個引數乙個是聚類數目c,另乙個是引數m。一般來講c要遠遠小於聚類樣本的總個數,同時要保證c>1。對於m,它是乙個控制演算法的柔性的引數,如果m過大,則聚類效果會很次,而如果m過小則演算法會接近hcm聚類演算法。

演算法的輸出是c個聚類中心點向量和c*n的乙個模糊劃分矩陣,這個矩陣表示的是每個樣本點屬於每個類的隸屬度。根據這個劃分矩陣按照模糊集合中的最大隸屬原則就能夠確定每個樣本點歸為哪個類。聚類中心表示的是每個類的平均特徵,可以認為是這個類的代表點。

從演算法的推導過程中我們不難看出,演算法對於滿足正態分佈的資料聚類效果會很好,另外,演算法對孤立點是敏感的。

模糊C均值聚類

模糊c均值聚類 fcm 即眾所周知的模糊isodata,是用隸屬度確定每個資料點屬於某個聚類的程度的一種聚類演算法。1973年,bezdek提出了該演算法,作為早期硬c均值聚類 hcm 方法的一種改進。fcm把n個向量x i i 1,2,n 分為c個模糊組,並求每組的聚類中心,使得非相似性指標的價值...

模糊C均值聚類原理

fcm演算法是一種基於劃分的聚類演算法,它的思想就是使得被劃分到同一簇的物件之間相似度最大,而不同簇之間的相似度最小。模糊c均值演算法是普通c均值演算法的改進,普通c均值演算法對於資料的劃分是硬性的,而fcm則是一種柔性的模糊劃分。硬聚類把每個待識別的物件嚴格的劃分某類中,具有非此即彼的性質,而模糊...

模糊c均值聚類演算法

模糊c均值聚類演算法 隨著目標數目的增加,jpda所需的運算量呈指數增加,當目標的個數多到一定數目時,將引發運算量的 不滿足實時跟蹤的要求。為了解決這個問題,提出了模糊資料關聯演算法。模糊資料關聯演算法是以模糊均值聚類演算法為基礎的。該演算法通過使目標函式最小化把測量資料分別劃分到以目標 位置為中心...