劉俊
(商洛學院電子信息與電氣工程學院,陜西商洛726000)
一種基于思維進化算法的極限學習機及其應用
劉俊
(商洛學院電子信息與電氣工程學院,陜西商洛726000)
極限學習機(Extreme Learning Machine,ELM)是一種新型的單隱含層前饋神經(jīng)網(wǎng)絡,與傳統(tǒng)神經(jīng)網(wǎng)絡訓練方法相比,ELM具有泛化能力好、學習速率快等優(yōu)點。但隨機產(chǎn)生的輸入權值和閾值,往往會出現(xiàn)一些作用很小或“無用”的值,為了達到理想精度,通常需要增加隱含層節(jié)點數(shù)。思維進化極限學習機使用思維進化算法MEA優(yōu)化輸入權值矩陣和閾值向量,再利用MP廣義逆求出輸出權值矩陣,從而減小隱含層節(jié)點數(shù),增大網(wǎng)絡預測精度。通過函數(shù)擬合仿真實驗,并同ELM算法和BP神經(jīng)網(wǎng)絡算法比較,思維進化極限學習機算法可以用較少的隱含層節(jié)點數(shù)實現(xiàn)更高的精度。
思維進化;極限學習機;權值;閾值
隨著智能信息的發(fā)展,具有良好系統(tǒng)辨識能力的神經(jīng)網(wǎng)絡得到了更廣泛的應用,但傳統(tǒng)神經(jīng)網(wǎng)絡(如BP、SVM神經(jīng)網(wǎng)絡)的固有缺陷,如收斂速度慢、易收斂到局部最優(yōu)解、過擬合問題、網(wǎng)絡隱含層節(jié)點數(shù)多且不能確定等,成為制約其發(fā)展的主要瓶頸。極限學習機(Extreme Learning Machine,ELM)是黃廣斌等[1]提出一種新的單隱層前饋神經(jīng)網(wǎng)絡(Single-hidden Layer Feedforward Neural Network,SLFN)。該算法隨機選取輸入層與隱含層間的連接權值和隱含層節(jié)點的閾值,且在訓練過程中無需調整,只需設置隱含層節(jié)點數(shù)目,再通過一步計算得到方程組的最小二乘解,即隱含層與輸出層的連接權值。因此,ELM較傳統(tǒng)網(wǎng)絡模型具有更快的學習速度、更高的精度和更強的泛化能力,已經(jīng)得到很多學者的應用研究[2-5]。但實際應用中,為了達到較好精度,隱含層節(jié)點數(shù)目需不斷增加,增大了網(wǎng)絡復雜度。從理論上已經(jīng)證明輸入層與隱含層的連接權值和隱含層的閾值的選擇對網(wǎng)絡精度有較大影響[6]。思維進化算法(Mind Evolutionary Algorithm,簡稱MEA)是由孫承意等[7]提出的一種新型進化算法,其思想來源于模仿人類思維進化過程,較遺傳算法(Genetic Algorithms,GA)具有更快的收斂時間和更強的全局搜索能力。MEA在進化過程中每一代所有個體(潛在解)組成一個群體,并形成若干個子群體,子群體又分成優(yōu)勝子群體和臨時子群體兩類,每個子群體內部執(zhí)行“趨同”操作,得到局部最優(yōu)解,每個子群體之間執(zhí)行“異化”操作,得到全局最優(yōu)解。由于MEA具有良好的擴充性、移植性和極強的全局優(yōu)化能力,已經(jīng)成功應用于圖像處理、自動控制、經(jīng)濟預測等領域[8-10]。針對ELM隨機產(chǎn)生的輸入權值和閾值有時會出現(xiàn)0值或作用很小的值,對網(wǎng)絡精度和復雜度有較大影響,本文提出思維進化極限學習機算法(MEAELM),采用思維進化算法優(yōu)化極限學習機的輸入權值和隱含層閾值,再利用MP廣義逆得到輸出權值矩陣。通過函數(shù)擬合應用實驗,并與ELM算法、BP神經(jīng)網(wǎng)絡算法作比較,驗證了MEAELM可使用更少的隱含層節(jié)點數(shù)目獲得更高的精度,同時具有更強的泛化能力。
1.1 ELM基本原理
ELM屬于單隱含層前饋神經(jīng)網(wǎng)絡,設輸入層有m個神經(jīng)元,隱含層有l(wèi)個神經(jīng)元,輸出層有n個神經(jīng)元。g(·)為隱含層神經(jīng)元的激活函數(shù)。輸入權值矩陣為ωj=[w1,w2,…,wl]T,其中第j個隱含層神經(jīng)元的權值向量ωj=[wj1,wj2,…,wjm],wj1為隱含層第j個神經(jīng)元與第i個輸入神經(jīng)元的連接權值。隱含層閾值向量b=[b1,b2,…,bl]T。設k個不同樣本(Xk,Yk),其中輸入矩陣Xk=[x1,x2,…,xk],第j個樣本輸入向量xj=[x1j,x2j,…xmj]T,xij為第j個樣本的第i個輸入神經(jīng)元輸入量。輸出矩陣Yk=[y1, y2,…,yk],第j個樣本輸出向量yj=[y1j,y2j,…ynj]T,yij為第j個樣本的第i個輸出神經(jīng)元輸出量。隱含層與輸出層連接權值矩陣β=[β1,β2,…,βl]T,其中第j個隱含層神經(jīng)元與輸出神經(jīng)元連接權值向量βj=[βj1,βj2,…,βjn],βjl表示第j個隱含層神經(jīng)元與第i個輸出層神經(jīng)元的連接權值。
隱含層輸出矩陣可以用上述假設參量表示為H=[h1,h2,…,hl],其中第j個隱含層神經(jīng)元的輸出矩陣hj=[g(wj·x1+bj),g(wj·x2+bj),…,g(wj·xk+bj)T。
網(wǎng)絡輸出矩陣T=Hβ。ELM的輸入權值和閾值可以隨機選取,且在訓練過程中保持不變,當激活函數(shù)g(·)無限可微時,通過解范數(shù)方程的最小二乘解獲得隱含層與輸出層的連接權值β^=H+T,H+為H的MP偽逆。根據(jù)文獻[11]的定理證明,β^是惟一的,使得訓練誤差最小,且使網(wǎng)絡有最好的泛化能力。
1.2 ELM學習步驟
ELM學習算法主要實現(xiàn)步驟:
1)確定隱含層節(jié)點的數(shù)目l和無限可微激活函數(shù)g(·);
2)隨機產(chǎn)生輸入權值矩陣Wl和隱含層閾值向量b;
3)計算隱含層輸出矩陣H;
4)計算輸出權值矩陣β。
思維進化算法(MEA)是在遺傳算法的基礎進行了改進。MEA具有更強整體搜索效率,可以記憶多代的進化信息,通過趨同和異化操作實現(xiàn)信息向著有利方向進行。
在解空間中隨機生成Q個個體,根據(jù)得分(即適應度函數(shù)值)選擇得分最高的前M個優(yōu)勝個體和N個臨時個體。分別以所有優(yōu)勝個體和臨時個體為中心,隨機生成M個優(yōu)勝子群體和N個臨時子群體。子群體內部個體通過得分高低進行局部競爭,若勝者(即最高分個體)不再發(fā)生變化,表示該子群體成熟,此過程為趨同操作。直到所有子群體全部成熟,并把各子群體最高得分及其個體公布到全局公告板上。根據(jù)全局公告板信息,子群體間為優(yōu)勝者而進行全局競爭,完成子群體間的替換、廢棄、個體釋放等操作,此過程為異化操作,最后得到全局最優(yōu)個體和得分。若最優(yōu)個體沒有滿足要求,可以重復趨同和異化操作,直到運算收斂或滿足設定要求。
實際應用及實驗發(fā)現(xiàn),極限學習機隱含層節(jié)點的數(shù)目對神經(jīng)網(wǎng)絡的辨識精度有較大影響,通常為了達到一定精度要求,采用的辦法是增加隱含層節(jié)點數(shù)目,這不僅增大了網(wǎng)絡的復雜度,還往往出現(xiàn)過擬合問題,即訓練精度增大時,測試精度卻在下降。同時,在文獻[6]中已經(jīng)證明,極限學習機輸入權值的選擇對網(wǎng)絡結果也有很大的影響,隨機選擇的權值容易產(chǎn)生作用很小,甚至無用的節(jié)點。本文提出一種思維進化極限學習機算法(MEAELM)。該算法主要利用思維進化算法優(yōu)化極限學習機的輸入權值和閾值,從而得到隱含層節(jié)點數(shù)更少、精度更高的網(wǎng)絡。
該算法的主要實現(xiàn)過程為:
1)參數(shù)初始化。設定種群的大小popsize,一般取100-400個;優(yōu)勝子群體個數(shù)bestpopsize,臨時子群體個數(shù)temppopsize,一般取5-10個;每個優(yōu)勝子群體和臨時子群體中個體的數(shù)目通常保持一致,且使兩種子群體的所有個體的數(shù)量和為popsize。個體由輸入權值矩陣和閾值向量構成,個體長度L=m·l+l,其中m為輸入層神經(jīng)元數(shù)目,l為隱含層神經(jīng)元數(shù)目。根據(jù)測試精度要求設定迭代次數(shù)iterate,可取5-50。
2)參數(shù)優(yōu)化。各子群體執(zhí)行趨同和異化操作,趨同和異化過程中利用訓練樣本,根據(jù)ELM算法中公式計算輸出矩陣β,再利用測試樣本一計算出每個個體的均方根誤差(RMSE),將RMSE作為進化得分,得分函數(shù)也可以是別的參數(shù)表示。經(jīng)過不斷趨同、異化、迭代,輸出最優(yōu)個體。解碼最優(yōu)個體,得到最優(yōu)的輸入權值矩陣和閾值向量。
3)結果輸出。根據(jù)最優(yōu)解碼個體,按照ELM算法公式,并利用測試樣本二的數(shù)據(jù)得到輸出權值矩陣β。
為了驗證MEAELM實際效果,本文利用回歸擬合實驗進行測試,擬合函數(shù)如式(1),并與ELM和BP神經(jīng)網(wǎng)絡擬合效果進行比較。
評價網(wǎng)絡性能主要考慮兩個參數(shù)——時間和誤差。本文采用訓練時間來衡量網(wǎng)絡計算速度,采用預測值的均方根誤差(Root Mean Square Error,,ti為預測輸出值,yi為實際輸出值,k為預測樣本總數(shù))和預測值的平均絕對相對誤差(Average Absolute Relative Error,來定量描述網(wǎng)絡預測精度。
4.1 迭代次數(shù)對MEAELM的影響
根據(jù)式(1)選取2 000組數(shù)據(jù),x1和x2在[-5,5]范圍內均勻產(chǎn)生,再隨機選擇1 800組訓練數(shù)據(jù)、剩余200組中的隨機選取100組作為測試數(shù)據(jù)一,剩下100組為測試數(shù)據(jù)二。測試數(shù)據(jù)一的預測輸出均方誤差的倒數(shù)作為MEAELM的得分函數(shù)使用。測試數(shù)據(jù)二是為了驗證網(wǎng)絡性能。
設置MEAELM的隱含層節(jié)點數(shù)為10,迭代次數(shù)從1增大到9,測試網(wǎng)絡性能。因隨機值的選取容易使結果產(chǎn)生波動,所以為了減小測試誤差,最終測試結果為連續(xù)15次操作的平均值(下同),測試結果如表1所示。
表1 迭代次數(shù)對MEAELM的性能影響
從表1可以看到,訓練時間較長,且隨著迭代次數(shù)增大不斷增加。RMSE和AARE較小,也隨著迭代次數(shù)增大不斷減小,但誤差減小幅度逐漸變慢。
4.2 隱含層節(jié)點數(shù)對MEAELM、ELM和BP神經(jīng)網(wǎng)絡的影響
不斷增加隱含層節(jié)點數(shù)目,比較MEAELM、ELM和BP神經(jīng)網(wǎng)絡擬合非線性函數(shù)(1)的能力。
選取式(1)所采集的數(shù)據(jù),隨機選擇1 800組數(shù)據(jù)作為MEAELM、ELM和BP神經(jīng)網(wǎng)絡的訓練數(shù)據(jù),剩余200組中的隨機選取100組作為測試數(shù)據(jù)一,剩下100組測試數(shù)據(jù)二,測試數(shù)據(jù)一的預測輸出誤差的倒數(shù)作為MEAELM的得分函數(shù)使用,測試數(shù)據(jù)二用來驗證MEAELM、ELM和BP神經(jīng)網(wǎng)絡的網(wǎng)絡性能。固定MEAELM的迭代次數(shù)為5。BP神經(jīng)網(wǎng)絡采用MATLAB自帶工具箱函數(shù)構建、訓練和測試網(wǎng)絡,節(jié)點傳遞函數(shù)為tansig。測試結果如表2所示。
表2 隱含層節(jié)點數(shù)對MEAELM、ELM和BP神經(jīng)網(wǎng)絡的影響
從表2可以看到,MEAELM與ELM的RMSE和AARE隨著隱含層節(jié)點數(shù)的增加而不斷減小,BP神經(jīng)網(wǎng)絡的RMSE和AARE卻呈現(xiàn)先減小后增大的結果。當隱含層節(jié)點數(shù)大于200時,MEAELM的AARE幾乎為零。MEAELM的RMSE和AARE遠遠小于其他兩種算法。同時也可以看到,MEAELM的訓練時間較長,這主要由于輸入權值和隱含層閾值參數(shù)的優(yōu)化時間較長造成的。
4.3 其他函數(shù)擬合能力比較
為了進一步比較MEAELM在擬合方面的應用優(yōu)勢,利用其他函數(shù)比較MEAELM、ELM和BP神經(jīng)網(wǎng)絡的性能。函數(shù)如下:
對式(2)(3)(4)分別采集2000組數(shù)據(jù),隨機選取1800組作為訓練數(shù)據(jù),剩余200組中選取100組作為測試數(shù)據(jù),對剩余100組數(shù)據(jù)進行預測,取所得預測結果的均方誤差的倒數(shù)作為MEAELM的得分函數(shù)。設定目標預測AARE= 0.01%,測試三種算法所需隱含層節(jié)點數(shù)及訓練時間。隱含層節(jié)點數(shù)從2開始增大,上限為300個。測試結果如表3所示。
表3 三種算法對不同函數(shù)目標預測AARE=0.01%的性能比較
從表3可以看到,同一算法對不同函數(shù)擬合效果不同,但在同一AARE為0.01%下,MEAELM相對與ELM和BP神經(jīng)網(wǎng)絡所需隱含層節(jié)點數(shù)更少,網(wǎng)絡更簡單。仿真實驗發(fā)現(xiàn),對每個函數(shù)重復15次操作中,MEAELM和ELM所需隱含層節(jié)點數(shù)比較穩(wěn)定,而BP神經(jīng)網(wǎng)絡所需隱含層節(jié)點數(shù)變化較大,甚至對式(3)仿真時出現(xiàn)隱含層節(jié)點數(shù)最多和最少相差211個的情況,非常不利于網(wǎng)絡的合理建立。
本文提出了一種思維進化極限學習機算法,該算法的基本思想是利用全局搜索能力極強的思維進化算法來優(yōu)化極限學習機的輸入層權值和隱含層閾值;最終目的是為了減少隱含層節(jié)點數(shù),降低網(wǎng)絡復雜度,提高網(wǎng)絡預測精度。該算法結合了MEA和ELM的優(yōu)點,具有參數(shù)調整簡單、泛化能力強、全局優(yōu)化能力強等特點。通過函數(shù)擬合仿真實驗,并與ELM和BP神經(jīng)網(wǎng)絡算法比較,結果表明,該算法可以用較少的隱含層節(jié)點數(shù)取得更高的預測精度,達到了預期效果。
[1]Huang G B,Zhu Q Y,Siew.Extreme learning machine:a new learning scheme of feedforward neural networks[J].Neurocomputing,2004,2(2):985-990.
[2]Deng W,Chen L.Color imagewatermarking using regularized extreme learning machine[J].Neural Network World,2010,20(3):317-330.
[3]Zong W W,Huang G B.Face recognition based on extreme learning machine[J].Neurocomputing,2011,74 (16):2541-2551.
[4]Huang G B,Zhu Q Y,Siew C K.Extreme learning machine Theory and applications[J].Neurocomputing, 2006,70:489-501.
[5]Huang G B,Wang D H,Lan Y.Extreme learning machines:a survey[J].International Journal of Machine Learning and Cybernetics,2011,2:107-122.
[6]楊易旻.基于極限學習的系統(tǒng)辨識方法及應用研究[D].長沙:湖南大學,2013:29-30.
[7]Sun C Y.Mind-Evolution-Based Machine Learning:Framework and the Implementation of Optimization[M]// Proceedings of IEEE International Conference on Intelligent Engineering Systems.Vienna,Austria, 1998,355-359.
[8]Sun Y,Sun C Y.Clustering and Reconstruction of Color images Using MEBML[M]//Proceedings of International Conference on Neural Networks&Brain.Beijing, China,1998,361-365.
[9]Cheng M Q.Gray image segmentation on MEBML frame[J].Intelligent Control and Automation,2000(1):135-137.
[10]韓曉霞,謝克明.基于思維進化算法的模糊自尋優(yōu)控制[J].太原理工大學學報,2004,35(5):523-525.
[11]Huang G B.Learning capability and storage capacity of two-hidden-layer feedforward networks[J].IEEE Transactions on Neural Networks,2003,14(2):274-281.
(責任編輯:李堆淑)
An Extreme Learning Machine Optimized by MEA and Its Applications
LIU Jun
(Cellege of Electronic Information and Electrical Engineering,Shangluo University,Shangluo726000, Shaanxi)
Extreme Learning Machine(ELM)is a new type of neural network with hidden layer feedforward.Compared with traditional neural network training method,ELM is endowed with good generalization ability,fast learning rate,etc.Input weights and thresholds randomly produced lead to useless number or number of little value.More often than not,hidden layer nodes are added to achieve the ideal accuracy.A new ELM learning algorithm,which was optimized by mind evolutionary algorithm(MEA),was proposed.In order to reduce the hidden layer nodes and increase network prediction accuracy,MEA was used to optimize input weight matrix and threshold vector,then the output weights could be calculated by Moore-Penrose generalized inverse.To test the validity of proposed method,the function fitting simulation experiments were drawn.Compared to ELM algorithm and BP neural network algorithm,experimental results showed that the proposed algorithm achieved better performance with less hidden layer nodes.
mind evolution;Extreme Learning Machine;weight;threshold
TP181
A
1674-0033(2015)02-0012-04
10.13440/j.slxy.1674-0033.2015.02.004
2014-12-27
劉俊,男,山西大同人,碩士,助教