王麗娟,丁世飛
1.中國(guó)礦業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116
2.徐州工業(yè)職業(yè)技術(shù)學(xué)院 信息與電氣工程學(xué)院,江蘇 徐州 221140
極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)是一種簡(jiǎn)單、有效的單隱層前饋神經(jīng)網(wǎng)絡(luò)SLFNs學(xué)習(xí)算法[1]。只需設(shè)置網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)個(gè)數(shù),在算法執(zhí)行過(guò)程中,輸入權(quán)值、隱含層偏置采取隨機(jī)賦值的方式,通過(guò)最小二乘法得到輸出層權(quán)值,產(chǎn)生唯一的最優(yōu)解。由于ELM是基于經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原理,隨機(jī)輸入權(quán)重和隱含層偏置,可能會(huì)導(dǎo)致部分隱含層節(jié)點(diǎn)無(wú)效[2]。因此ELM分類(lèi)正確率的高低取決于隱含層的節(jié)點(diǎn)數(shù),需要大量的隱含層節(jié)點(diǎn)來(lái)保證分類(lèi)的精確度。和傳統(tǒng)的基于梯度下降的學(xué)習(xí)算法相比較,由于ELM需要更多的隱含層神經(jīng)元,這就降低其運(yùn)算速率以及訓(xùn)練效果,為此人們提出了許多ELM的改進(jìn)算法。
Huang等人基于遞歸最小二乘法(recursive least square,RLS),提出了在線(xiàn)時(shí)序極限學(xué)習(xí)機(jī)(online sequential ELM,OS-ELM)算法[3]。之后,又提出了一種在線(xiàn)連續(xù)模糊極限學(xué)習(xí)機(jī)(online sequential-fuzzy-ELM,OS-Fuzzy-ELM)模型來(lái)解決函數(shù)逼近和分類(lèi)的問(wèn)題[4]。Rong等人針對(duì)原始的極限學(xué)習(xí)機(jī)由于分類(lèi)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)而導(dǎo)致的模式分類(lèi)的低度擬合/過(guò)度擬合問(wèn)題,提出了修剪極限學(xué)習(xí)機(jī)(pruned-ELM,P-ELM)作為ELM分類(lèi)網(wǎng)絡(luò)系統(tǒng)化和自動(dòng)化的方法[5-6]。Silva等人對(duì)極限學(xué)習(xí)機(jī)進(jìn)行了改進(jìn),提出利用群搜索優(yōu)化(group search optimizer,GSO)戰(zhàn)略選擇輸入權(quán)值和隱含層偏置的ELM算法,稱(chēng)為GSOELM方法[7]。這些優(yōu)化方法,和ELM相比,都得到了很好的分類(lèi)效果[8]。
20世紀(jì)90年代初,文獻(xiàn)[9-10]提出支持向量機(jī)(support vector machine,SVM)。該算法建立在統(tǒng)計(jì)學(xué)習(xí)理論的基礎(chǔ)之上,根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則提出的[11-12],比神經(jīng)網(wǎng)絡(luò)更適合于小樣本的分類(lèi),且泛化性能出色[13-14]。在模式識(shí)別、回歸分析、函數(shù)估計(jì)、時(shí)間序列預(yù)測(cè)等領(lǐng)域都得到了發(fā)展,并被廣泛應(yīng)用于手寫(xiě)字體識(shí)別、人臉圖像識(shí)別、基因分類(lèi)等領(lǐng)域[15]。SVM通過(guò)核函數(shù)把低維空間的線(xiàn)性不可分問(wèn)題轉(zhuǎn)化為高維空間的線(xiàn)性可分問(wèn)題,構(gòu)造最優(yōu)分類(lèi)面,實(shí)現(xiàn)對(duì)數(shù)據(jù)樣本的分類(lèi)[15]。
ELM分類(lèi)正確率的高低取決于隱層的節(jié)點(diǎn)數(shù),但是大量的隱層節(jié)點(diǎn)使得ELM的結(jié)構(gòu)很臃腫,而且容易導(dǎo)致內(nèi)存不足。為了提高ELM單個(gè)節(jié)點(diǎn)學(xué)習(xí)能力和判斷能力,本文利用支持向量機(jī)(SVM)來(lái)精簡(jiǎn)ELM,通過(guò)構(gòu)建SVM-ELM模型,提高單個(gè)節(jié)點(diǎn)的判斷能力。傳統(tǒng)的參數(shù)選取都是經(jīng)過(guò)反復(fù)的實(shí)驗(yàn),憑借經(jīng)驗(yàn)值來(lái)選取的,存在著很大的主觀(guān)性;如果通過(guò)交叉驗(yàn)證的方式來(lái)選取參數(shù),又會(huì)消耗大量的時(shí)間。本文為了使得SVM-ELM模型獲得較好的分類(lèi)準(zhǔn)確率,利用PSO算法進(jìn)行優(yōu)化[16],實(shí)現(xiàn)分類(lèi)目標(biāo)。
極限學(xué)習(xí)機(jī)(ELM)是2004年由南洋理工大學(xué)黃廣斌教授提出,是單隱層前饋神經(jīng)網(wǎng)絡(luò)(single hidden layer feedforward neural network,SLFN)的一種[17-18]。傳統(tǒng)的ELM算法隨機(jī)確定隱層節(jié)點(diǎn)的權(quán)值wi和偏置bi,從實(shí)驗(yàn)結(jié)果來(lái)看,這種方法大幅度地節(jié)省了系統(tǒng)的學(xué)習(xí)時(shí)間,但是如果想要獲得較好的分類(lèi)效果,需要大量的隱層節(jié)點(diǎn),而較少的節(jié)點(diǎn)則導(dǎo)致分類(lèi)效果較差。這就表明,單個(gè)隱層節(jié)點(diǎn)的學(xué)習(xí)能力和判斷能力不足,需要較多的節(jié)點(diǎn)來(lái)彌補(bǔ),而節(jié)點(diǎn)的學(xué)習(xí)能力不足則是由于節(jié)點(diǎn)的線(xiàn)性決策函數(shù)的權(quán)值和偏置值隨機(jī)決定造成的,使得節(jié)點(diǎn)欠學(xué)習(xí)[19]。如果能夠提高ELM單個(gè)隱層節(jié)點(diǎn)的學(xué)習(xí)能力,那么即使較少的隱層節(jié)點(diǎn)也能獲得較好的學(xué)習(xí)效果,ELM的網(wǎng)絡(luò)結(jié)構(gòu)就得以?xún)?yōu)化。SVM通過(guò)尋求結(jié)構(gòu)化風(fēng)險(xiǎn)最小來(lái)提高泛化能力,基本思想是尋找最優(yōu)分類(lèi)面,使正、負(fù)類(lèi)之間的分類(lèi)間隔(margin)最大[20]。
由于ELM經(jīng)驗(yàn)風(fēng)險(xiǎn)最小,以訓(xùn)練誤差最小的準(zhǔn)則來(lái)評(píng)價(jià)算法優(yōu)劣,容易出現(xiàn)過(guò)擬合現(xiàn)象,影響分類(lèi)模型泛化能力;一個(gè)好的分類(lèi)模型在考慮結(jié)構(gòu)風(fēng)險(xiǎn)和經(jīng)驗(yàn)風(fēng)險(xiǎn)的同時(shí)還要對(duì)二者合理優(yōu)化平衡,從而保證分類(lèi)模型的泛化能力。本文將結(jié)構(gòu)風(fēng)險(xiǎn)最小化的支持向量機(jī)(SVM)引入到極限學(xué)習(xí)機(jī)(ELM)中,提出一種ELM和SVM相融合的分類(lèi)模式[21]。選取ELM為基礎(chǔ)分類(lèi)器,以SVM來(lái)修正改善分類(lèi)效率。利用SVM來(lái)提高每個(gè)節(jié)點(diǎn)的判斷能力,精簡(jiǎn)ELM的結(jié)構(gòu),提高其泛化性能。根據(jù)分類(lèi)的類(lèi)別數(shù)來(lái)確定層的節(jié)點(diǎn)數(shù),改變傳統(tǒng)的隨機(jī)確定的方式,然后利用SVM來(lái)確定每個(gè)隱層節(jié)點(diǎn)的權(quán)值和偏置[22],提高每個(gè)節(jié)點(diǎn)的學(xué)習(xí)能力和泛化能力。對(duì)于k類(lèi)分類(lèi)問(wèn)題,SVMELM的隱層節(jié)點(diǎn)數(shù)為k,第i個(gè)節(jié)點(diǎn)的任務(wù)就是,利用SVM把第i類(lèi)與其他的k-1類(lèi)分開(kāi),根據(jù)SVM得到的訓(xùn)練結(jié)果得到每一個(gè)隱層節(jié)點(diǎn)的權(quán)值和偏置。
式(1)的對(duì)偶問(wèn)題為:
隱含層的輸入矩陣表示為:
其中:
故:
其中,g(x)為ELM的激活函數(shù)。ELM常用的激活函數(shù)有Sigmoid函數(shù)、Sine函數(shù)、RBF(radialbasisfunction)函數(shù)等。本文選用效果較好的Sigmoid函數(shù)。則隱層節(jié)點(diǎn)數(shù)為k、激勵(lì)函數(shù)為g(x)的SLFN模型為:
即學(xué)習(xí)系統(tǒng)為Hkβk=Y,學(xué)習(xí)參數(shù):
文獻(xiàn)[23]提出了粒子群優(yōu)化算法(particle swarm optimization,PSO),該算法是一種啟發(fā)式隨機(jī)優(yōu)化算法,在有限的迭代遞推中快速搜索到全局最優(yōu)解,該特性已被廣泛地應(yīng)用于數(shù)據(jù)挖掘和模式識(shí)別[20]等領(lǐng)域。支持向量機(jī)的參數(shù)選擇直接影響到SVM模型的分類(lèi)結(jié)果[24-26]。即使對(duì)于同一個(gè)分類(lèi)問(wèn)題,選擇不同的SVM模型核函數(shù)、懲罰參數(shù)都將產(chǎn)生不同的分類(lèi)結(jié)果。在實(shí)際應(yīng)用中,為了獲得性能更高的SVM分類(lèi)器,則需要對(duì)SVM的各個(gè)參數(shù)進(jìn)行優(yōu)化調(diào)整[27]。因此,本文提出一種PSO-SVM算法,使用粒子群優(yōu)化算法和支持向量機(jī)相結(jié)合的學(xué)習(xí)算法,即利用PSO算法的全局搜索能力對(duì)SVM的懲罰參數(shù)和核函數(shù)參數(shù)的取值進(jìn)行優(yōu)化調(diào)整[23],避免選擇局部最優(yōu)的參數(shù),使SVM的參數(shù)取值更具指導(dǎo)性,從而得到一個(gè)更精確的、分類(lèi)效果優(yōu)化的SVM分類(lèi)器。文獻(xiàn)[28-30]中闡述了PSO算法比人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)、遺傳算法(genetic algorithm,GA)實(shí)現(xiàn)更簡(jiǎn)單,使用參數(shù)更少。
基于PSO全局搜索對(duì)SVM參數(shù)全局尋優(yōu)的PSO-SVM-ELM模型訓(xùn)練流程圖如圖1,詳細(xì)處理步驟如下:
步驟1數(shù)據(jù)預(yù)處理。優(yōu)化算法通過(guò)已知數(shù)據(jù)集隨機(jī)產(chǎn)生訓(xùn)練集和測(cè)試集進(jìn)行訓(xùn)練來(lái)獲得SVM模型。
步驟2初始化粒子群的粒子數(shù)、最大迭代次數(shù)、每個(gè)粒子的初始位置、速度初值、個(gè)體最優(yōu)位置和全局最優(yōu)位置等,以及SVM的參數(shù)C和RBF核函數(shù)的寬度參數(shù)σ。
步驟3通過(guò)交叉驗(yàn)證算法PSO在全局空間搜索粒子最優(yōu)解,獲得SVM模型懲罰參數(shù)、核函數(shù)參數(shù)的最優(yōu)值。
步驟4將訓(xùn)練數(shù)據(jù)集帶入SVM訓(xùn)練得到PSOSVM訓(xùn)練模型。
Fig.1 PSO-SVM-ELM model flowchart圖1 PSO-SVM-ELM模型流程圖
步驟5用測(cè)試數(shù)據(jù)集驗(yàn)證PSO-SVM模型的處理能力,得到優(yōu)化了的PSO-SVM模型。
步驟6根據(jù)分類(lèi)類(lèi)別確定隱含層節(jié)點(diǎn)數(shù),利用PSO-SVM模型訓(xùn)練,獲得ELM每個(gè)隱含層節(jié)點(diǎn)的權(quán)值和偏移。
步驟7根據(jù)隱含層節(jié)點(diǎn)數(shù)k及激活函數(shù)sigmoid函數(shù)得到學(xué)習(xí)系統(tǒng)模型,求解學(xué)習(xí)參數(shù)。
步驟8獲得高精確度的分類(lèi)模型PSO-SVMELM。
其中,利用PSO算法優(yōu)化SVM參數(shù)的詳細(xì)過(guò)程如圖2,詳細(xì)步驟為:
步驟1獲得訓(xùn)練數(shù)據(jù)集,組建粒子群;設(shè)置SVM參數(shù)搜索范圍。
步驟2初始化粒子群參數(shù)包括粒子數(shù)量、最大迭代數(shù)、粒子群初始位置和速度初值以及每個(gè)粒子個(gè)體位置最優(yōu)pbest和群體位置最優(yōu)gbest等,初始化SVM模型參數(shù)C和RBF核函數(shù)的寬度參數(shù)σ。
步驟3更新pbest和gbest并記錄粒子的適應(yīng)值。
步驟4更新粒子群中粒子的位置和速度。
步驟5若達(dá)到最大迭代次數(shù)或找到最優(yōu)解,則算法結(jié)束,轉(zhuǎn)向步驟6,否則轉(zhuǎn)向步驟2,繼續(xù)求解。
Fig.2 PSO-SVM model flowchart圖2 PSO-SVM模型流程圖
步驟6輸出SVM模型的懲罰參數(shù)C和RBF核函數(shù)的寬度參數(shù)σ的全局最優(yōu)值,算法結(jié)束。
利用粒子群優(yōu)化算法對(duì)SVM-ELM模型中的參數(shù)進(jìn)行自動(dòng)選擇,克服了人為選擇的主觀(guān)性,避免了人為嘗試?yán)速M(fèi)過(guò)多的時(shí)間,同時(shí)通過(guò)設(shè)置粒子適應(yīng)度函數(shù)可以實(shí)現(xiàn)控制參數(shù)選擇的方向的目的[31-33]。
為了驗(yàn)證基于粒子群算法的SVM-ELM模型的有效性,從UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)中選取了4個(gè)用于分類(lèi)的數(shù)據(jù)集葡萄酒質(zhì)量數(shù)據(jù)集Wine、小麥種子數(shù)據(jù)集Seeds、Balance Scale以及CNAE-9進(jìn)行實(shí)驗(yàn),數(shù)據(jù)描述如表1所示。
Table 1 Description of data sets表1 數(shù)據(jù)集描述
在SVM-ELM模型中,運(yùn)用SVM模型求解過(guò)程來(lái)優(yōu)化ELM隱含層節(jié)點(diǎn)的權(quán)值和偏置時(shí),SVM的核函數(shù)有多種:徑向基核、多層感知器核等。根據(jù)實(shí)驗(yàn)結(jié)果,本文選擇了徑向基核函數(shù),即;ELM激活函數(shù)選擇性能較好的Sigmoid函數(shù),即g(x)=1/(1+e-x)。
基于粒子群算法的SVM-ELM模型中,待優(yōu)化的參數(shù)為RBF核函數(shù)的寬度參數(shù)σ、懲罰參數(shù)C。這三類(lèi)數(shù)據(jù)集的種群大小以及參數(shù)搜索范圍的取值如表2所示。
Table 2 Value of PSO parameters表2 PSO參數(shù)的取值
粒子群的加速因子c1=c2=2,種群的規(guī)模m=20,慣性權(quán)重w=0.9,最大迭代次數(shù)為2 000。實(shí)驗(yàn)環(huán)境:Intel?Xeon?CPU E3-1225 V2@3.20 GHz處理器,4 GB RAM,32位操作系統(tǒng),Matlab R2012b。PSO算法在經(jīng)過(guò)多次迭代之后,每個(gè)數(shù)據(jù)集獲得的參數(shù)σ和C如表3所示。
Table 3 Parameter value of PSO-SVM-ELM model表3 PSO-SVM-ELM模型參數(shù)值
數(shù)據(jù)集 Wine、Seeds、Balance Scale、CNAE-9 的gbest值隨著飛行路徑的變化分別如圖3~圖6所示。從圖中可知針對(duì)這4個(gè)數(shù)據(jù)集,PSO算法具有較強(qiáng)的收縮能力,都能最終找到全局最優(yōu)值,可以有效地解決SVM參數(shù)優(yōu)化問(wèn)題。
Fig.3 Flight trace of global optimal value of Wine data set圖3 Wine數(shù)據(jù)集全局最優(yōu)值的飛行路徑
Fig.5 Flight trace of global optimal value of Balance Scale data set圖5 Balance Scale數(shù)據(jù)集全局最優(yōu)值的飛行路徑
基于粒子群優(yōu)化的SVM-ELM模型的分類(lèi)結(jié)果如表4所示。
Table 4 Classification results of PSO-SVM-ELM model表4 PSO-SVM-ELM模型的分類(lèi)結(jié)果
通過(guò)不斷的嘗試、實(shí)驗(yàn),根據(jù)分類(lèi)效果確定SVMELM模型的參數(shù)。Wine、Seeds、Balance Scale數(shù)據(jù)集均有3類(lèi)數(shù)據(jù),故這3類(lèi)數(shù)據(jù)集的SVM-ELM模型的隱層節(jié)點(diǎn)數(shù)均為3。而CNAE-9數(shù)據(jù)集的數(shù)據(jù)類(lèi)別為9,故隱層節(jié)點(diǎn)數(shù)為類(lèi)別數(shù)9。SVM-ELM分類(lèi)結(jié)果如表5所示。
Fig.4 Flight trace of global optimal value of Seeds data set圖4 Seeds數(shù)據(jù)集全局最優(yōu)值的飛行路徑
Fig.6 Flight trace of global optimal value of CNAE-9 data set圖6 CNAE-9數(shù)據(jù)集全局最優(yōu)值的飛行路徑
Table 5 Experimental results of SVM-ELM表5 SVM-ELM的實(shí)驗(yàn)結(jié)果
在設(shè)置不同的隱層節(jié)點(diǎn)數(shù)的情況下,ELM的分類(lèi)結(jié)果如表6所示。表6中所列出的數(shù)據(jù)是在隱層節(jié)點(diǎn)數(shù)確定時(shí),重復(fù)10次實(shí)驗(yàn),選擇其中測(cè)試精度的最大值作為最優(yōu)值。
Table 6 Experimental results of ELM表6 ELM的實(shí)驗(yàn)結(jié)果
在Wine數(shù)據(jù)集上,隨著隱層節(jié)點(diǎn)數(shù)的增多,ELM的測(cè)試精度不斷提高;在Seeds、CNAE-9數(shù)據(jù)集上,隨著隱層節(jié)點(diǎn)數(shù)目的增多,ELM的測(cè)試精度出現(xiàn)局部的波動(dòng),但整體依然是不斷提高的。這表明ELM的學(xué)習(xí)效果和隱含層的節(jié)點(diǎn)數(shù)有很大的關(guān)系,要想達(dá)到良好的學(xué)習(xí)效果,必須有足夠多的隱層節(jié)點(diǎn),導(dǎo)致網(wǎng)絡(luò)規(guī)模很臃腫。在Balance Scale數(shù)據(jù)集上,隨著隱層節(jié)點(diǎn)數(shù)目的增多,ELM的測(cè)試精度出現(xiàn)先逐漸提高,然后下降的情況,這說(shuō)明ELM的穩(wěn)定性較差,且容易出現(xiàn)過(guò)擬合的現(xiàn)象。
比較表4~表6可以發(fā)現(xiàn),本文提出的PSO-SVMELM模型在這4個(gè)數(shù)據(jù)集上的測(cè)試精度均高于SVM-ELM和ELM。其中在Wine數(shù)據(jù)集上,PSOSVM-ELM的測(cè)試精度高于SVM-ELM模型的測(cè)試精度2.11%,高于ELM的最高精度5.66%;在Seeds數(shù)據(jù)集上,PSO-SVM-ELM的精度高于SVM-ELM模型的測(cè)試精度3.58%,高于ELM的最高精度5.96%。PSO-SVM-ELM、SVM-ELM和ELM對(duì)于所選取的數(shù)據(jù)集的分類(lèi)正確率的比較如表7所示。
Table 7 Comparison of experimental results表7 實(shí)驗(yàn)結(jié)果對(duì)比 %
SVM-ELM的參數(shù)確定經(jīng)過(guò)了多次的嘗試,浪費(fèi)了大量的時(shí)間,并且沒(méi)有找到最優(yōu)值。而ELM達(dá)到最高精度的隱層節(jié)點(diǎn)數(shù)分別為5 000、1 000、20、300,也經(jīng)歷了無(wú)數(shù)次的嘗試。ELM的結(jié)果極不穩(wěn)定,且容易出現(xiàn)過(guò)擬合的現(xiàn)象。而PSO-SVM-ELM的隱層節(jié)點(diǎn)數(shù)僅僅為數(shù)據(jù)集中的數(shù)據(jù)類(lèi)別數(shù),網(wǎng)絡(luò)穩(wěn)定,不會(huì)出現(xiàn)過(guò)擬合的現(xiàn)象,并且可以很方便地就可以找到最優(yōu)值。
本文提出了基于粒子群算法優(yōu)化的SVM-ELM模型,即PSO-SVM-ELM模型,通過(guò)SVM確定ELM的隱層節(jié)點(diǎn)的權(quán)值和偏置,然后利用粒子群算法(PSO)來(lái)優(yōu)化SVM-ELM的參數(shù)。PSO-SVM-ELM模型在提高極速學(xué)習(xí)機(jī)的泛化性能的同時(shí)精簡(jiǎn)了ELM,使得在隱層節(jié)點(diǎn)數(shù)為待分類(lèi)數(shù)據(jù)集的類(lèi)別數(shù)時(shí),能夠達(dá)到很好的分類(lèi)效果,實(shí)驗(yàn)足以說(shuō)明基于粒子群優(yōu)化的SVM-ELM模型在進(jìn)行數(shù)據(jù)分類(lèi)時(shí)是比較理想的。