宋 飛,夏克文,楊文彪
河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津300401
群體智能是相對高效的一種優(yōu)化算法,它可以解決傳統(tǒng)技術(shù)難以解決的非線性問題以及NP難等問題。因此,群體智能算法得到了廣泛的研究和關(guān)注。蜻蜓算法的主要靈感源于自然界中蜻蜓的靜態(tài)和動態(tài)蜂群行為[1]。通過自然界中的鳥類的覓食、警惕、飛行三種行為,Meng等人對于鳥類的交互行為進行建模分析,提出了一種新型的群智能算法,即鳥群算法(BSA)[2]。雖然群體智能算法具有簡單高效,易于實現(xiàn)的優(yōu)點,但它在實際應(yīng)用中依然存在易于陷入局部最優(yōu)等缺點。因此,對于群體智能算法的改進越來越重要。Zhang 等人提出了一種動態(tài)多群差分學(xué)習(xí)量子鳥群算法來融合三種策略來提高鳥群算法的性能[3]。Wang 等人通過擾動局部最優(yōu)解的策略,使原鳥群算法又快又穩(wěn)地收斂到全局最優(yōu)[4]。Wang 等人采用正弦函數(shù)和余弦函數(shù)來控制加速系數(shù),改變了空間搜索,使全局最優(yōu)值收斂更快[5]。由此可見,多種改進策略相結(jié)合的方法具有一定的效果。
群體智能優(yōu)化算法大多存在易于陷入局部收斂以及收斂精度低等局限性,鳥群算法同樣具有這些缺點,采用多種改進策略結(jié)合的方式對鳥群算法進行改進,提出融合多策略的鳥群算法(MMSBSA)。首先,為了增強算法跳出局部最優(yōu)的能力,提出混沌參數(shù)和高斯擾動策略;其次,為了加快算法的收斂速度,引入混合多步選擇和自適應(yīng)步長策略;最后,為了增加種群的多樣性,提出小波變異策略,增強算法的尋優(yōu)能力。為驗證改進算法的有效性,將改進算法與另外5 種智能算法進行比較,選用10個基準函數(shù)測試算法的性能。
極限學(xué)習(xí)機(ELM)是單隱層前向網(wǎng)絡(luò)的訓(xùn)練算法,具有訓(xùn)練速度快,泛化性能高的特點,廣泛應(yīng)用于回歸于分類問題之中。因此,考慮將ELM 應(yīng)用于油層識別中。由于ELM 隱含層參數(shù)是隨機選取的,所以其穩(wěn)定性較差,因此對于ELM的參數(shù)優(yōu)化必不可少。目前,王珂珂等人[6]應(yīng)用鯨魚算法優(yōu)化ELM,牛春彥等人[7]提出用云量子花朵授粉算法來優(yōu)化極限學(xué)習(xí)機,但算法的收斂精度較低,模型泛化性不高。采用MMSBSA 對極限學(xué)習(xí)機模型進行參數(shù)優(yōu)化,應(yīng)用油層識別實驗驗證改進的極限學(xué)習(xí)機的識別效果。
鳥群算法是Meng等人[2]在2015年提出的一種新型的生物啟發(fā)式算法,通過模仿鳥類的社交行為及互動中的覓食行為,警惕行為和飛行行為來解決優(yōu)化問題。
設(shè)鳥群規(guī)模為N,飛行空間維度為D,(i∈[1,2,…,N])代表鳥的位置,F(xiàn)Q表示飛行間隔,P為覓食概率,若(0,1) 間的隨機數(shù)小于P,鳥類將會選擇覓食,否則,這只鳥將繼續(xù)保持警惕。
(1)覓食行為
每只鳥通過自我經(jīng)驗和群體經(jīng)驗來尋找食物,用數(shù)學(xué)公式表示如下:
其中,j∈[1,2,…,N],rand(0,1)表示(0,1)中的獨立均勻分布數(shù),C和S為自我認知和社會認知加速系數(shù),pi,j是第i只鳥的最佳先前位置,而gj是種群共享的最佳先前位置。
(2)警惕行為
鳥類試圖移動到種群的中心,并且它們將相互競爭,用數(shù)學(xué)公式表示如下:
其中,k(k≠i)是從1到N之間的隨機整數(shù),a1 和a2是中的兩個常數(shù),pFiti代表第i只鳥的最佳適應(yīng)度,sumFit表示種群的最佳適應(yīng)度之和,meanj表示整個群體平均位置的第j元素,ε用于避免零分誤差,是計算機中的最小常數(shù)。
(3)飛行行為
當鳥類到達一個新的地點進行飛行行為時,會劃分為生產(chǎn)者和乞食者,用數(shù)學(xué)公式表示如下:
其中,randn(0,1)表示均值為0,標準差為1的高斯分布隨機數(shù),k∈[1,2,…,N],k≠i,F(xiàn)L(FL∈[0,2])表示跟隨概率。
目前,鳥群算法在優(yōu)化問題中的應(yīng)用效果顯著,具備調(diào)節(jié)參數(shù)少,魯棒性能好,收斂精度高等優(yōu)點,但是依然存在收斂速度緩慢,多樣性不足,局部收斂等問題。因此,本文對于鳥群算法進行了深入研究,提出了五種改進策略,用以提高鳥群算法的性能。
1.2.1 混沌參數(shù)
混沌變量具有遍歷性、有界性和普適性的特點,許多學(xué)者將混沌應(yīng)用于群體智能算法的搜索空間的初始化之中,取得了顯著的效果。由此,依據(jù)混沌序列固有的規(guī)律性,將其引入到鳥群算法的參數(shù)之中。
受PSO 算法的啟發(fā),在鳥群算法中引入慣性權(quán)重。權(quán)重具有混沌序列的遍歷隨機性,為了有效地增強算法的全局搜索能力,提高算法跳出局部最優(yōu)的能力,在鳥群算法的覓食行為之中引入Ding等人在鯨魚優(yōu)化算法中提出的混沌慣性權(quán)重[8],如公式(7)所示:
其中,μ的值為4時,logistic混沌具有穩(wěn)定的狀態(tài)。
通常,鳥群算法中的兩個加速系數(shù)會設(shè)置為相同的常數(shù)。為了平衡算法在全局和局部的搜索能力,在鳥群算法中引用了Du等人對于PSO算法中的認知成分和社會成分改進的對稱切線混沌加速系數(shù)[9],加速系數(shù)C、S如公式(8)、(9)所示:
其中,a、b、ρ的值為0,2 之間的常數(shù),t是迭代次數(shù),tmax是最大迭代次數(shù),c是滿足logistic混沌的映射。
通過多次實驗驗證,a的值為0.5,b的值為1.5,ρ的值為0.1。
將引入的混沌參數(shù)加入到鳥群的覓食行為中,提出混沌鳥群算法(CBSA),改進如公式(10)所示:
1.2.2 高斯擾動
針對算法的種群多樣性不足,容易陷入早熟收斂的情況,受文獻[10]和文獻[11]的啟發(fā),在鳥群的覓食行為中增加高斯擾動策略,增強個體的逃逸能力,促使算法跳出局部最優(yōu),提出混沌高斯鳥群算法(CGBSA),改進如公式(11)所示:
1.2.3 混合多步選擇
為了增強算法種群的多樣性與隨機性,加快算法的收斂速度,受Du等人[9]對于PSO算法改進方法的啟發(fā),將混合多步選擇策略引入鳥群算法中,考慮將基本算法未搜索的位置點引入尋優(yōu)的選擇范圍之中,將個體位置更新分為四部分,為了加快算法的收斂速度,比較各個位置的適應(yīng)度函數(shù)值選擇最優(yōu)的位置。提出混沌高斯多步鳥群算法(CGMBSA),策略描述如下:
然后根據(jù)個體位置的適應(yīng)度大小選出最佳位置,過程如公式(17)所示:
1.2.4 自適應(yīng)步長
針對鳥群算法收斂速度慢的缺點,受文獻[12]的影響,將基本鳥群算法飛行行為中的隨機步長設(shè)置為自適應(yīng)步長,步長因子隨迭代次數(shù)的增大而減小,提出混沌高斯多步自適應(yīng)鳥群算法(CGMABSA),改進如公式(18)、(19)所示:
其中,λ為0,1 之間的常數(shù),t為迭代次數(shù),tmax為最大迭代次數(shù)。
通過多次實驗發(fā)現(xiàn)λ的取值為0.000 1 時,可以得到較好的實驗效果。
1.2.5 小波變異
受文獻[13]的啟發(fā),為了增加算法種群的多樣性,引入小波變異策略,對于適應(yīng)度小于種群平均適應(yīng)度的個體位置進行變異操作,變異過程如公式(20)所示:
其中,ub為變量上邊界,lb為變量下邊界,防止算法超出搜索范圍,φ為[-2.5d,2.5d]之間的隨機數(shù),g的取值為10 000,t為迭代次數(shù),tmax為最大迭代次數(shù)。
綜上所述,將融合五種改進策略的算法命名為融合多策略的鳥群算法(MMSBSA),MMSBSA 算法步驟如下所示。
為了驗證MMSBSA 的有效性,選取10 個基準函數(shù)[14]進行測試,如表1所示,其中,F(xiàn)1~F4為單峰函數(shù),僅有一個最優(yōu)值,可以用來驗證算法的收斂性能;F5~F7為固定維多峰函數(shù),F(xiàn)8~F10為混合維多峰函數(shù),包括多個局部最優(yōu)解。
表1 10個基準函數(shù)Table 1 10 benchmark functions
本文的實驗環(huán)境如下:MATLAB R2018a,Win10(64 bit),PC 處理器是Intel?Core?i5-10300H,主頻是2.5 GHz,內(nèi)存是8 GB。所有優(yōu)化算法的種群規(guī)模為30,最大迭代次數(shù)為1 000,各算法的參數(shù)設(shè)置如表2 所示。為了保證算法的有效性,以下所有實驗都在相同的條件下進行。
表2 優(yōu)化算法參數(shù)設(shè)置Table 2 Parameter setting of optimization algorithm
首先,為了驗證融合多策略的鳥群算法策略的有效性,進行了消融實驗進行比較。為了驗證策略的有效性,通過BSA 與各種改進的鳥群算法進行比較分析。仿真尋優(yōu)迭代曲線如圖1所示。
由圖1可知,本文的改進策略在單峰、多峰以及混合多峰函數(shù)的測試中,均可以取得優(yōu)于基本BSA的效果。其中,CBSA與CGBSA的效果相較基本BSA來說,具有一定的跳出局部最優(yōu)的能力;CGMBSA 和CGMABSA的尋優(yōu)曲線相較于CGBSA來說,尋優(yōu)速度更快,而且通過對比分析,MMSBSA的尋優(yōu)效果最佳,說明本文改進策略的融合具有一定的效果。
圖1 4個基準測試函數(shù)的仿真尋優(yōu)迭代曲線圖Fig.1 Iterative curves of simulation optimization for four benchmark functions
其次,將MMSBSA 與BSA、鯨魚算法(WOA)[14]、正弦余弦算法(SCA)[15]、具有時變加速系數(shù)的粒子群優(yōu)化算法(TACPSO)[16]、文獻[17]中改進的粒子群算法(MPSO)進行對比分析,驗證MMSBSA的性能。
為了更加直觀地觀測各算法的性能,10個基準測試函數(shù)的仿真尋優(yōu)迭代曲線圖,如圖2所示。
圖2 基準測試函數(shù)的仿真尋優(yōu)迭代曲線圖Fig.2 Iterative curve of simulation optimization for benchmark function
圖2 (續(xù))
圖2中實線為MMSBSA算法迭代尋優(yōu)曲線,圖2中的(a)~(d)是單峰基準函數(shù)的尋優(yōu)曲線,在F1函數(shù)尋優(yōu)中,WOA、SCA、TACPSO 和MPSO 都存在一定的早熟收斂情況,BSA 和MMSBSA 的收斂速度隨著迭代次數(shù)的增加而加快,而且都能夠?qū)ふ业阶顑?yōu)值,其中,BSA的尋優(yōu)趨勢近似于線性收斂變化,橫坐標為690時達到最小值;而MMSBSA在迭代前期收斂很快,圖中橫坐標為130 時成拐點開始趨于平緩,橫坐標為378 時達到最小值。顯然,MMSBSA 的尋優(yōu)速度更快。在函數(shù)F2、F3、F4的尋優(yōu)曲線中,MMSBSA 不僅尋優(yōu)速度快于其他算法,而且尋優(yōu)精度也高于其他算法。圖2中的(e)~(j)是多峰基準函數(shù)的尋優(yōu)曲線,對于多峰函數(shù)的測試,MMSBSA性能依然優(yōu)于其他對比算法。
綜上所述,本文對于鳥群算法的改進具有積極的影響,MMSBSA對于基準函數(shù)的測試效果優(yōu)于其他5種智能算法。
為了更加全面地驗證算法的有效性,獲得每個算法運行30 次的平均值、最大值、最小值以及標準差,10 個基準測試函數(shù)的評價指標結(jié)果如表3所示。
表3 中粗體標出的為最優(yōu)的結(jié)果,由表3 可知,MMSBSA 無論是單峰函數(shù),還是多峰函數(shù)的尋優(yōu)結(jié)果都比較接近最優(yōu)值,而且尋優(yōu)能力在多數(shù)情況下高于另外5 種算法,算法性能比較穩(wěn)定。因此,可以驗證MMSBSA在收斂速度以及尋優(yōu)精度方面的性能高于其他算法。
表3 不同算法的測試結(jié)果Table 3 Test results of different algorithms
極限學(xué)習(xí)機是Huang 等人[18]針對單隱藏層前饋神經(jīng)網(wǎng)絡(luò)提出的一種新的學(xué)習(xí)算法,極限學(xué)習(xí)機比人工神經(jīng)網(wǎng)絡(luò)更加簡單、訓(xùn)練速度較快、泛化性能好。
ELM的數(shù)學(xué)模型[18]如公式(23)所示:
其中,ti表示輸出結(jié)果,βi表示隱含層與輸出層的權(quán)值,bi表示隱含層的偏置,xi表示樣本數(shù)據(jù),假設(shè)有q個樣本。
本文應(yīng)用的激活函數(shù)為Sigmoid 函數(shù),如公式(24)所示:
公式(23)可以寫成:
公式(25)可以轉(zhuǎn)換為最小二乘解問題:
其中,H+是H的Moore-Penrose 廣義逆矩陣。
在基本的ELM中,隨機選取參數(shù)導(dǎo)致ELM的分類準確度不高,性能不穩(wěn)定。MMSBSA具有收斂精度高、速度快、穩(wěn)定性強的優(yōu)勢。因此,采用MMSBSA 優(yōu)化ELM模型的權(quán)重ω和偏置b,選出最優(yōu)值,代入ELM中進行訓(xùn)練,構(gòu)建MMSBSA-ELM 模型。MMSBSA-ELM模型算法步驟如下所示。
算法MMSBSA-ELM模型算法
油層識別是石油開發(fā)與勘探的主要任務(wù),為了提高ELM模型的分類精度,將MMSBSA用于油層識別ELM模型的參數(shù)優(yōu)化,通過某油田實際數(shù)據(jù)來驗證模型的性能。
選取兩個實際的油井數(shù)據(jù)對油層識別MMSBSAELM 模型進行應(yīng)用測試。A1、A2 均為國內(nèi)某油井,A1井測得13 個屬性信息,分別為{GR,DT,SP,WQ,LLD,LLS,DEN,NPHI,PE,U,TH,K,CALI},經(jīng)過約簡之后得到{GR,DT,SP,LLD,LLS,DEN,K}7個屬性信息;A2井實際測得28 個屬性信息,分別為{AC,CNL,DEN,GR,RT,RI,RXO,SP,R2M,R025,BZSP,RA2,C1,C2,CALI,RINC,VCL,VMA1,VMA6,RHOG,SW,VO,WO,PORE,VXO,VW,SO,AC1},經(jīng)過屬性約簡之后得到{AC,GR,RT,RXO,SP}5個屬性信息,對于約簡后的信息進行歸一化處理,公式如下所示:
其中,x為樣本屬性值,xmin表示樣本屬性的最小值,xmax表示樣本屬性的最大值。圖3 為A2 井約簡后的5個屬性信息在井段1 255~1 280 m的歸一化處理結(jié)果。
圖3 屬性歸一化曲線圖Fig.3 Attribute normalization graph
在A1井的井段3 330~3 350 m中提取201個樣本數(shù)據(jù)點,其中油層樣本點有84個,非油層樣本點有117個,然后將樣本點隨機劃分為兩部分,訓(xùn)練集用來訓(xùn)練構(gòu)建網(wǎng)絡(luò)模型,測試集用來驗證模型的性能。
對于分類問題來說,激活函數(shù)選取Sigmoid 函數(shù)的ELM 分類效果最好,因此,本文的激活函數(shù)選取Sigmoid函數(shù),隱含層節(jié)點數(shù)選取35。
為了驗證MMSBSA-ELM模型的性能,選取遺傳算法(GA)、粒子群算法(PSO)、蟻群算法(ACO)優(yōu)化的ELM以及基本的ELM與MMSBSA-ELM的性能進行比較,各優(yōu)化算法的參數(shù)設(shè)置為GA 的交叉概率為0.7,變異概率為0.05;PSO 的ωmax=0.9,ωmin=0.5;ACO 的信息素蒸發(fā)系數(shù)為0.5,轉(zhuǎn)移概率為0.5,所有種群的最大迭代次數(shù)設(shè)置為200。識別準確率選取每個算法運行20次之后的平均值,A1井的各算法識別準確率如表4所示。
表4 ELM算法性能比較Table 4 Performance comparison of ELM algorithms
由表4可知,MMSBSA-ELM具有較高的識別率,可達到97.18%,這說明MMSBSA的優(yōu)化提高了ELM的分類精度,分類效果顯著。
選取A2 井的樣本信息來驗證油層識別MMSBSAELM模型的性能,A2油井數(shù)據(jù)信息如表5所示。
表5 A2油井數(shù)據(jù)信息Table 5 Data information of well A2
通過A2井的樣本數(shù)據(jù)信息來驗證MMSBSA-ELM模型的有效性,A2井的真實油層分布和各個ELM的分類結(jié)果如圖4 所示。其中,橫軸代表油層深度,縱軸代表類別標簽,“1”代表油層,“0”代表非油層。
由圖4可知,與ELM、GA-ELM、PSO-ELM和ACOELM的識別結(jié)果相比,MMSBSA-ELM的識別結(jié)果最為接近真實的油層分布。為了評估油層識別模型的性能,采用以下指標:
圖4 真實油層分布和ELM分類圖Fig.4 Actual oil layer distribution of A2 and classification of ELM
其中,Yi和Ti分別表示識別輸出值和期望輸出值,RMSE 可以評估分類識別模型的準確度,MAE 可以顯示識別模型的預(yù)測誤差。
為了展示各個模型的性能,表6是各算法運行20次取平均值的結(jié)果。
表6 ELM算法性能比較Table 6 Performance comparison of ELM algorithms
由表6可知,在A2井井段的油氣層識別中,MMSBSAELM的平均識別準確率可達97.21%,高于其他對比模型的識別結(jié)果,預(yù)測誤差也低于其他模型,說明MMSBSAELM模型在樣本點較多的情況下依然具有較高的識別準確度,具有一定的應(yīng)用價值。
本文提出的融合多策略的鳥群算法,即MMSBSA,引入混沌參數(shù)和高斯擾動策略,增加算法的尋優(yōu)能力,提高算法跳出局部最優(yōu)的能力;混合多步選擇策略和自適應(yīng)步長策略的融合,能有效地加快算法的收斂速度;小波變異策略,可以增加種群的多樣性。通過10 個基準函數(shù)測試,與BSA、WOA、SCA、TACPSO 和MPSO 這5種智能算法進行比較,MMSBSA具有更加精準快速的尋優(yōu)性能。將MMSBSA 應(yīng)用于ELM 模型的參數(shù)優(yōu)化中,即建立油層識別MMSBSA-ELM 模型,應(yīng)用于油層識別領(lǐng)域,與ELM、GA-ELM、PSO-ELM 和ACO-ELM的識別結(jié)果相比,MMSBSA-ELM的識別準確率高于其他模型,這表明改進方法具有一定的可行性,具有實際應(yīng)用價值。