徐 艷
(電子科技大學(xué)成都學(xué)院 611731)
工程實(shí)用中,隨著新要求和新特性的出現(xiàn),在數(shù)據(jù)和函數(shù)優(yōu)化、神經(jīng)元結(jié)構(gòu)優(yōu)化、系統(tǒng)識(shí)別、圖像處理中不僅需要獲得確定問題目標(biāo)函數(shù)的最優(yōu)解,還要獲得多數(shù)局部問題目標(biāo)函數(shù)的最優(yōu)解,該類問題的共同特征是目標(biāo)函數(shù)具有較多的局部最優(yōu)解,而全局最優(yōu)解不確定。對(duì)于該類問題,傳統(tǒng)的數(shù)值優(yōu)化算法已經(jīng)無法滿足求解要求,因此需要采用其他算法進(jìn)行求解,如適應(yīng)度分享法、子群法等都被用來對(duì)目標(biāo)函數(shù)進(jìn)行最優(yōu)解搜索,但是該類算法在搜索結(jié)果和對(duì)復(fù)雜數(shù)據(jù)的求解能力方面還不夠理想。
鑒于生物免疫系統(tǒng)具有高度自適應(yīng)的協(xié)調(diào)自治系統(tǒng),且其對(duì)復(fù)雜問題的處理具有非常大的優(yōu)勢(shì),其與當(dāng)前應(yīng)用中所需要的功能相吻合,故仿照生物進(jìn)化特性而提出的人工免疫網(wǎng)絡(luò)算法在智能計(jì)算、網(wǎng)絡(luò)優(yōu)化、模式識(shí)別等領(lǐng)域得到了廣泛的應(yīng)用。該算法可以根據(jù)問題進(jìn)行學(xué)習(xí),進(jìn)而利用其強(qiáng)大的處理功能對(duì)信息進(jìn)行處理,獲得優(yōu)化問題的最優(yōu)解。在人工免疫算法中,函數(shù)優(yōu)化的目的在于在指定范圍內(nèi)獲得目標(biāo)函數(shù)的最優(yōu)解,該過程類似于抗體群體對(duì)抗原進(jìn)行識(shí)別并獲得抗原所對(duì)應(yīng)的求解的問題。
本文提出了一種改進(jìn)的人工免疫網(wǎng)絡(luò)算法對(duì)復(fù)雜函數(shù)進(jìn)行優(yōu)化求解,該算法借鑒禁忌搜索算法的思想,引入禁忌表、記憶表及搜索方向表,以改善人工免疫網(wǎng)絡(luò)算法在優(yōu)良狀態(tài)記憶方面和搜索復(fù)雜度方面的存在的不足。
人工免疫網(wǎng)絡(luò)是在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,結(jié)合機(jī)器學(xué)習(xí)等方法而建立起來的一種具有自適應(yīng)能力的網(wǎng)絡(luò),基于人工免疫網(wǎng)絡(luò)的算法具有處理復(fù)雜問題能力突出,可以實(shí)現(xiàn)目標(biāo)函數(shù)的局部收斂等優(yōu)點(diǎn),故其具有廣泛的應(yīng)用范圍和應(yīng)用領(lǐng)域。該算法將超過一定連接強(qiáng)度的抗體群組成網(wǎng)絡(luò),然后根據(jù)克隆選擇、免疫網(wǎng)絡(luò)、變異等原理對(duì)該網(wǎng)絡(luò)中待分析的數(shù)據(jù)進(jìn)行分析、分類和處理。
人工免疫網(wǎng)絡(luò)算法主要用于對(duì)模式識(shí)別中的數(shù)據(jù)局類問題進(jìn)行求解和分析。聚類算法是一類具有多峰值函數(shù)的算法,需要獲取多個(gè)局部峰值,且需要具有一定的自適應(yīng)性,人工免疫網(wǎng)絡(luò)算法對(duì)該類問題具有很好的適應(yīng)性,故利用該算法可以獲得聚類問題所需的最優(yōu)解。
需要注意的是,人工免疫網(wǎng)絡(luò)算法的運(yùn)算量較大,需要選取適當(dāng)?shù)膲嚎s閾值以獲得最優(yōu)解,對(duì)于具有多模態(tài)參數(shù)和峰值、復(fù)雜度高等問題的求解能力還存在不足。具體而言分為以下幾點(diǎn):一,若目標(biāo)函數(shù)中存在的極值點(diǎn)較多和較密集,若無法確定最佳閾值則可能致使算法因無法搜索到全部極值點(diǎn)而失效,同時(shí)由于局部峰值過多,容易導(dǎo)致算法出現(xiàn)早熟現(xiàn)象。二,算法隨機(jī)生成細(xì)胞的增加與現(xiàn)有網(wǎng)絡(luò)中的細(xì)胞之間沒有通過一定的方式進(jìn)行關(guān)聯(lián),易增加系統(tǒng)的計(jì)算量,導(dǎo)致出現(xiàn)迂回搜索,影響極值點(diǎn)的搜索。
為克服該算法所存在的缺陷,本文將禁忌搜索算法的搜索思想引入到人工免疫算法中,以提高算法的性能。
禁忌搜索算法的搜索方式為,對(duì)全局?jǐn)?shù)據(jù)依據(jù)抗體細(xì)胞的特性進(jìn)行啟發(fā)式數(shù)據(jù)尋優(yōu),可優(yōu)化流程排序,實(shí)現(xiàn)過程的自適應(yīng)選擇。其中,該搜索算法的核心技術(shù)為鄰域函數(shù)、禁忌配表、候選解和特赦準(zhǔn)則。
鄰域函數(shù)主要用于對(duì)特定問題和數(shù)據(jù)求解所需的數(shù)據(jù)表達(dá)方式進(jìn)行設(shè)定,通過該函數(shù)可以由現(xiàn)有解獲得新的解。該函數(shù)的表達(dá)式需要根據(jù)具體情況進(jìn)行確定。禁忌表則用來限定搜索操作的方向,列入禁忌表中的搜索方向無法進(jìn)入下一步搜索過程,該表可以防止出現(xiàn)因迂回搜索而出現(xiàn)的搜索錯(cuò)誤和數(shù)據(jù)溢出。禁忌表會(huì)記錄最近幾次的搜索操作,避免這些操作出現(xiàn)重復(fù),經(jīng)過設(shè)定次數(shù)操作后,最近幾次操作被釋放到禁忌表的末端,可重新參與運(yùn)算。候選解則是根據(jù)當(dāng)前狀態(tài)中所出現(xiàn)的一些優(yōu)選解組成的一組解,其具有后續(xù)搜索方向性能優(yōu)良、數(shù)據(jù)適當(dāng)?shù)忍匦?。而特赦?zhǔn)則則是當(dāng)目標(biāo)值出現(xiàn)較大幅度下降時(shí)而采取的措施,在出現(xiàn)上述情況時(shí),禁忌表中數(shù)據(jù)會(huì)重新進(jìn)行選取,以便于獲得全局最優(yōu)解,實(shí)現(xiàn)性能的優(yōu)化。
本文將禁忌搜索算法的搜索特性引入到人工免疫網(wǎng)絡(luò)算法中,改善該算法在數(shù)據(jù)搜索中所具有的缺陷。具體實(shí)現(xiàn)方式如下:
在人工免疫網(wǎng)絡(luò)中引入禁忌準(zhǔn)則,設(shè)定特定區(qū)域?yàn)榻膳浔?,避免在搜索過程中出現(xiàn)迂回搜索,同時(shí)設(shè)定特赦準(zhǔn)則,對(duì)具有優(yōu)良狀態(tài)的搜索操作進(jìn)行釋放,從而改善搜索特性,增強(qiáng)搜索的準(zhǔn)確性。當(dāng)人工免疫網(wǎng)絡(luò)在隨機(jī)生成細(xì)胞時(shí),算法會(huì)對(duì)該細(xì)胞進(jìn)行范圍判定,若該細(xì)胞進(jìn)入禁忌鄰域則取消該細(xì)胞進(jìn)入網(wǎng)絡(luò)的操作,當(dāng)細(xì)胞禁忌次數(shù)超過限定閾值時(shí),釋放該細(xì)胞。通過該種方式可以確保隨機(jī)細(xì)胞生成具有最優(yōu)的分布性,消除迂回搜索出現(xiàn)的概率,提高算法搜索速度和改善峰值搜索精度,加快算法收斂速度。
改進(jìn)算法對(duì)成熟細(xì)胞的免疫記憶機(jī)制進(jìn)行模擬,免疫細(xì)胞通過在固定生命周期T內(nèi)對(duì)抗原進(jìn)行記憶,提高與抗原的親和力。若在其生命周期內(nèi)若可以獲得足夠的親和力則該細(xì)胞轉(zhuǎn)換為記憶細(xì)胞,若在其生命周期內(nèi)免疫細(xì)胞未獲得足夠的親和力則該細(xì)胞死亡,算法生成新的隨機(jī)細(xì)胞,該細(xì)胞進(jìn)入親和力積累循環(huán)。經(jīng)過多次循環(huán),免疫網(wǎng)絡(luò)中的細(xì)胞群均具有免疫記憶功能,實(shí)現(xiàn)對(duì)抗原的免疫。鑒于基本人工免疫網(wǎng)絡(luò)中的優(yōu)秀個(gè)體無法得到保存,算法中出現(xiàn)的優(yōu)秀特征無法獲得持續(xù)性保存,故可以在人工免疫網(wǎng)絡(luò)中增加一個(gè)記憶表對(duì)符合網(wǎng)絡(luò)特性的記憶細(xì)胞進(jìn)行保存,若后續(xù)過程中出現(xiàn)性能更加優(yōu)良的細(xì)胞,則用該細(xì)胞替換其鄰域內(nèi)的某個(gè)記憶細(xì)胞,促使抗體群逐漸趨向于局部極值。該過程在保持網(wǎng)絡(luò)現(xiàn)有規(guī)模的基礎(chǔ)上減少算法運(yùn)算量,提高局部極值點(diǎn)精度,在多峰值函數(shù)優(yōu)化方面具有優(yōu)良的性能。
本算法將禁忌表、記憶表及進(jìn)化方向表引入到人工免疫算法中,算法流程如下:首先生成初始免疫網(wǎng)絡(luò),對(duì)網(wǎng)絡(luò)中各細(xì)胞的親和度進(jìn)行計(jì)算,獲得細(xì)胞禁忌表。然后對(duì)網(wǎng)絡(luò)細(xì)胞克隆,計(jì)算變異細(xì)胞的親和度,根據(jù)預(yù)定閾值對(duì)變異細(xì)胞進(jìn)行判定,若不在禁忌范圍內(nèi),則重新計(jì)算新細(xì)胞網(wǎng)絡(luò)的親和度,進(jìn)入循環(huán);若該細(xì)胞在禁忌表范圍內(nèi)則將該細(xì)胞加入到禁忌表并將禁忌表中的特赦細(xì)胞轉(zhuǎn)移到記憶表,對(duì)兩表中的細(xì)胞進(jìn)行抑制。判定是否滿足停止條件,若滿足則輸出網(wǎng)絡(luò)中具有最大親和力的細(xì)胞,若不滿足則重新進(jìn)入循環(huán)。其中,迭代停止條件為禁忌表和記憶表中的細(xì)胞總數(shù)達(dá)到預(yù)設(shè)數(shù)值或者算法迭代次數(shù)達(dá)到預(yù)設(shè)次數(shù)。
本算法對(duì)人工免疫網(wǎng)絡(luò)中的閾值敏感問題進(jìn)行了分析和考慮,將初始克隆抑制和網(wǎng)絡(luò)抑制引入到算法中,以提高閾值確定的精度??寺∫种频谋磉_(dá)式如下:
其中θ表示抑制閾值,DATavg表示抗體細(xì)胞的平均距離,a為根據(jù)算法適用范圍所選取的權(quán)值。
通過該閾值確定方式保證了網(wǎng)絡(luò)中抗體的多樣性,同時(shí)避免了因鄰域范圍選取不當(dāng)而產(chǎn)生的搜索錯(cuò)誤。
網(wǎng)絡(luò)抑制的表達(dá)式如下:,
其中M為記憶抗體集,σs為抑制域。通過選取適當(dāng)?shù)囊种朴蛑悼梢垣@得最佳的極值搜索結(jié)果。
利用上述兩種抑制方式可以獲得符合算法要求的問題解。
本文算法在人工免疫網(wǎng)絡(luò)算法的基礎(chǔ)上引入禁忌搜索算法算法思路,改善了人工免疫網(wǎng)絡(luò)算法在搜索量上的缺陷,有效保持抗體間的動(dòng)態(tài)平衡,且抑制機(jī)制的引入保證了解的多樣性,消除了算法中存在的早熟問題,提高了算法的運(yùn)算速度,在全局尋優(yōu)和局部收斂方面具有很好的性能。
[1]郭鵬飛,王嘉,趙云豐.人工免疫網(wǎng)絡(luò)算法的改進(jìn)及免疫優(yōu)化應(yīng)用[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,40(5)
[2]趙云豐,付冬梅,尹怡欣,王嘉,周諄,趙寶永.一種改進(jìn)的人工免疫網(wǎng)絡(luò)優(yōu)化算法及其性能分析[J].自然科學(xué)進(jìn)展,2009,19(4)
[3]謝靜,蘇一丹,基于人工免疫增量的聚類算法[J].大眾科技,2010(12)
[4]鄔依林.基于自適應(yīng)人工免疫網(wǎng)絡(luò)算法的數(shù)據(jù)挖掘[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(4)
[5]馬立玲,張曌,周曉航,王軍政.基于改進(jìn)人工免疫網(wǎng)絡(luò)的分類方法[J].北京理工大學(xué)學(xué)報(bào),2011,31(2)