趙晨飛



摘? 要:該文利用二維正弦函數對DE算法和最小-最大模糊神經網絡(MMFNN)結構優化策略進行測試,用MATLAB編程。在DE算法測試中,方差為0.0085,實驗誤差0.0078,實驗結果表明:DE算法具有高效性與精準性。在MMFNN算法測試中,錯誤兼容率為0.0097,小于設定的錯誤兼容率0.01,驗證了MMFNN結構的準確性。將2種算法的實驗結果進行比較,DE算法比MMFNN算法優化效果好,有效性和精準性高,為將來人工智能和計算機電子信息等領域解決優化問題提供理論依據。
關鍵詞:差分進化算法;二維正弦函數;最小-最大模糊神經網絡
中圖分類號:TP273? ? ? ? ? 文獻標志碼:A
差分進化算法(Differential Evolution,DE)由Storn和Price于1995年首次提出的一種優化算法。差分進化算法的特點是采用實數編碼;操作簡單,只有很少的參數需要設置,每次運行都能找到最優解,魯棒性好、收斂速度快、全局優化能力強,獨特的變異機制產生的新個體是通過第i個個體和3個隨機選取的父代共同產生的子個體。差分進化算法是求解問題的高效、并行的全局搜索方法,在解決復雜的全局優化問題優于其他種群進化算法,受到了學者們的廣泛關注。
模糊神經網絡(FNN)是由大量的交互式連接的神經元組成的復雜網絡,具有模擬大腦的并行處理和非線性運算等特征,在模式識別和信號處理等領域得到了成功應用。
1 DE算法原理
DE算法是基于種群優化的簡單進化算法。它的基本思想是種群中任意2個個體之差,乘以一個系數后,再加到第3個個體上,產生的新個體與原個體進行比較,如果優于原個體,則選擇新個體作為子代,反之,原個體作為子代。這樣做是為了使子代個體總是優于或等于父代個體,在種群不斷的進化中直至達到群體最優。DE算法的3個最基本操作是變異、交叉和選擇。
1.1 變異
變異是DE算法的核心,其主要目的是通過變異機制產生中間個體,變異機制如式(1)所示。
Vi=xr1+F×(xr2-xr3)? ? ? ? ? ? ? ? ? (1)
式(1)為一個目標函數的二維情況,x1和x2分別為目標函數的第一維和第二維變量。r1、r2和r3是種群中取自[1,NP]隨機選取的個體,其中NP為種群人口數,F代表差分權重,取值范圍是在0~2,Vi為貢獻向量。所以,采用此策略的DE算法的種群多樣性好。
1.2 交叉
交叉的目的是為了更好地增強種群的多樣性。交叉機制如式(2)所示。
其中uji為實驗向量,vji和xji分別為貢獻向量和目標向量,i=1,…,NP,NP為種群個體數,j=1,…,D與CR∈(0,1)為突變幾率。randb是屬于[1,D]區間內部的一個隨機整數,D為索引數。這樣可以保證一個隨機結果ui可以隨機從vij產生。
如果目標值f(ui)小于f(xi),ui在下一代替換xi,否則保留xi。
差分進化算法有2個突變量在本文中被使用,即為DE/rand/1/bin和DE/best/1/bin 。
2 DE算法分析
該文DE算法采用MATLAB語言進行編程,在實驗中,設置了一些已知的向量來計算方差等結果。利用正弦函數對DE的優化策略進行測試。測試函數是二維正弦函數,如式(3)。
z=g(x,y)
=(a0-a1×x×sin(6π×x+a2×π))
×(a0-a1×y×sin(6π×x+a2×π)) (3)
式(3)中,待優化函數為Z=g(x,y),設x和y為二維正弦函數的2個未知數,并均在
范圍內發生相應的變化,在實驗中,一組向量a=[a0,a1,a2],作為比較DE算法產生的新向量。
3 DE算法執行
在實驗中,設置6個實驗組分別為A1、A2、A3、A4、A5、A6,向量V設置3組隨機向量分別a0、a1、a2,設定向量a=[2.7,4,π/2]。x值在[-π-1/2,π-1/2]范圍內。帶入初始值并且計算相應的y值。實驗次數設為E=106次,智能系數m=0.7,標準參量ε=0.01,概率Pc=0.5。設定向量Y為輸出向量V產生的結果向量,用公式計算,得到一組輸出向量值Y,然后,開始進行雜交,比較向量V與向量Y,從兩者中選取最小的作為輸出Z。整個程序中需要一個變量確定DE算法是否運行。當實際變量小于標準變量時,DE算法就會停止。根據計算結果知道理想方差小于標準值。這恰好證明DE算法優化產生的參數與實際參數基本一致,再將2組參量帶入到二維正弦函數中,測試比較DE算法優化后的參量和實際參量。由計算結果可知,方差為0.0085,實驗誤差0.0078,實驗結果表明,DE算法的有效性。
為了驗證DE算法的有效性,設置x與y的變動范圍是[–0.1π to 0.1π],觀察實驗中相同的參考系數的變化,實驗結果表明:方差為0.000052842,小于之前大量實驗所得出的數據,進而說明DE算法具有高效性與精準性,理想的二維正弦函數與實際的二維正弦函數相比誤差率很低,這一點佐證DE算法優化效果很好。
4 最小-最大模糊神經系統(MMFNN)結構和執行
4.1 MMFNN結構
MMFNN包括輸入層、最小模糊神經層和最大模糊神經層3層結構。第一層輸入和的權重關系表達式,如式(4)所示。
Wij=1±α×(xi-θij)? ? ? ? ? ? ? (4)
其中i是輸入的索引值,j是最小模糊神經網絡層數的索引值,Wij為第一層與第二層之間的權重值,θij是第j層最小模糊神經層輸入的中間值。斜度α與θij及權重關系為在權重邊界值1~1,θij以梯度α增加,在邊界值2~1,則以梯度α遞減。其中,權重邊界值1<權重邊界值2。第二層每個最小模糊神經j選擇最小權重Wij,并作為第三層的輸出sj,N為第二層神經元數,其關系如式(5)所示。
(5)
在最后一層最大模糊神經層中,直接從第二層中選取最大值,它們的關系如式(6)所示。
(6)
公式中為第二層的權重。Sp為第p個最大神經網絡輸出端。M為第二層即為最小神經網絡層的神經元數。
4.2 MMFNN算法執行
該文利用正弦函數對MMFNN算法的優化策略進行測試。測試函數是二維正弦函數。實驗中,選取25個點作為2個輸入。在第一層,輸入滿足公式(7)所示。
(7)
b1和b2是2個邊界值,在b1與1之間以梯度α增長,在1與b2之間以-α梯度增長。s1為實驗擬定的輸出優化神經元。經過計算找到最小輸入,并將其作為第二層最小模糊神經層的輸入。將輸入與權重相乘取最大值作為第三層的輸入,最后輸出作為MMFNN的總輸出。
在實驗中,需要對一些參量進行調整以保證結構的準確性。當實際輸出與理想輸出、實際錯誤率與錯誤兼容率都比較小,說明MMFNN優化效果很理想。另外,用MATLAB畫出實際輸出與理想輸出的圖,也驗證了MMFNN優化的準確性,我們選取更多的測試點來測試系統,設置輸入為8×8如5×5相比,可知64點和25點圖所有的特征:形狀、峰值、谷值實際輸出與理想輸出的二維正弦函數均一致,錯誤兼容率僅為0.0097,小于設定的錯誤兼容率0.01。
5 結論
該文利用二維正弦函數對DE和MMFNN的優化策略進行測試,將DE算法與MMFNN算法進行相比,實驗結果表明:DE算法具有高效性和精準性,比MMFNN算法優化效果好,有效性和精準性高。該實驗結果可以為解決優化問題提供理論依據。
參考文獻
[1]馬勛亮.微分進化神經網絡算法研究[D].哈爾濱:哈爾濱工業大學,2007.
[2]周國亮.基于協同進化的神經網絡優化方法的研究與應用[D].山東:山東師范大學,2008.