一種基于改進(jìn)abc算法與de變異策略的自適應(yīng)聚類方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種聚類方法,特別是涉及一種基于改進(jìn)ABC算法與DE變異策略的自 適應(yīng)聚類方法,屬于數(shù)據(jù)挖掘技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 群體智能進(jìn)化算法從20世紀(jì)90年代發(fā)展至今,以其對(duì)函數(shù)要求低、進(jìn)化過(guò)程與初 始值無(wú)關(guān)、搜索速度快等優(yōu)點(diǎn),迅速成為進(jìn)化算法的一個(gè)重要分支,并成為新的學(xué)術(shù)研究熱 點(diǎn)。其中比較成熟的算法有Dorgo等人提出的蟻群算法(AntColonyOptimization)和 Kennedy等人提出的粒子群算法(ParticleSwarmOptimization)。近年來(lái),人工蜂群 (ArtificialBeeColony,ABC)算法也越來(lái)越多地受到人們的關(guān)注。Karaboga于2005年提 出人工蜂群算法,該算法是基于蜜蜂群體智能的優(yōu)化算法,通過(guò)模擬蜂群依各自分工不同 智能采蜜,交換蜜源信息找到最優(yōu)蜜源。相比于其他經(jīng)典的進(jìn)化算法,ABC算法更簡(jiǎn)單易用。
[0003] 聚類是指將多個(gè)具有類似特性的對(duì)象組成多個(gè)類的過(guò)程,聚類的目的就是在相似 的基礎(chǔ)上收集數(shù)據(jù)來(lái)分類。聚類目前在很多不同領(lǐng)域都得到非常廣泛的應(yīng)用并且得到了相 應(yīng)的發(fā)展,包括計(jì)算機(jī)科學(xué)與技術(shù)、統(tǒng)計(jì)學(xué)、生物學(xué)等。最常見(jiàn)的聚類算法是k-means算法, 它具有優(yōu)秀的局部搜索能力,能很好的解決一些聚類問(wèn)題,但是自身還存在一定的缺陷,其 中比較嚴(yán)重的缺點(diǎn)就是容易陷入"早熟",即非常容易陷入局部最優(yōu)的缺點(diǎn)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種基于改進(jìn)ABC算法與DE變異策略的自適 應(yīng)聚類方法,通過(guò)改進(jìn)ABC的變異策略,并增加了自適應(yīng)機(jī)制,在一定程度上解決了容易陷 入局部最優(yōu)的缺點(diǎn)。
[0005] 本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案:
[0006] -種基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法,包括如下步驟:
[0007]步驟1,初始化自適應(yīng)聚類的各參數(shù),包括:聚類數(shù)目、蜜蜂種群數(shù)目、開(kāi)采極限以 及最大迭代次數(shù);根據(jù)聚類數(shù)目隨機(jī)對(duì)待聚類樣本進(jìn)行聚類劃分,且聚類劃分次數(shù)等于蜜 蜂種群數(shù)目,得到蜜蜂種群數(shù)目的聚類劃分;計(jì)算各聚類劃分的適應(yīng)度,并找出最優(yōu)適應(yīng)度 及其對(duì)應(yīng)的聚類劃分;
[0008]步驟2,對(duì)于步驟1得到的聚類劃分,從第一個(gè)聚類劃分開(kāi)始,采用變異和交叉兩個(gè) 過(guò)程產(chǎn)生新的聚類劃分,計(jì)算新的聚類劃分的適應(yīng)度,并與當(dāng)前最優(yōu)適應(yīng)度比較,若新的適 應(yīng)度優(yōu)于當(dāng)前最優(yōu)適應(yīng)度,則用新的聚類劃分替換第一個(gè)聚類劃分,且新的聚類劃分的開(kāi) 采次數(shù)置為〇,否則,第一個(gè)聚類劃分的開(kāi)采次數(shù)加1;重復(fù)上述過(guò)程,直至最后一個(gè)聚類劃 分結(jié)束;
[0009]步驟3,對(duì)于步驟2迭代之后的聚類劃分,計(jì)算各聚類劃分的概率值,計(jì)算公式為 prob= (0·9*Fitness/max( Fitness) )+0· 1,其中,prob表不各聚類劃分的概率值,F(xiàn)itness 表示當(dāng)前計(jì)算的聚類劃分的適應(yīng)度,maX(FitneSS)表示迭代之后的聚類劃分適應(yīng)度的最大 值;
[0010] 步驟4,隨機(jī)產(chǎn)生一 0-1之間的隨機(jī)數(shù),并與步驟3得到的概率值比較,對(duì)概率值大 于隨機(jī)數(shù)的聚類劃分重復(fù)步驟2的迭代過(guò)程;重復(fù)上述過(guò)程,且產(chǎn)生隨機(jī)數(shù)的次數(shù)等于蜜蜂 種群數(shù)目;
[0011] 步驟5,對(duì)于步驟4迭代之后的聚類劃分,判斷各聚類劃分的開(kāi)采次數(shù)是否大于開(kāi) 采極限,若大于開(kāi)采極限,則隨機(jī)生成一新的聚類劃分替換開(kāi)采次數(shù)大于開(kāi)采極限的聚類 劃分,且將新的聚類劃分的開(kāi)采次數(shù)置為〇;
[0012] 步驟6,重復(fù)步驟2-步驟5,直至達(dá)到步驟1的最大迭代次數(shù),輸出最優(yōu)的聚類劃分。
[0013] 作為本發(fā)明的優(yōu)選方案,步驟1所述適應(yīng)度的計(jì)算公式為:
其中,F(xiàn)V表示適應(yīng)度,k表示聚類數(shù)目,Xi表示待聚類樣本,Q表示第j個(gè)聚類的聚類中心,d(fj表示待聚類樣本&到對(duì)應(yīng)聚類中心Cj的距離。
[0014] 作為本發(fā)明的優(yōu)選方案,步驟2所述變異的計(jì)算公式為:
中,F(xiàn)為隨機(jī)數(shù),Ve+1表示新的聚類劃分,義匕表 示當(dāng)前最優(yōu)適應(yīng)度對(duì)應(yīng)的聚類劃分,A^、Xg、Χ,Ι、分別表示當(dāng)前聚類劃分中除最 優(yōu)適應(yīng)度對(duì)應(yīng)的聚類劃分之外的隨機(jī)聚類劃分。
[0015] 作為本發(fā)明的優(yōu)選方案,步驟2所述交叉的計(jì)算公式為:
其中,f為隨機(jī)數(shù),ve+1表示新的聚類劃分,;、 Aj、Z,&4、分別表示當(dāng)前聚類劃分中的隨機(jī)聚類劃分。
[0016] 作為本發(fā)明的優(yōu)選方案,所述F的計(jì)算公式為
其中,G表示當(dāng)前 迭代次數(shù),maxCycle表示最大迭代次數(shù)。
[0017] -種指紋自適應(yīng)聚類方法,包括如下步驟:
[0018]步驟1,獲取指紋樣本集,并對(duì)指紋樣本集中的各指紋樣本編號(hào);
[0019] 步驟2,利用如上所述基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法對(duì)指紋樣 本集進(jìn)行聚類,得到指紋聚類結(jié)果。
[0020] 本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
[0021] 1、本發(fā)明基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法,將改進(jìn)ABC算法與DE結(jié)合,重新定義人工蜂位置更新公式,使算法盡可能的跳出局部最優(yōu),從而找到全局最優(yōu) 解。
[0022] 2、本發(fā)明基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法,增加了自適應(yīng)概率 選擇機(jī)制,擴(kuò)大了蜂群的搜索范圍,從而提高了算法的搜索效率。
[0023] 3、本發(fā)明基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法,能夠增快收斂速度, 提高其局部搜索能力,提高后期搜索速度。
【附圖說(shuō)明】
[0024]圖1是本發(fā)明基于改進(jìn)ABC算法與DE變異策略的自適應(yīng)聚類方法的流程圖。
[0025]圖2是算法參數(shù)與具體問(wèn)題的對(duì)應(yīng)關(guān)系。
[0026]圖3是實(shí)施例待聚類樣本及其對(duì)應(yīng)編號(hào),其中手寫(xiě)體為待聚類樣本,右下角數(shù)字為 對(duì)應(yīng)編號(hào)。
[0027]圖4是實(shí)施例采用本發(fā)明聚類方法得到的最優(yōu)解,即待聚類樣本的最終聚類號(hào)。
【具體實(shí)施方式】
[0028]下面詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出。下面通過(guò) 參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0029]人工蜂群算法受啟發(fā)于蜜蜂的覓食行為,這種算法主要基于蜜蜂群的覓食行為模 型。這個(gè)模型包含了三種核心元素:雇傭蜂、非雇傭蜂和食物源,前兩者負(fù)責(zé)搜尋蜂巢附近 的富源。這種模型也定義了兩種指引模式:富源會(huì)反饋積極信號(hào),從而引導(dǎo)更多的蜜蜂來(lái)采 蜜;貧源會(huì)反饋消極信號(hào),會(huì)導(dǎo)致放棄這個(gè)食物源。這兩種行為是自組織的和群智能的。
[0030]如圖1所示,本發(fā)明聚類方法的工作流程如下:
[0031]步驟1,初始化各個(gè)參數(shù)
[0032] 1.1初始化聚類數(shù)目CN,聚類劃分種群P,聚類樣品開(kāi)采極限limit,迭代次數(shù)maxCycle;
[0033] 1.2設(shè)定最初的聚類劃分,這里每個(gè)類中的樣品都是隨機(jī)指定的,處于假設(shè)情況, 并不是最優(yōu)解;
[0034]1.3按照公式(1)計(jì)算聚類劃分種群P的適應(yīng)度FV,并找出最優(yōu)適應(yīng)度及其對(duì)應(yīng)的 聚類劃分。
(1)
[0035]
[0036]步驟2,雇傭蜂階段
[0037] 2.1對(duì)于選擇的聚類劃分,雇傭蜂采用變異和交叉兩個(gè)過(guò)程產(chǎn)生一個(gè)新的劃分,具 體公式如(2)、(3)所示;
[0038] (2)
[0039] ⑶
[0040] 2.2計(jì)算新的聚類劃分的適應(yīng)度,然后使用貪婪選擇比較雇傭蜂的新聚類劃分與 原聚類劃分的適應(yīng)度比較,如果計(jì)算得到的新的適應(yīng)度得到改善,則雇傭蜂替換為在新位 置開(kāi)采,并將聚類樣品開(kāi)采極限limit置為0。否則,繼續(xù)在原來(lái)的蜜源開(kāi)采,并將limit的次 數(shù)加1。
[0041 ] 步驟3,采用方法prob= (0· 9*Fitness/max(Fitness) )+0 · 1計(jì)算選擇概率值。原算 法使用輪盤(pán)賭產(chǎn)生概率,而我們改進(jìn)后用當(dāng)前適應(yīng)度與最大適應(yīng)度的比值作為參考計(jì)算, 這樣做的好處是可