唐 詹 潘建國(guó)
(上海師范大學(xué)信息與機(jī)電工程學(xué)院 上海 201400)
數(shù)據(jù)分類技術(shù)是數(shù)據(jù)挖掘領(lǐng)域中最重要的技術(shù)之一,迄今為止已有大量的數(shù)據(jù)分類算法被相繼提出,包括樸素貝葉斯、決策樹(shù)、Logistic回歸以及BP神經(jīng)網(wǎng)絡(luò)等方法[1]。然而,隨著數(shù)據(jù)復(fù)雜度的增加,尤其對(duì)于維度較高的數(shù)據(jù),傳統(tǒng)分類方法已難以滿足對(duì)不同類型數(shù)據(jù)進(jìn)行快速、準(zhǔn)確分類的要求[2]。
大腦情感學(xué)習(xí)(Brain Emotional Learning,BEL)模型是一種模擬人類情感反應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,于2001年由瑞典隆德大學(xué)的Moren[3]提出,其計(jì)算復(fù)雜度較低,運(yùn)算速度快,可以克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間長(zhǎng)的缺點(diǎn),在自動(dòng)控制和模式識(shí)別中有著較為廣泛的應(yīng)用[4~5],在無(wú)人機(jī)姿態(tài)控制中也有一定應(yīng)用[6],近年來(lái)也開(kāi)始應(yīng)用于分類和預(yù)測(cè)問(wèn)題[7]。
Lotfi等[8]率先提出將遺傳算法(Genetic Algorithm,GA)應(yīng)用于BEL模型的訓(xùn)練,替代原始的簡(jiǎn)單訓(xùn)練算法,取得了較為理想的實(shí)驗(yàn)結(jié)果,遺傳算法開(kāi)始成為訓(xùn)練BEL模型的一種重要手段,也展現(xiàn)了BEL模型在分類問(wèn)題上的優(yōu)秀能力。
Sharafi等[9]提出了一種基于區(qū)間知識(shí)改進(jìn)的BEL模型的方法,該方法利用區(qū)間知識(shí)來(lái)改變BEL模型杏仁體和眶額皮質(zhì)的權(quán)值,在混沌時(shí)間序列預(yù)測(cè)問(wèn)題上取得了良好的效果。
Muhammad等[10]結(jié)合模糊神經(jīng)網(wǎng)絡(luò)對(duì)BEL模型做出改進(jìn)并應(yīng)用于模式識(shí)別和分類問(wèn)題中,其分類準(zhǔn)確性有了進(jìn)一步的提高,但局部最優(yōu)問(wèn)題仍然制約著訓(xùn)練速度,且分類準(zhǔn)確率不夠理想,其對(duì)噪聲的敏感性也不適用于物聯(lián)網(wǎng)數(shù)據(jù)分類。而Javadi B等[11]基于大腦情感學(xué)習(xí)和模糊推理系統(tǒng)的融合算法,對(duì)腦電圖頻譜圖像進(jìn)行分類,取得了較高的正確率,由于從圖像中提取的紋理特征產(chǎn)生了巨大的矩陣數(shù)據(jù),還使用了局部線性嵌入算法(LLA)來(lái)減少大矩陣,以降低輸入維度。
梅英等[12]提出GA-BEL模型,采用遺傳算法代替獎(jiǎng)勵(lì)信號(hào)的作用對(duì)BEL網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化調(diào)整,將BEL網(wǎng)絡(luò)權(quán)值分布在染色體基因序列上,用適應(yīng)度函數(shù)評(píng)估網(wǎng)絡(luò)輸出,選出最優(yōu)染色體,經(jīng)過(guò)解碼后得到最優(yōu)的網(wǎng)絡(luò)權(quán)值。該方法在低維數(shù)據(jù)樣本上的表現(xiàn)已全面超越BP神經(jīng)網(wǎng)絡(luò)等傳統(tǒng)方法,但在高維度數(shù)據(jù)上表現(xiàn)不佳。
由于BEL模型的特點(diǎn),數(shù)據(jù)維度增加,整個(gè)模型也隨之變得更復(fù)雜,局部最優(yōu)問(wèn)題使得模型的分類準(zhǔn)確率下降。為進(jìn)一步提高BEL模型在高維度數(shù)據(jù)樣本上的分類識(shí)別能力,本文提出了一種用模擬退火算法來(lái)改進(jìn)BEL模型學(xué)習(xí)過(guò)程的方法。模擬退火算法是以一定的概率來(lái)接受當(dāng)前狀態(tài)的非最優(yōu)解,賦予搜索過(guò)程一種時(shí)變且最終趨于零的概率突跳性,從而可有效避免陷入局部極小并最終趨于全局最優(yōu)。用模擬退火算法改進(jìn)BEL模型的學(xué)習(xí)過(guò)程,能一定程度上避免因維度增加、神經(jīng)元增多帶來(lái)的局部最優(yōu)問(wèn)題。
情感是人類大腦的一種特殊能力,它使人類能更好地適應(yīng)外界環(huán)境。假如遭遇對(duì)本體有利的外部刺激,能產(chǎn)生積極愉悅的情感,會(huì)對(duì)造成這種刺激的事物產(chǎn)生更多關(guān)注,反之會(huì)產(chǎn)生消極、厭惡的情緒,對(duì)造成這種刺激的事物失去關(guān)注或者避而遠(yuǎn)之。而且人腦會(huì)對(duì)相應(yīng)的刺激產(chǎn)生記憶,受到同樣刺激的時(shí)候會(huì)加強(qiáng)記憶,并對(duì)相同或相近的刺激產(chǎn)生對(duì)應(yīng)情緒[13]。
這些過(guò)程主要是通過(guò)大腦內(nèi)部的杏仁體、眶額皮質(zhì)等器官實(shí)現(xiàn)的。BEL模型就是模擬人腦中的杏仁體和眶額皮質(zhì)之間的信息傳遞而建立的神經(jīng)網(wǎng)絡(luò)模型,主要由丘腦、感官皮質(zhì)、眶額皮質(zhì)、杏仁體四個(gè)部分組成,如圖1所示。
圖1 BEL神經(jīng)網(wǎng)絡(luò)模型
對(duì)于每個(gè)感官輸入p,眶額皮質(zhì)以及杏仁體中都有相應(yīng)的節(jié)點(diǎn)來(lái)處理。設(shè)共n個(gè)感官輸入,各個(gè)感官輸入值為p=[p1,p2,…,pn],丘腦輸出最大刺激pn+1即感官輸入的最大值:
設(shè)杏仁體的權(quán)值為v,杏仁體的單個(gè)輸出Ai為權(quán)值乘上感官輸入及丘腦輸出Ath:
杏仁體的總輸出為A=Ai=Ai+A n+1。
設(shè)眶額皮質(zhì)的權(quán)值為w,眶額皮質(zhì)的單個(gè)輸出Oi為權(quán)值乘上感官輸入:
設(shè)眶額皮質(zhì)的偏置值為b,則眶額皮質(zhì)的總輸出為O=Oi+b。
BEL模型的最終輸出為
近年來(lái)的研究常常使用遺傳算法來(lái)完成BEL模型的訓(xùn)練,在分類問(wèn)題上能取得較好的效果。遺傳算法是一種優(yōu)化算法,包括選擇、交叉、變異等操作,計(jì)算出最優(yōu)個(gè)體來(lái)優(yōu)化適應(yīng)度函數(shù)。將權(quán)值及偏置值編碼成染色體:
適應(yīng)度函數(shù)定義為
Ek為BEL模型對(duì)第k個(gè)輸入樣本的輸出值,Tk為第k個(gè)樣本的目標(biāo)輸出值,n為樣本總數(shù),此適應(yīng)度函數(shù)用來(lái)衡量BEL模型對(duì)所有訓(xùn)練樣本的輸出誤差,優(yōu)化目標(biāo)為最小化適應(yīng)度函數(shù)(此時(shí)通常也稱適應(yīng)度函數(shù)為成本函數(shù))。
模擬退火算法是解決局部最優(yōu)問(wèn)題的一個(gè)有效方法,它的基本思想是以一定的概率接受某個(gè)狀態(tài)的非最優(yōu)解,增加“爬山”能力,接受的概率隨著算法的進(jìn)行逐漸減小,符合Metropolis準(zhǔn)則[14]。通過(guò)以概率作為接受新?tīng)顟B(tài)的方法,可以有效避免搜索陷入局部最優(yōu)的問(wèn)題,提高尋優(yōu)能力。設(shè)當(dāng)前狀態(tài)為x,其能量為e(x),溫度為T,則接受修改的概率P(x)滿足:
上式中K為波耳茲曼常數(shù)。
降低溫度的方式有許多種,為了提高模擬退火算法的性能,有以下三種退火方式最為常用:
式(8)~(10)中t表示模擬退火階段的迭代次數(shù),a表示可調(diào)參數(shù),T0表示初始溫度。式(8)的特點(diǎn)是溫度下降緩慢,算法的收斂速度慢;式(9)的特點(diǎn)是高溫區(qū)時(shí)溫度下降較快,低溫區(qū)時(shí)溫度下降較慢;式(10)的特點(diǎn)是溫度下降快,算法的收斂速度快。
為了提高擬合能力,發(fā)揮模擬退火算法的優(yōu)勢(shì),給眶額皮質(zhì)每個(gè)節(jié)點(diǎn)都增加一個(gè)偏置值,進(jìn)一步復(fù)雜化網(wǎng)絡(luò),如圖2所示。
圖2 改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)
眶額皮質(zhì)的單個(gè)輸出Oi變?yōu)闄?quán)值乘上感官輸入加上偏置值:
眶額皮質(zhì)的總輸出為O=Oi。
BEL模型的最終輸出為
這樣的改進(jìn)使得偏置值的個(gè)數(shù)隨著數(shù)據(jù)集特征維度的增加而增加,進(jìn)一步提高了模型的學(xué)習(xí)能力,使其擬合能力增強(qiáng),同時(shí)偏置值個(gè)數(shù)的增加也使得染色體編碼更為復(fù)雜,為遺傳算法引入了更多的隨機(jī)因素,配合模擬退火算法改進(jìn)變異過(guò)程,改善局部搜索能力,提升模型性能。
遺傳算法應(yīng)用模擬退火的方式有很多種,一種是只應(yīng)用模擬退火的思想,在遺傳算法運(yùn)行到后期適應(yīng)度趨于一致的時(shí)候?qū)m應(yīng)度進(jìn)行適當(dāng)?shù)睦欤糯筮m應(yīng)度的選擇作用,使遺傳算法的選擇具備更強(qiáng)的擇優(yōu)能力。另外一種是用模擬退火算法改進(jìn)遺傳算法中新個(gè)體的產(chǎn)生方式,比如將退火過(guò)程作用于交叉、變異或者新個(gè)體的保留過(guò)程上,允許當(dāng)前不優(yōu)解的存在,提高局部搜索“爬山”能力,可以一定程度上避免早熟的出現(xiàn)。針對(duì)遺傳算法的主要缺點(diǎn),本文采用模擬退火算法對(duì)交叉和變異過(guò)程進(jìn)行改進(jìn),使不能優(yōu)化適應(yīng)度的變異個(gè)體也有一定概率得到保留,保留的概率隨著訓(xùn)練過(guò)程的進(jìn)行而下降。用這種方式對(duì)模型進(jìn)行訓(xùn)練,有助于提高模型的分類準(zhǔn)確率。具體改進(jìn)描述如下。
1)編碼:傳統(tǒng)遺傳算法采用二進(jìn)制編碼法,但BEL模型中的權(quán)值及偏置值均為實(shí)數(shù),而二級(jí)制數(shù)轉(zhuǎn)換為實(shí)數(shù)存在著誤差,所以采用實(shí)數(shù)編碼法,染色體編碼形式為
2)選擇:采用輪盤賭與最優(yōu)個(gè)體保留相結(jié)合的方法,父代中的最優(yōu)個(gè)體被保留到子代參與競(jìng)爭(zhēng),保證最優(yōu)個(gè)體始終參與遺傳操作,提高算法的搜索速度。
3)交叉:采用多點(diǎn)位單基因交叉方式,采用Srinvivas提出的自適應(yīng)方法[15],自適應(yīng)地更改交叉概率。交叉完成之后計(jì)算交叉生成子代的適應(yīng)度,若子代適應(yīng)度更小,則用子代進(jìn)行替換,否則按一定概率決定是否替換,且此概率逐漸減小。
4)變異:用模擬退火思想改進(jìn)傳統(tǒng)變異方式,計(jì)算變異后新的適應(yīng)度與變異前適應(yīng)度的差值,若變異后適應(yīng)度更小,則接受變異;若變異后適應(yīng)度變大,則按一定概率接受變異,且接受的概率逐漸減小。
算法程序流程圖如圖3所示。
圖3 程序流程圖
首先根據(jù)輸入數(shù)據(jù)樣本的特征維度用隨機(jī)值作為初始權(quán)值及初始偏置值來(lái)初始化BEL模型,并設(shè)置模擬退火的初始溫度,然后把眶額皮質(zhì)和杏仁體的權(quán)值以及偏置值以實(shí)數(shù)方式編碼為染色體作為初始種群。用遺傳算法進(jìn)行訓(xùn)練,適應(yīng)度函數(shù)仍定義為式(6),根據(jù)適應(yīng)度的計(jì)算進(jìn)行選擇、交叉、變異等操作,交叉和變異時(shí)引入模擬退火算法,以適應(yīng)度函數(shù)值作為能量計(jì)算接受概率,若向有利方向改變,則接受這次改變,若沒(méi)有向有利方向改變,則按Metropolis準(zhǔn)則即式(7)的概率接受這次改變;然后降低溫度對(duì)權(quán)值及偏置值做新一輪的修改,直到找到最優(yōu)個(gè)體或達(dá)到停止條件,停止條件達(dá)到最大迭代次數(shù)或者適應(yīng)度函數(shù)值停止改變。
實(shí)驗(yàn)中采用Intel酷睿i5-7200U處理器,主頻2.5GHz,8G內(nèi)存,Windows 7操作系統(tǒng),Matlab 2012a編程環(huán)境。選取UCI上6組數(shù)據(jù)集進(jìn)行實(shí)驗(yàn):Glass、Ionosphere、Iris、Wine、Sonar、Vehicle。數(shù)據(jù)集信息如表1所示。
表1 數(shù)據(jù)集信息
將70%的數(shù)據(jù)樣本劃分為訓(xùn)練集,30%的數(shù)據(jù)樣本劃分為測(cè)試集,對(duì)比BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(SVM),目前表現(xiàn)最佳的GA-BEL模型及本文模型的分類結(jié)果準(zhǔn)確率。因所用的樣本數(shù)據(jù)集中并不存在正負(fù)類樣本極度不平衡的情況,所以只對(duì)準(zhǔn)確率進(jìn)行對(duì)比。每項(xiàng)準(zhǔn)確率的得出方式為重復(fù)實(shí)驗(yàn)20次取平均值。準(zhǔn)確率的實(shí)驗(yàn)結(jié)果如表2所示,準(zhǔn)確率單位為百分?jǐn)?shù)(%)。
表2 準(zhǔn)確率實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明,本文模型在高維度數(shù)據(jù)集Ionosphere、Sonar尤其是Vehicle數(shù)據(jù)集上準(zhǔn)確率有較大提升,說(shuō)明其對(duì)高維度數(shù)據(jù)樣本具有較強(qiáng)的擬合能力。
本文提出一種基于模擬退火算法改進(jìn)的BEL模型,使用模擬退火算法改進(jìn)BEL神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過(guò)程,改善因數(shù)據(jù)特征維度變高,模型變得復(fù)雜而帶來(lái)的局部最優(yōu)問(wèn)題。通過(guò)UCI數(shù)據(jù)集的實(shí)驗(yàn)驗(yàn)證得知,采用該方法能在高維數(shù)據(jù)集上取得較高的分類準(zhǔn)確率,具有很好的應(yīng)用價(jià)值。由于模擬退火算法的計(jì)算量大,訓(xùn)練時(shí)間仍然較長(zhǎng),因此下一步的工作將對(duì)模擬退火算法的計(jì)算過(guò)程進(jìn)行優(yōu)化,進(jìn)一步提高模型的訓(xùn)練效率。