文獻標識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.009
中文引用格式:王宇鋼.基于粒子群優(yōu)化的模糊C均值聚類算法[J].信息技術與網(wǎng)絡安全,2018,37(8):36-39,44.
0 引言
隨著大數(shù)據(jù)、云計算等技術的迅猛發(fā)展,聚類分析已成為數(shù)據(jù)挖掘的主要研究手段之一。為符合人類的認知,研究員將模糊集理論引入聚類分析中,提出了模糊C均值聚類算法(Fuzzy C-means Clustering Algorithm,F(xiàn)CM)。經典FCM 算法由于是一種局部最優(yōu)搜索算法,存在對初始聚類中心敏感、易于陷入局部最優(yōu)解的缺陷,限制了算法的應用[1-2]。因此,學者嘗試通過各種智能算法對經典FCM 算法進行改進。粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)作為群體智能算法的代表,依靠個體之間的簡單交互作用在群體內自組織搜索,具有很強的學習能力和適應性[3]。一些學者利用PSO算法克服傳統(tǒng)FCM算法的缺陷,將PSO算法與FCM算法融合已成為近年來的研究熱點[4]。
文獻[5]針對FCM算法用于高維數(shù)據(jù)樣本聚類時效果較差的不足,提出一種基于粒子群的FCM聚類算法。該算法在滿足FCM算法對隸屬度限制條件的前提下,根據(jù)樣本與聚類中心間距離重新分布了隸屬度,并通過比較樣本與各聚類中心距離加速最優(yōu)粒子收斂。文獻[6]對初始聚類中心和模糊加權指數(shù)進行粒子編碼,通過粒子群優(yōu)化算法搜索最優(yōu)的適應度值及模糊加權指數(shù),經人工數(shù)據(jù)集與UCI數(shù)據(jù)集實驗,證明該方法比傳統(tǒng)的FCM算法和粒子群聚類算法的聚類準確性和穩(wěn)定性都有提高。文獻[7]將基于直覺模糊的粒子群算法(IFPSO)和FCM算法混合,利用猶豫度屬性參數(shù)尋找目標函數(shù)與聚類中心的相似性,對高維數(shù)據(jù)集進行聚類分析取得較好效果。文獻[8]提出一種基于慣性指數(shù)權重的粒子群聚類算法(ACL-PSO)。將改進的PSO算法與FCM算法相結合,改善FCM算法易于陷入局部最優(yōu)解的缺陷,對UCI數(shù)據(jù)庫中標準數(shù)據(jù)集進行測試,結果顯示了該算法的有效性。
為克服FCM算法缺陷,提高聚類質量,本文對基本粒子群聚類算法進行改進,并與FCM算法結合,提出了一種改進的粒子群優(yōu)化模糊C均值聚類算法(Improved Fuzzy C-mean Clustering Algorithm Based on Particle Swarm Optimization,IFCM-PSO)。首先通過選擇合理的粒子初始化空間,降低對初始聚類中心的敏感度,提高收斂速度;其次通過優(yōu)化參數(shù)粒子運動最大速度以及引入環(huán)形拓撲結構的鄰域,解決粒子群聚類算法易早熟收斂的缺陷。選取UCI 數(shù)據(jù)庫中3 個真實數(shù)據(jù)集IRIS、WINE和Breast Cancer Wisconsin (BCW)進行仿真實驗,以驗證該算法的有效性。
1 模糊C均值聚類算法(FCM)
分為L個類簇的數(shù)據(jù)樣本集合 X = {x1,x2,…,xn} ∈ Rp,n為樣本個數(shù),p為樣本空間維數(shù),L介于2~n之間。FCM算法采用誤差平方和函數(shù)作為目標函數(shù),其定義式為:
其中,dij=||xj-vi為||樣本與聚類中心間距離,通常為歐式距離;m為模糊加權指數(shù);uij表示數(shù)據(jù)集X 中的第j個樣本對第i類的隸屬程度(0<uij<1);vi表示各個聚類中心。
隸屬度uij應滿足約束條件:
FCM算法是以誤差平方和為準則函數(shù)的一種逐點迭代聚類算法。通過式(2)和式(3)迭代計算隸屬度矩陣U和聚類中心V,使目標函數(shù)J(U,V)的取值不斷減小。當準則函數(shù)會聚時,獲得數(shù)據(jù)樣本的最終聚類結果,即模糊劃分后的隸屬度矩陣U和聚類中心V。
2 基本粒子群聚類算法
2.1 粒子群優(yōu)化算法
在粒子群優(yōu)化算法中,每個粒子si抽象為一個個體,種群就是由這些粒子構成的,所求問題的解就是粒子在空間中的最優(yōu)位置。在每次迭代計算過程中,根據(jù)所有粒子的適應值評價每個粒子的極值當前最優(yōu)位置pi和群體全局最優(yōu)位置g。依靠兩個位置極值,粒子更新其移動速度和位置,直至收斂到空間位置的最優(yōu)解。
目前普遍采用的粒子速度和位移更新形式為:
其中,c1、c2為學習因子,一般取c1 = c2;r1、r2是[0,1]之間的隨機數(shù);w為慣性權重,取值限定在[wmin,wmax]之間。在迭代過程中,慣性權重通常采用線性遞減方式由最大值變?yōu)樽钚≈?,即?/span>
其中,iter為當前迭代次數(shù),itertotle為最大迭代次數(shù)。
2.2 FCM-PSO算法
為了實現(xiàn)傳統(tǒng)聚類方法缺陷的突破,研究人員嘗試將粒子群優(yōu)化算法與傳統(tǒng)聚類算法相結合,通過PSO算法的全局尋優(yōu)能力和分布式隨機搜索特性解決傳統(tǒng)聚類算法易陷入局部最優(yōu)和對初值敏感的問題。將聚類作為一種優(yōu)化問題實現(xiàn)對數(shù)據(jù)集的近似最優(yōu)劃分?;玖W尤壕垲愃惴ǖ牧鞒倘缦拢?/span>
(1)給定聚類的數(shù)目,初始化聚類中心矩陣,并賦值給各個粒子,隨機產生粒子的初始速度。
(2)對每個粒子計算隸屬度,更新所有的聚類中心,計算各個粒子的適應值,更新個體極值。
(3)根據(jù)各個粒于的個體極值,找出全局極值和全局極值位置。
(4)根據(jù)粒子群優(yōu)化算法的速度公式更新粒子的速度,并把它限制在最大速度內。
(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]。該方法將每個粒子表示為一種聚類中心的選取方式,應用FCM算法的目標函數(shù)計算各粒子的適應值,作為對應聚類中心聚類效果的評判依據(jù),算法收斂后輸出粒子的全局最優(yōu)位置,即最優(yōu)聚類中心。
3 改進的粒子群優(yōu)化模糊C均值聚類算法
3.1 粒子群聚類算法的改進
(1)PSO算法通常將粒子初始值均勻分布于[0,1]之間,而非在粒子的最優(yōu)解的附近空間,這將使粒子搜尋最優(yōu)解的迭代時間增加,聚類的效果變差[10]。本文將樣本聚類中心作為種群個體,因此粒子的最優(yōu)解空間即為樣本的分布空間。將粒子的初始位置隨機分布于取值范圍[Xmin,Xmax],Xmin、Xmax分別為樣本每維最小值和最大值組成的向量。這樣初始化的粒子在接近最優(yōu)解的搜索空間開始進化運算,可有效縮短收斂時間,提高聚類質量。
(2)最大速度vmax決定粒子在一次迭代計算中的最大移動距離,vmax過大則易使粒子錯過最優(yōu)解,過小則會使粒子易陷入局部最優(yōu)解。因此,通常將粒子最大速度設為一個常數(shù)。然而,在樣本各維取值存在較大量綱差異時,由于各維空間取值范圍不同,將粒子的vmax在樣本各維空間均設定為一個常數(shù),顯然易出現(xiàn)錯過最優(yōu)解或陷入局部最優(yōu)解的情況,結果影響算法的全局收斂性。本文對粒子在樣本空間每一維都定義一個最大速度,最大速度vmax根據(jù)樣本每維變化的取值范圍設定。
其中,λ為常數(shù)。
(3)在實際應用中,PSO算法仍易出現(xiàn)早期迭代震蕩及早熟收斂的情況。因此,研究人員嘗試使用局部鄰居的概念,將鄰域也作為粒子進化的一個調節(jié)源,降低早熟收斂情況的發(fā)生概率。
在PSO算法中,粒子群的信息共享范圍即為粒子的鄰域拓撲結構。環(huán)形鄰域拓撲結構使用局部鄰居的概念,每個粒子只與最近的鄰居溝通,較好地協(xié)調粒子本身和群體之間的關系。本文通過引入環(huán)形拓撲結構鄰域改善PSO聚類算法性能。在初始階段,鄰域就是每個粒子自身,隨迭代次數(shù)增加,每個粒子只與最近鄰居溝通,鄰域逐步擴展到包含所有粒子[11]。新的速度更新策略調整為:
其中,pl為粒子鄰域極值。
3.2 改進的粒子群優(yōu)化模糊C均值聚類
綜上分析,本文提出的IFCM-PSO算法將聚類中心作為種群中粒子的位置,將FCM算法目標函數(shù)作為適應函數(shù),終止條件為最優(yōu)粒子目標函數(shù)適應值變化量小于閾值或迭代次數(shù)達到設定值itertotle,算法歸納如下:
(1)設定聚類初始參數(shù):聚類數(shù),種群數(shù),最大速度系數(shù),迭代誤差。
(2)在取值范圍[Xmin,Xmax]內初始化聚類中心矩陣,并賦值給各粒子。
(3)根據(jù)式(1)計算初始種群中每個個體的適應值。
(4)根據(jù)公式(9)計算粒子移動速度,根據(jù)公式(6)更新粒子的位置。
(5)計算種群中個體粒子的適應值,若滿足終止條件, 則將粒子全局最優(yōu)位置作為最優(yōu)解輸出;否則返回步驟(3)繼續(xù)迭代計算。
4 實驗與結果分析
為了驗證算法的性能,選擇來自機器學習數(shù)據(jù)庫UCI中的3個真實數(shù)據(jù)集進行實驗,分別為IRIS、WINE和Breast Cancer Wisconsin(BCW)。以上3個數(shù)據(jù)集經常被用于測試聚類算法的有效性,數(shù)據(jù)集的詳細信息如表1所示。
表 1 數(shù)據(jù)集信息
4.1 算法有效性測試
對選擇的3個數(shù)據(jù)集分別采用FCM算法、FCM-PSO算法以及本文的IFCM-PSO算法進行聚類仿真實驗。實驗參數(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種算法進行10次仿真運算,各指標為10次計算的平均值,聚類結果如表2所示。
表 2 數(shù)據(jù)集聚類結果
由表2可知,對3個數(shù)據(jù)集,F(xiàn)CM算法迭代次數(shù)最少,表明收斂最快,但由于自身算法的缺陷使得聚類準確率較差;FCM-PSO算法對IRIS和BCW兩個數(shù)據(jù)集的聚類準確率較FCM算法高,但在3種算法中迭代次數(shù)最多,收斂速度最慢;本文的IFCM-PSO算法對3個數(shù)據(jù)集在迭代100次后均獲得了最高的準確率,表明該算法在聚類速度和準確率方面的綜合性能最好。
4.2 算法結果分析
對應3個數(shù)據(jù)集,F(xiàn)CM算法、FCM-PSO算法和IFCM-PSO算法各選取與聚類結果平均值最接近的一次聚類運算目標函數(shù)迭代曲線進行分析,目標函數(shù)值迭代曲線如圖1所示。
圖 1 目標函數(shù)值迭代曲線圖
由圖1(a)可以發(fā)現(xiàn),對IRIS數(shù)據(jù)集聚類時,F(xiàn)CM算法函數(shù)值下降迅速,很快收斂;FCM-PSO算法目標函數(shù)值在迭代100次后仍震蕩,未見明顯收斂;而IFCM-PSO算法由于初始化取值接近最優(yōu)解,收斂較快,目標函數(shù)值最小。
圖1(b)顯示,對WINE數(shù)據(jù)集,F(xiàn)CM算法很快收斂,F(xiàn)CM-PSO算法迭代約30次后收斂,但目標函數(shù)未見明顯下降,表明出現(xiàn)早熟收斂;IFCM-PSO算法在迭代100次后基本收斂,目標函數(shù)值與FCM算法目標函數(shù)值接近。
圖1(c)顯示對Breast Cancer Wisconsin數(shù)據(jù)集雖然FCM-PSO算法和本文的IFCM-PSO算法均出現(xiàn)震蕩,但最終本文的IFCM-PSO算法震蕩幅度較小,收斂效果更好。
通過以上3種算法對應3個數(shù)據(jù)集的目標函數(shù)曲線比較可以發(fā)現(xiàn):本文的IFCM-PSO聚類算法由于在聚類初始化取值、最大速度取值方面進行了改進,并引入了環(huán)形鄰域輔助進化,使該算法有效克服了FCM算法對初始值敏感、易陷入局部最優(yōu)解及基本粒子群聚類算法迭代初期震蕩、早熟收斂的問題,因而獲得了最好的聚類效果。
5 結束語
本文針對模糊C均值聚類算法存在的主要問題,利用改進的粒子群聚類算法,提出了一種基于粒子群優(yōu)化的模糊C均值聚類算法。通過對粒子初始化空間和粒子運動最大速度兩個參數(shù)的優(yōu)化設置,并引入環(huán)形拓撲結構的鄰域,提高了粒子群聚類算法的聚類效果。仿真結果表明該算法在聚類準確性和收斂速度方面均優(yōu)于模糊C均值聚類(FCM)算法和基本粒子群聚類(FCM-PSO)算法。
參考文獻
[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] 楊慧,吳沛澤,倪繼良. 基于改進粒子群置信規(guī)則庫參數(shù)訓練算法[J]. 計算機工程與設計, 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]. 計算機科學, 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]. 計算機應用研究, 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)形拓撲結構的動態(tài)粒子群算法[J]. 計算機工程與應用, 2013, 49(8):1-5.
(收稿日期:2018-04-29)
作者簡介:
王宇鋼(1977-),男,博士研究生,講師,主要研究方向:機械制造自動化。
*基金項目:遼寧省自然科學基金資助項目(20170540445)