劉威,郭直清,劉光偉,靳寶,王東
(1.遼寧工程技術(shù)大學(xué) 理學(xué)院,遼寧 阜新 123000;2.遼寧工程技術(shù)大學(xué) 智能工程與數(shù)學(xué)研究院,遼寧 阜新 123000;3.遼寧工程技術(shù)大學(xué) 數(shù)學(xué)與系統(tǒng)科學(xué)研究所,遼寧 阜新 123000;4.遼寧工程技術(shù)大學(xué) 礦業(yè)學(xué)院,遼寧阜新 123000)
元啟發(fā)式算法是指研究者受仿生學(xué)啟發(fā),從自然界中的隨機現(xiàn)象獲取靈感,將隨機算法與局部算法相結(jié)合來求解復(fù)雜優(yōu)化問題的一類算法[1]。此類算法相對于啟發(fā)式算法的最大改進在于引入了隨機因素的影響,從而使算法存在一定概率跳出局部最優(yōu),更有可能得到問題全局最優(yōu)解,同時由于其對目標函數(shù)、初始值等無任何特殊要求,因此成為了最優(yōu)化問題研究的熱點問題之一。根據(jù)算法啟發(fā)機制不同,元啟發(fā)式算法可歸結(jié)于兩類:模仿生物學(xué)過程的算法和基于物理學(xué)原理的算法。其中模仿生物學(xué)過程的算法又可分為兩類:基于生物進化的演化算法和基于動物社會性行為的群智能算法?;谏镞M化的演化算法主要以遺傳算法 (genetic algorithm,GA)[2]為代表,同時還有進化策略(evolutionary strategies,ES)[3]、文化基因算法 (memetic algorithm,MA)[4]等;基于動物社會性行為的群智能算法是近年來元啟發(fā)式算法研究的熱點,有模擬鳥群捕食的粒子群算法(particle swarm optimization,PSO)[5]、基于烏鴉智能行為的烏鴉搜索算法 (crow search algorithm,CSA)[6]、模擬樽海鞘聚集行為的樽海鞘群算法 (Salp swarm algorithm,SSA)[7]、模擬蝴蝶覓食和求偶行為的蝴蝶優(yōu)化算法(butterfly optimization algorithm,BOA)[8]、模擬飛蛾飛行行為的飛蛾撲火優(yōu)化算法 (mothflame optimization,MFO)[9]等;基于物理學(xué)原理的算法有模仿固體退火的模擬退火算法 (simulated annealing,SA)[10]、模仿萬有引力原理的引力搜索算法 (gravitational search algorithm,GSA)[11]、模仿多元宇宙理論中黑洞、白洞及蟲洞概念的多元宇宙優(yōu)化算法 (multi-verse optimizer,MVO)[12]等。
原子搜索優(yōu)化算法(atom search optimization,ASO)是Zhao 等[13-14]受分子動力學(xué)啟發(fā)提出的一種以物理學(xué)為靈感的基于原子運動的新型智能元啟發(fā)式優(yōu)化算法。該算法模仿由相互作用和約束力控制的原子運動,通過Lennard-Jones(L-J)勢產(chǎn)生的相互作用力和原子共價鍵產(chǎn)生的約束力共同作用于原子,使不同質(zhì)量的原子具有不同的速度和加速度,從而不斷地更新原子所在位置,直到原子處于最優(yōu)位置時,算法迭代完成。由于其啟發(fā)機制簡單、參數(shù)少、探索(exploration)和挖掘(exploitation)性強等特點已被應(yīng)用于地下水中的彌散系數(shù)估計[13]、水文地質(zhì)參數(shù)估計[14]、自動聚類[15]、燃料電池模型參數(shù)估計[16]等多個領(lǐng)域。
為提高ASO 算法的收斂速度、求解精度及跳出局部最優(yōu)能力,本文從原子群多樣性、模型參數(shù)設(shè)置和原子位置更新角度提出了一種融合混沌優(yōu)化、振幅隨機補償和步長演變機制的模擬原子位置更新過程的改進ASO 算法(improved atom search optimization,IASO),并將其應(yīng)用于BP 神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化。通過對10 個可變維基準測試函數(shù)在不同維度下以及10 個固定多維度基準測試函數(shù)與5 種元啟發(fā)算法進行仿真實驗對比,數(shù)值實驗結(jié)果不僅驗證了IASO 相對于傳統(tǒng)ASO 算法和對比算法具有更好的尋優(yōu)精度和全局性能,而且在對BP 神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化時表現(xiàn)出更高的分類性能。
對于ASO 算法,其基本理論主要包含3 個部分[13-14]:原子運動約束方程、L-J 勢產(chǎn)生的相互作用力以及鍵長勢引起的約束力。假設(shè)一個分子系統(tǒng)是由N個原子構(gòu)成的D維空間,為第i個原子在第d個維度下第t次迭代時的位置,為第i個原子在第d個維度下第t次迭代時的加速度,為第i個原子在第d個維度下第t次迭代時的速度,為第i個原子在第d個維度下第t次迭代時由L-J 勢產(chǎn)生的相互作用力,為第i個原子在第d個維度下第t次迭代時由原子共價鍵產(chǎn)生的約束力。
ASO 算法中假設(shè)原子運動滿足牛頓第二定律,由于原子受L-J 勢產(chǎn)生的相互作用力和原子共價鍵產(chǎn)生的約束力共同作用,故帶約束的原子運動方程表示為
對于最小化問題,F(xiàn)iti(t)是第i個原子在第t次迭代時的函數(shù)適應(yīng)度值,F(xiàn)itbest(t)=與Fitworst(t)=分別表示在第t次迭代時最差原子和最佳原子的目標函數(shù)適應(yīng)值。
在ASO 算法的整個尋優(yōu)過程中,原子的加速度決定了原子所處位置和速度,其主要來源于兩個部分:由L-J 勢引起的相互作用力和由鍵長勢引起的約束力。但在分子動力學(xué)理論框架下,原子間的相互排斥相對于平衡距離的變化幅度(r=1.12)遠大于相互吸引的變化幅度(見圖1),這表明了算法隨著迭代次數(shù)的增加,ASO 并沒有獲得更多的正吸引和更少的負排斥,這就導(dǎo)致不能直接使用L-J 勢引起的相互作用力和鍵長勢引起的約束力來處理優(yōu)化問題,因此Zhao 等[13-14]在分子動力學(xué)的原有模型基礎(chǔ)上重新定義了原子系統(tǒng)的相互作用力和約束力。
圖1 原子力曲線Fig.1 Force curve of atoms
式中 η(t)是調(diào)整排斥和吸引區(qū)的深度函數(shù),即
式中:α為深度權(quán)重;T為最大迭代次數(shù)。h與F′的關(guān)系由圖2 顯示,從圖2 中可以看出:對于不同η值,當h介于0.9~1.12 時發(fā)生排斥,當h在1.12~2 時發(fā)生吸引,而當h=1.12時發(fā)生平衡。從平衡(h=1.12)開始,吸引力隨著h的增加先逐漸增加并達到最大值(h=1.24),然后再逐漸減小,直到h=2時,吸引力約等于零。
圖2 F′、h和 η函數(shù)關(guān)系Fig.2 F′,h and η functional relation
因此,為保證ASO 算法的全局有效性將函數(shù)值較小的排斥力下限設(shè)置為h=1.1,函數(shù)值較大的吸引力上限設(shè)置為h=1.24,即
式中:hmin和hmax分別是h的下限和上限;長度標度,Kbest是原子總體的一個子集,由具有最佳函數(shù)適應(yīng)值的前k個原子組成。
式中g(shù)(t)是使算法保證全局性的漂移算子,表示為
因此,由L-J 勢產(chǎn)生的相互作用力為
式中:d代表當前搜索空間維度,d=1,2,···,D;randij是[0,1]中的一個隨機數(shù)。
只依靠L-J 勢引起的相互作用力只能描述簡單分子的運動,對于更復(fù)雜的分子或原子系統(tǒng),需引入一種幾何約束的分子動力學(xué)方法并結(jié)合原子內(nèi)部運動來模擬原子尋優(yōu)過程。在ASO 算法中,假設(shè)每個原子都與最佳原子有共價鍵且每個原子都受到來自最佳原子的約束力,則第i個原子約束為
式中:xbest(t)是第t次迭代時最佳原子的位置;bi,best是第i個原子與最佳原子之間的固定鍵長。故第i個原子的約束力為
式中:d代表當前搜索空間維度,且d=1,2,···,D;λ(t)為拉格朗日乘子,令 2λ→λ,則共價鍵引起的約束力可重新定義為
式中:d代表當前搜索空間維度,且d=1,2,···,D;,β是乘數(shù)權(quán)重。故在相互作用力和幾何約束下,第i個原子在t時刻的加速度為
為簡化ASO 算法,在算法的全局尋優(yōu)過程中,第t+1次迭代時第i個原子在第d維的位置和速度分別表示為
式中:d代表當前搜索空間維度,且d=1,2,···,D;為第i個原子在第d個維度下第t次迭代時的位置;為第i個原子在第d個維度下第t次迭代時的加速度;為第i個原子在第d個維度下第t+1次迭代時的速度。
最優(yōu)化問題的解集大多都存在于多參數(shù)表示的多維空間中,沒有任何先驗知識能夠表明全局最優(yōu)解所處位置,因此對于元啟發(fā)式智能優(yōu)化算法來說,最優(yōu)化問題求解結(jié)果的好壞往往與初始種群存在較大關(guān)系,初始種群多樣性越豐富得到的結(jié)果越有可能接近于全局最優(yōu)解甚至?xí)沟檬諗克俣燃涌靃17-18]。故初始化種群在整個空間的均勻覆蓋性顯得極為重要,ASO 算法在設(shè)計初就盡量保證種群覆蓋整個優(yōu)化問題的解空間,但在其種群實際初始化時仍采用隨機初始化方法,這導(dǎo)致初始種群對整個解空間覆蓋能力不夠強進而影響ASO 算法性能。
混沌序列隨機性和遍歷性等特點使得生成的初始解在整個解空間中分布更加均勻,有利于求解最優(yōu)問題的全局最優(yōu)解,現(xiàn)已被廣泛應(yīng)用于元啟發(fā)式優(yōu)化算法的種群初始化中,故本文也將混沌序列引入ASO 算法用于初始化原子種群。目前常用的混沌序列生成方法主要有Logstic 映射和Tent 映射,趙欣[19]的研究已指出Tent 映射生成的混沌序列具有更好的均勻分布性,更符合元啟發(fā)智能算法的初始種群生成,其序列生成函數(shù)為
對式(17)進行伯努利位移變化后,得
式中N為原子個數(shù),初始種群的大小由原子個數(shù)N和搜索空間維度D決定。利用式(18)生成初始種群用以代替ASO 算法中隨機生成的初始種群從而豐富初始種群的多樣性,促使算法尋優(yōu)結(jié)果更接近于全局最優(yōu)解。
ASO 在尋覓最優(yōu)解的過程中,深度函數(shù) η(t)與拉格朗日乘子 λ(t)作為其中重要的兩個參數(shù)被用于調(diào)整原子自身和原子之間的力相互作用以增強或加快算法全局搜索和局部開發(fā)能力,更有利于求解全局最優(yōu)解。但ASO 算法在實際尋優(yōu)過程中,η(t)與 λ(t)均僅使用非線性遞減函數(shù)來加快算法收斂速度,而對算法的全局性探索沒有相應(yīng)策略。
為提高算法的全局探索能力,本文受簡諧振動啟發(fā)影響引入振幅函數(shù)對算法參數(shù) η(t)與λ(t)進行修正,利用振幅函數(shù)波動跳躍的性質(zhì)增強算法跳出局部最優(yōu)的可能。引入的振幅函數(shù)s(t)定義為
式中:N為原子個數(shù);t為迭代次數(shù);d為原子搜索空間維度;rand()為隨機函數(shù),表示在振幅函數(shù)生成的數(shù)中隨機選擇一個作為最終作用于參數(shù)η(t)與λ (t)的波動因子。
根據(jù)振幅函數(shù)波動性質(zhì)易知:當算法中引入振幅因子修正參數(shù)時,參數(shù)繼承其跳躍波動性,加強了算法跳出局部最優(yōu)的可能。但由于引入的振幅因子屬于[0,1],導(dǎo)致搜索步長僅在原有解鄰域內(nèi)進行探索開發(fā),對整個全局解空間的探索性不夠強,故對式(19)進行修正,得到修正后振幅函數(shù)為
式(20)是由式(19)經(jīng)過平移后得到的,其不僅保留了振幅函數(shù)本身波動性質(zhì)促使算法跳出局部最優(yōu),而且還加大了算法對解空間的搜索半徑,增強了算法對全局的尋優(yōu)能力。
經(jīng)過振幅函數(shù)作用后的深度函數(shù) η(t)與拉格朗日乘子 λ(t)可重新定義為
式中s稱為振幅因子,由式(20)計算得出。故第i個原子在t時刻加速度可被重新定義為
根據(jù)式(16)可知,ASO 算法中原子個體位置的更新等于上一次原子自身位置和本次原子運動后的速度之和。而原子運動的一般過程表明:當原子個體逐漸接近于最優(yōu)原子個體時,由于原子做變速運動,原子位置也隨其速度的變化而不斷變化。根據(jù)原子間相互作用力和約束力作用可知,若想使原子位置快速趨近于最佳原子位置,原子速度應(yīng)逐漸降低直至為0,也即是說,原子位置變化應(yīng)逐漸變慢直至不再發(fā)生改變。
因此,為解決ASO 算法收斂速度慢的問題,本文從原子位置更新過程出發(fā),引入步長演變因子 ω(t)對原子位置更新公式進行修正,使原子位置更新過程隨算法迭代次數(shù)增加而逐漸變慢直至不再變化。ω(t)定義為
式中:t為迭代次數(shù);d為原子搜索空間維度;T為最大迭代次數(shù)。由式(24)可知,ω(t)∈[0,1]且是一個隨著解空間維度和算法迭代次數(shù)增加而快速演變的因子。
綜上所述,得出新原子位置更新策略為
由于 ω(t)∈[0,1],故式(25)的含義為:隨著原子個體不斷運動逐漸接近于原子最優(yōu)個體時,其位置動態(tài)更新過程隨著算法尋優(yōu)過程逐漸變慢直至其位置與最優(yōu)原子個體重合,此時得到的原子個體的位置分布即為原子群的最優(yōu)解。
綜上所述,IASO 算法求解最優(yōu)化問題的尋優(yōu)過程如圖3 所示。
圖3 IASO 算法流程Fig.3 Flow chart of the IASO algorithm
為探究和驗證IASO 算法的尋優(yōu)性能,本文選取20 個經(jīng)典基準測試函數(shù),其中設(shè)計了3 組實驗,主要包括以下3 個部分:
1)30 維度和100 維度下IASO 與4 種元啟發(fā)式算法的數(shù)值實驗對比,即選擇10 個經(jīng)典基準測試函數(shù)與4 種元啟發(fā)式算法在兩個維度下分別進行對比實驗并以其數(shù)值實驗結(jié)果對比驗證改進算法擁有較好的優(yōu)化性能。
在節(jié)水灌溉技術(shù)選擇過程中,要按照因地制宜的模式,制定科學(xué)的節(jié)水灌溉發(fā)展規(guī)劃,避免盲目引進不適合本地區(qū)農(nóng)業(yè)生產(chǎn)的節(jié)水灌溉技術(shù),不盲目搞所謂的樣子工程。針對本地區(qū)存在大量中低產(chǎn)田的現(xiàn)狀,應(yīng)該進一步重視中低產(chǎn)田改造,將中低產(chǎn)田改造列為今后農(nóng)業(yè)的主攻方向。通過利用合適的灌溉技術(shù),將中低產(chǎn)田的低產(chǎn)向著高產(chǎn)轉(zhuǎn)變。進一步促進節(jié)水灌溉技術(shù)在中低產(chǎn)田推廣應(yīng)用,提升農(nóng)業(yè)生產(chǎn)效益。
2)混合多維度基準測試函數(shù)下IASO 與4 種元啟發(fā)式算法的數(shù)值實驗結(jié)果對比,即選擇10 個混合多維度的經(jīng)典基準測試函數(shù)與4 種元啟發(fā)式算法進行對比實驗并以其數(shù)值實驗結(jié)果對比驗證改進算法擁有較好的優(yōu)化性能。
3)Wilcoxon 秩和檢驗與算法時間對比,即計算Wilcoxon 秩和檢驗p值以及統(tǒng)計各對比算法運行時間,通過數(shù)值實驗結(jié)果驗證IASO 比其他算法具有更好的穩(wěn)定性和優(yōu)化性。
1)實驗環(huán)境
操作系統(tǒng)Windows 10,CPU 為Intel(R)Core(TM)i7-5557U,主頻3.10 GHz,內(nèi)存為8 GB,實驗平臺為MATLAB2016a。
2)實驗初始參數(shù)設(shè)置
為保證實驗的客觀和公平性,本文將所有對比算法的種群規(guī)模統(tǒng)一設(shè)置為50,最大迭代次數(shù)統(tǒng)一設(shè)置為1 000,其中ASO 算法和IASO 算法的參數(shù) α=50,β=0.2;各實驗組均獨立進行100 次數(shù)值實驗,并計算100 次實驗結(jié)果的均值(Mean)、標準差(Std)及100 次實驗中的最優(yōu)值(Best)作為算法評價指標。
3)經(jīng)典基準函數(shù)
為驗證改進算法具有更高的收斂性和全局性,本文選取20 個經(jīng)典基準函數(shù)進行數(shù)值實驗,其中f1f10為可變維度基準函數(shù)(每組基準函數(shù)的最優(yōu)值均為0,詳細描述見表1);f11~f20為混合多維度的經(jīng)典基準函數(shù),具體函數(shù)名如下:f11為Shekel Foxholes1,f12為Kowalik,f13為Six-Hump,f14為Branin,f15為 Goldstin-Price,f16為Hartman1,f17為 Hartman 2,f18為 shekel Foxholes2,f19為shekel Foxholes3,f20為shekel Foxholes4。
表1 基準測試函數(shù)Table 1 Benchmark function
為驗證IASO 算法尋優(yōu)性能,以BOA、MFO、MVO、SSA 和傳統(tǒng)ASO 作為實驗對比算法,分別對D=30 維和D=100 維下的10 個基準測試函數(shù)進行仿真對比實驗。對比算法參數(shù)設(shè)置及評價指標以3.1節(jié)為準,得到具體實驗統(tǒng)計結(jié)果見表2 和表3。
表2 6 種算法對10 個基準函數(shù)的統(tǒng)計指標對比結(jié)果(D=30)Table 2 Comparison of the statistical indexes of ten benchmark functions via six algorithms (D=30)
續(xù)表 2
表3 6 種算法對10 個基準函數(shù)的統(tǒng)計指標對比結(jié)果(D=100)Table 3 Comparison of statistical indexes of 10 benchmark functions by six algorithms(D=100)
續(xù)表 3
由表2 和表3 可以看出:與其他元啟發(fā)算法相比,本文改進的ASO 算法(IASO)具有較好的尋優(yōu)性能。
1)在同等種群規(guī)模、迭代次數(shù)和相同維度下,除f7和f9函數(shù)外,IASO 在其余基準測試函數(shù)上的計算精度相較于對比算法均高出數(shù)個、數(shù)百個數(shù)量級甚至達到了最優(yōu)值,數(shù)值實驗結(jié)果體現(xiàn)了IASO 具有更好的計算效果和尋優(yōu)能力;雖然在f7函數(shù)上IASO 的Best 指標比BOA 算法差,但通過對比Mean 和Std 兩個指標可以發(fā)現(xiàn),IASO 算法的穩(wěn)定性高于BOA,進一步驗證了IASO 算法的可靠性和穩(wěn)健性;同時IASO 無論是在單峰函數(shù)(f1、f3和f4)還是多峰函數(shù)(f6、f8和f10)上都尋得了3 個指標的最優(yōu)計算精度,顯示了IASO 不僅具有更強的局部開發(fā)能力和收斂精度,而且還擁有更好的全局探索能力。
2)在相同種群規(guī)模、迭代次數(shù),但不同的維度下,由表2 和表3 對比可知:IASO 在30 維和100 維下對10 個測試函數(shù)的尋優(yōu)結(jié)果并無顯著差異甚至效果更佳(f2),而其余5 個對比算法在100 維度時的尋優(yōu)能力明顯弱于30 維時的尋優(yōu)能力,這表明改進算法在高維度時表現(xiàn)出更好的穩(wěn)定性和適用性,說明IASO 在解決高維度函數(shù)時的優(yōu)越搜索性能。
3)通過圖4 迭代曲線可知:無論是在30 維還是100 維下,IASO 都顯現(xiàn)出更好的尋優(yōu)能力和穩(wěn)定性。由迭代曲線圖可知,IASO 算法不僅在迭代前期就表現(xiàn)出好的搜索性能,而且還能讓這種優(yōu)勢一直保持到算法迭代終止直到逼近函數(shù)的理論最優(yōu)值。綜上所述,在對可變維度的10 個基準測試函數(shù)上進行仿真實驗時,IASO 在100次獨立重復(fù)實驗中表現(xiàn)出更好的收斂精度和局部開發(fā)能力且具有更好的全局探索能力和算法穩(wěn)健性。
圖4 IASO 與5 種算法的最佳適應(yīng)度對數(shù)對比曲線Fig.4 Logarithmic comparison curve of optimal fitness between IASO and five algorithms
為更近一步評估IASO 有效性和穩(wěn)定性,以BOA、MFO、MVO、SSA 和ASO 作為實驗對比算法,對經(jīng)典的10 個混合多維度基準測試函數(shù)進行仿真對比實驗,對比算法參數(shù)設(shè)置及評價指標以3.1 節(jié)為準,得到具體實驗統(tǒng)計結(jié)果見表4。
表4 6 種算法對10 個混合多維度基準函數(shù)的統(tǒng)計指標對比結(jié)果Table 4 Comparison of statistical indexes of ten mixed multi-dimensional benchmark functions by six algorithms
由表4 可知,IASO 在f11~f17上尋優(yōu)效果顯著且在Best 指標上已經(jīng)尋得了函數(shù)的最優(yōu)值,但在f18、f19和f20上的尋優(yōu)效果弱于對比算法,這是由于IASO 利用非線性快速收斂因子加快原子位置更新方程,而f18、f19和f20函數(shù)最優(yōu)值在小范圍內(nèi)波動,故導(dǎo)致其不能跳出局部最優(yōu)。
若想增加IASO 在f18、f19和f20函數(shù)上的尋優(yōu)精度,可將快速收斂因子函數(shù)值在1 附近波動,但此時IASO 在其余所有測試函數(shù)上的尋優(yōu)精度都會降低,同時從圖5 的迭代收斂曲線可知:IASO 在求解混合多維函數(shù)的迭代過程中顯現(xiàn)出更好的尋優(yōu)能力和更快的迭代速度。因此,從整體上來說,IASO 相較于其余算法表現(xiàn)出更好的尋優(yōu)性能。
圖5 IASO 與5 種算法的最佳適應(yīng)度對數(shù)對比曲線Fig.5 Logarithmic comparison curve of optimal fitness between IASO and five algorithms
100 次獨立重復(fù)實驗計算所得均值和標準差在整體上衡量了算法優(yōu)越性,但并不能反饋算法每次運行結(jié)果。為更好地評估改進算法的有效性和穩(wěn)定性,Derrac 等[20]提出算法應(yīng)該進行統(tǒng)計檢驗。本文采用Wilcoxon 秩和檢驗在5%的顯著性水平下進行并給出30 維和100 維下的f2、f4、f6、f8、f10以及混合多維度f12、f14、f16、f18、f20的IASO和其他算法的Wilcoxon 秩和檢驗中計算的p值。例如,若最佳算法是IASO,則在IASO vs.ASO、IASO vs.BOA 等之間進行比較。表5 中N/A 為“不適用”,表示相應(yīng)算法可以在秩和檢驗中無統(tǒng)計數(shù)據(jù)與自身進行比較;符號“+”、“?”和“=”分別表示IASO 性能優(yōu)于、劣于和相當于對比算法;當統(tǒng)計檢驗值p<0.05 時被認為是拒絕零假設(shè)的有力驗證[21],表5 中標粗部分表示p>0.05。
表5 基準函數(shù)的威爾科克森秩和檢驗p 值Table 5 p-value of the Wilcoxon rank-sum test of benchmark functions
續(xù)表 5
由表5 可知,IASO 僅在30 維與f4的IASO vs.BOA 時p值大于0.05,而在其余所有對比算法的測試函數(shù)上的秩和檢驗結(jié)果p值都小于0.05。從整體上來說,IASO 在統(tǒng)計上是顯著的,也即IASO 相對于對比算法具有更高收斂精度。
算法運行時間一定程度上反應(yīng)了算法時間復(fù)雜度大小,故本文對6 種不同算法在20 個基準測試函數(shù)上進行了100 次獨立重復(fù)實驗,分別記錄了f1~f10在30 維和100 維下各算法平均運行時間以及f11~f20在各算法下的平均運行時間,圖6 表示6 個算法在部分基準測試函數(shù)上的運行時間柱狀圖。
圖6(a)、(b)分別表示6 種算法在f2、f4、f6、f8、f10在30 和100 維下的平均運行時間,圖6(c)表示6 種算法在f12、f14、f16、f18及f20上的平均運行時間,圖6(d)表示6 種算法在30 和100 維下20 個基準測試函數(shù)的平均運行時間之和。由圖6(a)、6(b)、6(c)、6(d)可知,在給出的5 個基準函數(shù)中,IASO 在100 次獨立重復(fù)實驗下的平均運行時間遠高于BOA、MFO、MVO 和SSA 算法,這是由于ASO 自身導(dǎo)致,而IASO 平均運行時間略高于ASO(因為改進算法過程中引入了非線性因子,導(dǎo)致算法復(fù)雜度升高),但當維度增加時,相較于其余對比算法IASO 平均運行時間的增加幅度更小,這表明IASO 更適用于求解高維測試函數(shù);同時,雖然IASO 算法平均運行時間略高于ASO 算法,但綜合其尋優(yōu)能力IASO 具有更好尋優(yōu)性能。
圖6 不同智能優(yōu)化算法運行時間對比Fig.6 Running time comparison of different intelligent optimization algorithms
通過上述對比實驗可知:IASO 在不同基準測試函數(shù)和不同維度下的尋優(yōu)結(jié)果相較于其余對比算法具有更好的優(yōu)越性和更快的收斂性,故本文將IASO 求解復(fù)雜優(yōu)化問題時具有的性能優(yōu)勢引入到BP 神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化中,提出了一種基于IASO 方法的BP 神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化方法(IASOBP),并將其用于UCI 數(shù)據(jù)集分類。
針對分類問題,本文以BP 神經(jīng)網(wǎng)絡(luò)的分類準確率最大化為優(yōu)化原則,將BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程轉(zhuǎn)化為優(yōu)化問題尋優(yōu)過程,利用IASO 對優(yōu)化目標進行求解[22]。其基本思想是:通過IASO算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值,并將BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差作為個體的適應(yīng)度值,最后選擇最優(yōu)初始權(quán)值和閾值構(gòu)建BP 神經(jīng)網(wǎng)絡(luò)分類模型。其對應(yīng)的神經(jīng)網(wǎng)絡(luò)分類數(shù)學(xué)模型為[23-25]
式中:Z為分類精度值;ω為BP 神經(jīng)網(wǎng)絡(luò)權(quán)值;b為閾值;F表示選擇BP 神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值時的分類精度。
設(shè)數(shù)據(jù)集為Dataset,神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點為a,隱含層節(jié)點為b,輸出層節(jié)點為c,個體維度為Dim,IASO-BP 具體實現(xiàn)步驟如下:
1)數(shù)據(jù)預(yù)處理及參數(shù)初始化。
2)權(quán)值與閾值參數(shù)編碼。利用BP 神經(jīng)網(wǎng)絡(luò)進行初始網(wǎng)絡(luò)訓(xùn)練得到網(wǎng)絡(luò)權(quán)值和閾值,進行實值編碼,得到初始原子種群。
3)計算初始原子種群適應(yīng)度。將BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差作為個體適應(yīng)度值,則適應(yīng)度函數(shù)fi(x)可表示為
4)原子種群尋優(yōu)更新。根據(jù)IASO 算法更新原子種群并采用式(27)計算適應(yīng)度值。
5)判定是否滿足終止條件。若滿足則輸出最優(yōu)個體xi及最優(yōu)權(quán)值 ω和閾值b;反之跳轉(zhuǎn)到4)繼續(xù)執(zhí)行優(yōu)化。
6)更新BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值 ω 和閾值b并利用更新后的網(wǎng)絡(luò)對數(shù)據(jù)集進行分類。
為驗證IASO-BP 在進行分類時具有更高的精度,本文采用UCI 數(shù)據(jù)集中的8 個數(shù)據(jù)集進行數(shù)值實驗,并將IASO-BP 與一般BP 神經(jīng)網(wǎng)絡(luò)和ASO-BP 進行仿真實驗,具體實驗過程如下。
1)數(shù)據(jù)集說明
為驗證IASO-BP 的有效性,本文從UCI 數(shù)據(jù)集中選取8 個數(shù)據(jù)集進行數(shù)值對比實驗,包括皮膚科數(shù)據(jù)集(Dermatology)、糖尿病數(shù)據(jù)集(Diabetes)、肝臟疾病數(shù)據(jù)集(Bupa)、玻璃數(shù)據(jù)集(Glass)、印度人數(shù)據(jù)集(Indian)、植物葉片數(shù)據(jù)集(Leaf)、帕金森數(shù)據(jù)集(Parkinsons)及手寫數(shù)字數(shù)據(jù)集(Pendigits),數(shù)據(jù)集信息詳見表6。
表6 UCI 中8 個數(shù)據(jù)集物理屬性Table 6 Physical attributes of eight datasets in UCI
2)實驗環(huán)境及初始化參數(shù)
為保證實驗的公平性,本文所采用的仿真環(huán)境為:操作系統(tǒng)Windows 10,CPU 為Intel(R)Core(TM)i7-5557U,主頻3.10 GHz,內(nèi)存為8 GB,實驗平臺為MATLAB2016a。針對同一數(shù)據(jù)集,本文初始參數(shù)為:最大迭代次數(shù)統(tǒng)一為20 次,種群數(shù)量為20,權(quán)值和閾值邊界范圍為[?10,10],ASO 與IASO 參數(shù)為 α=50,β=0.2。分別對8 個數(shù)據(jù)集進行100 次實驗并計算100 次實驗結(jié)果的均值(Mean)、標準差(Std)及最大值(Max)和最小值(Min)作為實驗最終評價指標,得到實驗結(jié)果如表7 所示。
表7 不同算法分類準確率Table 7 Classification accuracy of different algorithms %
續(xù)表 7
本文針對原子優(yōu)化算法收斂速度慢、求解精度低和易陷入局部最優(yōu)等問題,圍繞算法的改進與應(yīng)用進行了研究,通過不同數(shù)值實驗結(jié)果對比分析得到以下結(jié)論:
1)提出了一種融合混沌優(yōu)化并基于振幅隨機補償和步長演變策略模擬原子位置動態(tài)演變更新過程的改進ASO 算法(IASO),數(shù)值實驗結(jié)果表明:IASO 相較于5 種對比算法在求解精度、收斂速度、局部極值逃逸能力和算法穩(wěn)定性方面均有顯著性提高,通過Wilcoxon 秩和檢驗p值結(jié)果進一步驗證了IASO 的可行性和有效性。
2)將IASO 引入BP 神經(jīng)網(wǎng)絡(luò)優(yōu)化過程中,設(shè)計出一種融合IASO 和BP 神經(jīng)網(wǎng)絡(luò)的分類模型(IASO-BP),并將其用于分類任務(wù),數(shù)值實驗結(jié)果表明:IASO-BP 能對BP 神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進行有效優(yōu)化,優(yōu)化后網(wǎng)絡(luò)模型與BP 神經(jīng)網(wǎng)絡(luò)和ASO-BP 相比顯示出更高的分類準確性。
本文所研究工作是對元啟發(fā)式算法優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的一次有益嘗試,數(shù)值實驗結(jié)果充分表明了IASO 算法和IASO 算法的可行性和有效性。后續(xù)研究將圍繞基于IASO(或其他元啟發(fā)式算法)優(yōu)化其他淺層神經(jīng)網(wǎng)絡(luò)參數(shù),以及搜索最優(yōu)深度神經(jīng)網(wǎng)絡(luò)架構(gòu)等方面來開展工作。