《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于粒子群優(yōu)化的模糊C均值聚類算法*
基于粒子群優(yōu)化的模糊C均值聚類算法*
王宇鋼
(遼寧工業(yè)大學(xué) 機械工程與自動化學(xué)院,遼寧 錦州 121000)
摘要: 針對模糊C均值聚類算法(FCM)存在對初始聚類中心敏感,易陷入局部最優(yōu)解的不足,將改進(jìn)的粒子群聚類算法與FCM算法相結(jié)合,提出了一種基于粒子群優(yōu)化的模糊C均值聚類算法。該算法對粒子群初始化空間及粒子移動最大速度進(jìn)行優(yōu)化,同時引入環(huán)形拓?fù)浣Y(jié)構(gòu)鄰域,提高粒子群聚類算法的全局搜索能力。對UCI中3個數(shù)據(jù)集進(jìn)行仿真實驗,結(jié)果表明提出的基于粒子群優(yōu)化的模糊C均值聚類算法相比FCM算法和基本粒子群聚類算法具有更好的聚類效率和準(zhǔn)確性。
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.009
中文引用格式:王宇鋼.基于粒子群優(yōu)化的模糊C均值聚類算法[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(8):36-39,44.
Fuzzy C-means clustering algorithm based on particle swarm optimization
Wang Yugang
(School of Mechanical Engineering and Automation, Liaoning University of Technology, Jinzhou 121000, China)
Abstract: FCM algorithm is sensitive to initial clustering center and liable to be trapped in a local optimum solution. Combining with the improved PSO algorithm, a fuzzy C-means clustering algorithm based on particle swarm optimization was proposed. The algorithm optimizes the particle swarm initialization space and the maximum velocity of particle, and adopts the ring topology neighborhood. The method improved the global search capability of particle swarm clustering algorithm. The experiment results of UCI data set demonstrate that the proposed algorithm has better clustering validity and accuracy than FCM and particle swarm clustering algorithm.
Key words : clustering;particle swarm optimization;fuzzy C-means clustering algorithm;particle swarm clustering algorithm

0  引言

 

隨著大數(shù)據(jù)、云計算等技術(shù)的迅猛發(fā)展,聚類分析已成為數(shù)據(jù)挖掘的主要研究手段之一。為符合人類的認(rèn)知,研究員將模糊集理論引入聚類分析中,提出了模糊C均值聚類算法(Fuzzy C-means Clustering Algorithm,F(xiàn)CM)。經(jīng)典FCM 算法由于是一種局部最優(yōu)搜索算法,存在對初始聚類中心敏感、易于陷入局部最優(yōu)解的缺陷,限制了算法的應(yīng)用[1-2]。因此,學(xué)者嘗試通過各種智能算法對經(jīng)典FCM 算法進(jìn)行改進(jìn)。粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)作為群體智能算法的代表,依靠個體之間的簡單交互作用在群體內(nèi)自組織搜索,具有很強的學(xué)習(xí)能力和適應(yīng)性[3]。一些學(xué)者利用PSO算法克服傳統(tǒng)FCM算法的缺陷,將PSO算法與FCM算法融合已成為近年來的研究熱點[4]

文獻(xiàn)[5]針對FCM算法用于高維數(shù)據(jù)樣本聚類時效果較差的不足,提出一種基于粒子群的FCM聚類算法。該算法在滿足FCM算法對隸屬度限制條件的前提下,根據(jù)樣本與聚類中心間距離重新分布了隸屬度,并通過比較樣本與各聚類中心距離加速最優(yōu)粒子收斂。文獻(xiàn)[6]對初始聚類中心和模糊加權(quán)指數(shù)進(jìn)行粒子編碼,通過粒子群優(yōu)化算法搜索最優(yōu)的適應(yīng)度值及模糊加權(quán)指數(shù),經(jīng)人工數(shù)據(jù)集與UCI數(shù)據(jù)集實驗,證明該方法比傳統(tǒng)的FCM算法和粒子群聚類算法的聚類準(zhǔn)確性和穩(wěn)定性都有提高。文獻(xiàn)[7]將基于直覺模糊的粒子群算法(IFPSO)和FCM算法混合,利用猶豫度屬性參數(shù)尋找目標(biāo)函數(shù)與聚類中心的相似性,對高維數(shù)據(jù)集進(jìn)行聚類分析取得較好效果。文獻(xiàn)[8]提出一種基于慣性指數(shù)權(quán)重的粒子群聚類算法(ACL-PSO)。將改進(jìn)的PSO算法與FCM算法相結(jié)合,改善FCM算法易于陷入局部最優(yōu)解的缺陷,對UCI數(shù)據(jù)庫中標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行測試,結(jié)果顯示了該算法的有效性。 

為克服FCM算法缺陷,提高聚類質(zhì)量,本文對基本粒子群聚類算法進(jìn)行改進(jìn),并與FCM算法結(jié)合,提出了一種改進(jìn)的粒子群優(yōu)化模糊C均值聚類算法(Improved Fuzzy C-mean Clustering Algorithm Based on Particle Swarm Optimization,IFCM-PSO)。首先通過選擇合理的粒子初始化空間,降低對初始聚類中心的敏感度,提高收斂速度;其次通過優(yōu)化參數(shù)粒子運動最大速度以及引入環(huán)形拓?fù)浣Y(jié)構(gòu)的鄰域,解決粒子群聚類算法易早熟收斂的缺陷。選取UCI 數(shù)據(jù)庫中3 個真實數(shù)據(jù)集IRIS、WINE和Breast Cancer Wisconsin (BCW)進(jìn)行仿真實驗,以驗證該算法的有效性。

 

1  模糊C均值聚類算法(FCM)

 

分為L個類簇的數(shù)據(jù)樣本集合 X = {x1,x2,…,xn} ∈ Rp,n為樣本個數(shù),p為樣本空間維數(shù),L介于2~n之間。FCM算法采用誤差平方和函數(shù)作為目標(biāo)函數(shù),其定義式為:

 

微信截圖_20180912141916.png

其中,dij=||xj-vi為||樣本與聚類中心間距離,通常為歐式距離;m為模糊加權(quán)指數(shù);uij表示數(shù)據(jù)集X 中的第j個樣本對第i類的隸屬程度(0<uij<1);vi表示各個聚類中心。

隸屬度uij應(yīng)滿足約束條件: 

微信截圖_20180912143349.png

FCM算法是以誤差平方和為準(zhǔn)則函數(shù)的一種逐點迭代聚類算法。通過式(2)和式(3)迭代計算隸屬度矩陣U和聚類中心V,使目標(biāo)函數(shù)J(U,V)的取值不斷減小。當(dāng)準(zhǔn)則函數(shù)會聚時,獲得數(shù)據(jù)樣本的最終聚類結(jié)果,即模糊劃分后的隸屬度矩陣U和聚類中心V。

 

2  基本粒子群聚類算法

 

2.1 粒子群優(yōu)化算法

 

在粒子群優(yōu)化算法中,每個粒子si抽象為一個個體,種群就是由這些粒子構(gòu)成的,所求問題的解就是粒子在空間中的最優(yōu)位置。在每次迭代計算過程中,根據(jù)所有粒子的適應(yīng)值評價每個粒子的極值當(dāng)前最優(yōu)位置pi和群體全局最優(yōu)位置g。依靠兩個位置極值,粒子更新其移動速度和位置,直至收斂到空間位置的最優(yōu)解。

目前普遍采用的粒子速度和位移更新形式為:

 

微信截圖_20180912143927.png

 

其中,c1、c2為學(xué)習(xí)因子,一般取c1 = c2;r1、r2是[0,1]之間的隨機數(shù);w為慣性權(quán)重,取值限定在[wmin,wmax]之間。在迭代過程中,慣性權(quán)重通常采用線性遞減方式由最大值變?yōu)樽钚≈?,即?/span>

微信截圖_20180912144110.png

其中,iter為當(dāng)前迭代次數(shù),itertotle為最大迭代次數(shù)。

 

2.2 FCM-PSO算法

 

為了實現(xiàn)傳統(tǒng)聚類方法缺陷的突破,研究人員嘗試將粒子群優(yōu)化算法與傳統(tǒng)聚類算法相結(jié)合,通過PSO算法的全局尋優(yōu)能力和分布式隨機搜索特性解決傳統(tǒng)聚類算法易陷入局部最優(yōu)和對初值敏感的問題。將聚類作為一種優(yōu)化問題實現(xiàn)對數(shù)據(jù)集的近似最優(yōu)劃分?;玖W尤壕垲愃惴ǖ牧鞒倘缦拢?/span> 

(1)給定聚類的數(shù)目,初始化聚類中心矩陣,并賦值給各個粒子,隨機產(chǎn)生粒子的初始速度。 

(2)對每個粒子計算隸屬度,更新所有的聚類中心,計算各個粒子的適應(yīng)值,更新個體極值。 

(3)根據(jù)各個粒于的個體極值,找出全局極值和全局極值位置。 

(4)根據(jù)粒子群優(yōu)化算法的速度公式更新粒子的速度,并把它限制在最大速度內(nèi)。 

(5)根據(jù)粒子群優(yōu)化算法的位置公式更新粒子的位置。

(6)若不滿足終止條件,返回步驟(2)繼續(xù)迭代計算;若滿足終止條件,則輸出最優(yōu)粒子的位置即最優(yōu)分類中心矩陣。

目前,將FCM算法與PSO算法相融合的聚類算法(Fuzzy C-Mean Clustering Algorithm Based on Particle Swarm Optimization,F(xiàn)CM-PSO)已成為基本粒子群聚類算法的一種主要研究形式[9]。該方法將每個粒子表示為一種聚類中心的選取方式,應(yīng)用FCM算法的目標(biāo)函數(shù)計算各粒子的適應(yīng)值,作為對應(yīng)聚類中心聚類效果的評判依據(jù),算法收斂后輸出粒子的全局最優(yōu)位置,即最優(yōu)聚類中心。

 

3  改進(jìn)的粒子群優(yōu)化模糊C均值聚類算法

 

3.1 粒子群聚類算法的改進(jìn)

 

(1)PSO算法通常將粒子初始值均勻分布于[0,1]之間,而非在粒子的最優(yōu)解的附近空間,這將使粒子搜尋最優(yōu)解的迭代時間增加,聚類的效果變差[10]。本文將樣本聚類中心作為種群個體,因此粒子的最優(yōu)解空間即為樣本的分布空間。將粒子的初始位置隨機分布于取值范圍[Xmin,Xmax],Xmin、Xmax分別為樣本每維最小值和最大值組成的向量。這樣初始化的粒子在接近最優(yōu)解的搜索空間開始進(jìn)化運算,可有效縮短收斂時間,提高聚類質(zhì)量。

(2)最大速度vmax決定粒子在一次迭代計算中的最大移動距離,vmax過大則易使粒子錯過最優(yōu)解,過小則會使粒子易陷入局部最優(yōu)解。因此,通常將粒子最大速度設(shè)為一個常數(shù)。然而,在樣本各維取值存在較大量綱差異時,由于各維空間取值范圍不同,將粒子的vmax在樣本各維空間均設(shè)定為一個常數(shù),顯然易出現(xiàn)錯過最優(yōu)解或陷入局部最優(yōu)解的情況,結(jié)果影響算法的全局收斂性。本文對粒子在樣本空間每一維都定義一個最大速度,最大速度vmax根據(jù)樣本每維變化的取值范圍設(shè)定。

 

微信截圖_20180912144406.png

 

其中,λ為常數(shù)。

(3)在實際應(yīng)用中,PSO算法仍易出現(xiàn)早期迭代震蕩及早熟收斂的情況。因此,研究人員嘗試使用局部鄰居的概念,將鄰域也作為粒子進(jìn)化的一個調(diào)節(jié)源,降低早熟收斂情況的發(fā)生概率。 

在PSO算法中,粒子群的信息共享范圍即為粒子的鄰域拓?fù)浣Y(jié)構(gòu)。環(huán)形鄰域拓?fù)浣Y(jié)構(gòu)使用局部鄰居的概念,每個粒子只與最近的鄰居溝通,較好地協(xié)調(diào)粒子本身和群體之間的關(guān)系。本文通過引入環(huán)形拓?fù)浣Y(jié)構(gòu)鄰域改善PSO聚類算法性能。在初始階段,鄰域就是每個粒子自身,隨迭代次數(shù)增加,每個粒子只與最近鄰居溝通,鄰域逐步擴(kuò)展到包含所有粒子[11]。新的速度更新策略調(diào)整為:

 

微信截圖_20180912144454.png 

其中,pl為粒子鄰域極值。

 

3.2 改進(jìn)的粒子群優(yōu)化模糊C均值聚類

 

綜上分析,本文提出的IFCM-PSO算法將聚類中心作為種群中粒子的位置,將FCM算法目標(biāo)函數(shù)作為適應(yīng)函數(shù),終止條件為最優(yōu)粒子目標(biāo)函數(shù)適應(yīng)值變化量小于閾值或迭代次數(shù)達(dá)到設(shè)定值itertotle,算法歸納如下: 

(1)設(shè)定聚類初始參數(shù):聚類數(shù),種群數(shù),最大速度系數(shù),迭代誤差。 

(2)在取值范圍[Xmin,Xmax]內(nèi)初始化聚類中心矩陣,并賦值給各粒子。 

(3)根據(jù)式(1)計算初始種群中每個個體的適應(yīng)值。 

(4)根據(jù)公式(9)計算粒子移動速度,根據(jù)公式(6)更新粒子的位置。

(5)計算種群中個體粒子的適應(yīng)值,若滿足終止條件, 則將粒子全局最優(yōu)位置作為最優(yōu)解輸出;否則返回步驟(3)繼續(xù)迭代計算。

 

4  實驗與結(jié)果分析

 

為了驗證算法的性能,選擇來自機器學(xué)習(xí)數(shù)據(jù)庫UCI中的3個真實數(shù)據(jù)集進(jìn)行實驗,分別為IRIS、WINE和Breast Cancer Wisconsin(BCW)。以上3個數(shù)據(jù)集經(jīng)常被用于測試聚類算法的有效性,數(shù)據(jù)集的詳細(xì)信息如表1所示。

 

表 1  數(shù)據(jù)集信息

微信截圖_20180912144655.png

 

4.1 算法有效性測試

 

對選擇的3個數(shù)據(jù)集分別采用FCM算法、FCM-PSO算法以及本文的IFCM-PSO算法進(jìn)行聚類仿真實驗。實驗參數(shù)為:FCM-PSO算法的粒子種群數(shù)為20,最大迭代次數(shù)為500,最優(yōu)解改變量閾值為0.001;IFCM-PSO算法的粒子種群數(shù)為20,允許的最大速度系數(shù)λ=0.15,最大迭代次數(shù)為100,最優(yōu)解改變量閾值為0.001。數(shù)據(jù)集分別對3種算法進(jìn)行10次仿真運算,各指標(biāo)為10次計算的平均值,聚類結(jié)果如表2所示。

 

表 2  數(shù)據(jù)集聚類結(jié)果

微信截圖_20180912144757.png

 

由表2可知,對3個數(shù)據(jù)集,F(xiàn)CM算法迭代次數(shù)最少,表明收斂最快,但由于自身算法的缺陷使得聚類準(zhǔn)確率較差;FCM-PSO算法對IRIS和BCW兩個數(shù)據(jù)集的聚類準(zhǔn)確率較FCM算法高,但在3種算法中迭代次數(shù)最多,收斂速度最慢;本文的IFCM-PSO算法對3個數(shù)據(jù)集在迭代100次后均獲得了最高的準(zhǔn)確率,表明該算法在聚類速度和準(zhǔn)確率方面的綜合性能最好。

 

4.2 算法結(jié)果分析

 

對應(yīng)3個數(shù)據(jù)集,F(xiàn)CM算法、FCM-PSO算法和IFCM-PSO算法各選取與聚類結(jié)果平均值最接近的一次聚類運算目標(biāo)函數(shù)迭代曲線進(jìn)行分析,目標(biāo)函數(shù)值迭代曲線如圖1所示。

 

微信截圖_20180912144944.png

微信截圖_20180912145000.png

微信截圖_20180912145017.png

圖 1  目標(biāo)函數(shù)值迭代曲線圖

 

由圖1(a)可以發(fā)現(xiàn),對IRIS數(shù)據(jù)集聚類時,F(xiàn)CM算法函數(shù)值下降迅速,很快收斂;FCM-PSO算法目標(biāo)函數(shù)值在迭代100次后仍震蕩,未見明顯收斂;而IFCM-PSO算法由于初始化取值接近最優(yōu)解,收斂較快,目標(biāo)函數(shù)值最小。

圖1(b)顯示,對WINE數(shù)據(jù)集,F(xiàn)CM算法很快收斂,F(xiàn)CM-PSO算法迭代約30次后收斂,但目標(biāo)函數(shù)未見明顯下降,表明出現(xiàn)早熟收斂;IFCM-PSO算法在迭代100次后基本收斂,目標(biāo)函數(shù)值與FCM算法目標(biāo)函數(shù)值接近。 

圖1(c)顯示對Breast Cancer Wisconsin數(shù)據(jù)集雖然FCM-PSO算法和本文的IFCM-PSO算法均出現(xiàn)震蕩,但最終本文的IFCM-PSO算法震蕩幅度較小,收斂效果更好。 

通過以上3種算法對應(yīng)3個數(shù)據(jù)集的目標(biāo)函數(shù)曲線比較可以發(fā)現(xiàn):本文的IFCM-PSO聚類算法由于在聚類初始化取值、最大速度取值方面進(jìn)行了改進(jìn),并引入了環(huán)形鄰域輔助進(jìn)化,使該算法有效克服了FCM算法對初始值敏感、易陷入局部最優(yōu)解及基本粒子群聚類算法迭代初期震蕩、早熟收斂的問題,因而獲得了最好的聚類效果。

 

5  結(jié)束語

 

本文針對模糊C均值聚類算法存在的主要問題,利用改進(jìn)的粒子群聚類算法,提出了一種基于粒子群優(yōu)化的模糊C均值聚類算法。通過對粒子初始化空間和粒子運動最大速度兩個參數(shù)的優(yōu)化設(shè)置,并引入環(huán)形拓?fù)浣Y(jié)構(gòu)的鄰域,提高了粒子群聚類算法的聚類效果。仿真結(jié)果表明該算法在聚類準(zhǔn)確性和收斂速度方面均優(yōu)于模糊C均值聚類(FCM)算法和基本粒子群聚類(FCM-PSO)算法。

 

參考文獻(xiàn)

 

[1] 賀正洪, 雷英杰. 直覺模糊C 均值聚類算法研究[J]. 控制與決策,2011, 26(6): 847-850,856.

[2] PIMENTEL B A, SOUZA R M. A weighted multivariate fuzzy C-means method in interval-valued scientific production data [J]. Expert Systems with Applications, 2014, 41(7), 3223-3236. 

[3] 楊慧,吳沛澤,倪繼良. 基于改進(jìn)粒子群置信規(guī)則庫參數(shù)訓(xùn)練算法[J]. 計算機工程與設(shè)計, 2017,38(2):400-404.

[4] FARHAD S, AMIN A N, SHAHIN R N,et al. Evaluating the potential of particle swarm optimization in clustering of hyperspectral imagery using fuzzy C-means[C]// International Conference on Asia Agriculture and Animal, Singapore: IACSIT, 2011: 201-207. 

[5] Niu Qiang, Huang Xinjian. An improved fuzzy C-means clustering algorithm based on PSO[J]. Journal of Software, 2011,6(5): 873-879. 

[6] 王縱虎, 劉志鏡, 陳東輝. 基于粒子群優(yōu)化的模糊C-均值聚類算法研究[J]. 計算機科學(xué), 2012,39(9): 166-169. 

[7] KUMUTHA V, PALANIAMMAL S. Improved fuzzy clustering method based on intuitionistic fuzzy particle swarm optimization [J]. Journal of Theoretical and Applied Information Technology,2014, 62 (1):8-15. 

[8] Chen Shouwen, Xu Zhuoming, Tang Yan. A hybrid clustering algorithm based on fuzzy C-means and improved particle swarm optimization [J]. Arabian Journal for Science & Engineering, 2014, 39(12):8875-8887. 

[9] 李峻金,向陽,蘆英明,等. 粒子群聚類算法綜述[J]. 計算機應(yīng)用研究, 2009,26(12): 4423-4427. 

[10]FILHO T M S, PIMENTEL B A, SOUZA R M C R, et al. Hybrid methods for fuzzy clustering based on fuzzy C-means and improved particle swarm optimization [J]. Expert Systems with Applications, 2015, 42(17): 6315-6328. 

[11]石松,陳云. 層次環(huán)形拓?fù)浣Y(jié)構(gòu)的動態(tài)粒子群算法[J]. 計算機工程與應(yīng)用, 2013, 49(8):1-5.

 

(收稿日期:2018-04-29)

 

 

 

作者簡介:

 

王宇鋼(1977-),男,博士研究生,講師,主要研究方向:機械制造自動化。

 

 

 

 

 

 

 

 

*基金項目:遼寧省自然科學(xué)基金資助項目(20170540445)


 

 


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。