董 晴,宋 威
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122)
基于粒子群優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)分類算法*
董 晴,宋 威
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122)
針對神經(jīng)網(wǎng)絡(luò)分類算法中節(jié)點(diǎn)函數(shù)不可導(dǎo),分類精度不夠高等問題,提出了一種基于粒子群優(yōu)化(PSO)算法的深度神經(jīng)網(wǎng)絡(luò)分類算法。使用深度學(xué)習(xí)中的自動編碼機(jī),結(jié)合PSO算法優(yōu)化權(quán)值,利用自動編碼機(jī)對輸入樣本數(shù)據(jù)進(jìn)行編解碼,為提高網(wǎng)絡(luò)分類精度,以編碼機(jī)本身的誤差函數(shù)和Softmax分類器的代價函數(shù)加權(quán)求和共同作為PSO算法的評價函數(shù),使編碼后的數(shù)據(jù)更加適應(yīng)分類器。實(shí)驗(yàn)結(jié)果證明:與其他傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,在郵件分類問題上,此分類算法有更高的分類精度。
深度神經(jīng)網(wǎng)絡(luò); 自動編碼機(jī); 粒子群優(yōu)化算法; 分類
近年來,神經(jīng)網(wǎng)絡(luò)的研究一直受到學(xué)者們的關(guān)注,如感知機(jī)[1],反向傳播(back propogation,BP)神經(jīng)網(wǎng)絡(luò)[2],徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)及其各種改進(jìn)算法[3~5]等。2006年,Hinton G E教授提出了“深度學(xué)習(xí)”[6]的概念,卷積神經(jīng)網(wǎng)絡(luò)、深度信念網(wǎng)絡(luò)、自動編碼機(jī)是深度學(xué)習(xí)中經(jīng)常用到的基礎(chǔ)模塊[7],并有學(xué)者對此進(jìn)行了改進(jìn),如Vincent P等人提出了一種降噪自動編碼機(jī)[8],使網(wǎng)絡(luò)的泛化能力更強(qiáng)。宣森炎等人聯(lián)合卷積和遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行交通標(biāo)志識別[9],減少了訓(xùn)練時間。陽武等人將深度信念網(wǎng)絡(luò)應(yīng)用于故障指示器檢測[10],識別正確率高于BP算法和支持向量機(jī)(support vector machine,SVM)算法,可以看出以上神經(jīng)網(wǎng)絡(luò)在分類或圖像識別上有一定的效果,但還存在一些不足:當(dāng)節(jié)點(diǎn)函數(shù)不可導(dǎo)或沒有梯度信息存在時無法使用傳統(tǒng)方法解決權(quán)值優(yōu)化;容易陷入局部最優(yōu)。
針對上述問題,本文提出了一種基于粒子群優(yōu)化(particle swarm optimization,PSO)[11,12]的深度神經(jīng)網(wǎng)絡(luò)分類算法(PDNN)。粒子群優(yōu)化 算法可以處理節(jié)點(diǎn)函數(shù)不可導(dǎo)的問題,并具有較強(qiáng)的全局優(yōu)化能力,因而,本算法使用PSO算法優(yōu)化自動編碼機(jī)的權(quán)值,并與Softmax分類器構(gòu)成分類算法。首先,利用自動編碼機(jī)對輸入數(shù)據(jù)進(jìn)行編解碼,PSO算法優(yōu)化權(quán)值,評價函數(shù)由編碼機(jī)本身的誤差函數(shù)和Softmax分類器的代價函數(shù)加權(quán)求和共同構(gòu)成,以使特征數(shù)據(jù)更加適應(yīng)分類器,提高分類精度。其次,解碼之后的特征矩陣作為Softmax分類器的輸入,使用梯度下降法調(diào)整分類器的權(quán)值為了證明本文算法的有效性,在數(shù)據(jù)集Ling-Spam和PU1上驗(yàn)證,與其他傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,此分類算法取得較好的實(shí)驗(yàn)效果。
1.1 DNN
自動編碼機(jī)是DNN的常用基礎(chǔ)模塊,是一種三層神經(jīng)網(wǎng)絡(luò),包括輸入層L1,隱含層L2和輸出層L3。自動編碼機(jī)是一種使輸出等于輸入的無監(jiān)督學(xué)習(xí)算法,訓(xùn)練樣本集合沒有類別標(biāo)簽,含p個訓(xùn)練樣本,設(shè)為{x(1),x(2),…,x(i),…x(p)},其中 ,輸出y=x。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1。
圖1 自動編碼機(jī)網(wǎng)絡(luò)結(jié)構(gòu)
隱含藏層L2的輸出滿足
L2=f(W1x+b1)
(1)
y=f(W2L2+b2)
(2)
由于自動編碼機(jī)的特殊映射關(guān)系,通常隱含層與輸出層之間的權(quán)值矩陣W2與W1互為轉(zhuǎn)置,b2為隱含層與輸出層之間的偏置向量。樣本數(shù)據(jù)由輸入層到隱含層看作編碼過程,隱含層到輸出層看作解碼過程。每一個訓(xùn)練樣本x先映射到L2,然后再重構(gòu)成y,每個樣本的誤差函數(shù)為
(3)
總誤差函數(shù)為
(4)
式中m為訓(xùn)練樣本的數(shù)量。
通過最小化誤差函數(shù)來優(yōu)化參數(shù)。
1.2 PSO算法
在基本PSO算法中,每一個粒子的位置均作為所求解問題的可行解。
假設(shè)群體P由m個粒子組成,P=(p1,p2,…,pi,…,pm),在n維空間中以一定速度搜索,粒子群的第i粒子由三個n維向量組成,分別為目前位置pi=(pi1,pi2,…,pin),歷史最優(yōu)位置Bi=(bi1,bi2,…,bin),速度vi=(vi1,vi2,…,vin)。
在算法每一次迭代中,每個粒子的目前位置作為問題的可行解被評價函數(shù)評價。粒子i的歷史最優(yōu)位置稱為個體最優(yōu)解,整個群體中最好個體的位置稱為全局最優(yōu)解,記為Bg=(bg1,bg2,…,bgn)。在搜索時,考慮到粒子搜索到的個體最優(yōu)解和整個群體內(nèi)搜索到的全局最優(yōu)解,對于每個粒子的第d維(1≤d≤n)根據(jù)以下公式來調(diào)整速度和位置
(5)
(6)
如果vid>Vmax,則vid=Vmax;
如果vid<-Vmax,則vid=-Vmax。
使用PSO算法優(yōu)化編碼機(jī)權(quán)值,在編碼機(jī)的頂層添加分類器,為了提高分類準(zhǔn)確率,重新設(shè)計(jì)評價函數(shù),在編碼機(jī)的誤差函數(shù)上加入帶權(quán)的分類器代價函數(shù)作為PSO算法的新的評價函數(shù)。
設(shè)輸入樣本數(shù)據(jù)集合為P=[p1,p2,…,pi,…,pm],pi=[x1,x2,…,xn]T,m為樣本個數(shù),n為樣本數(shù)據(jù)維數(shù),將自動編碼機(jī)輸入層和隱含層之間的權(quán)值矩陣W1看作一個粒子,為
式中n為輸入樣本數(shù)據(jù)維數(shù);p為隱含層神經(jīng)元個數(shù)。初始化粒子的位置和速度,計(jì)算式(1),W1轉(zhuǎn)置后,計(jì)算式(2),若沒有達(dá)到評價函數(shù)值或最大迭代次數(shù),按照式(5)、式(6)更新粒子的位置和速度,直到位置達(dá)到最優(yōu),即自動編碼機(jī)的權(quán)值調(diào)整到最佳狀態(tài)。
Softmax回歸模型是對Logistic回歸模型的擴(kuò)展,可以對多分類問題分類。當(dāng)樣本集合為{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(n))},m為訓(xùn)練樣本數(shù)量,標(biāo)簽y=1,2,…,k,表示有k個類別。設(shè)p(y=j|x)表示輸入x的情況下,樣本被判為類別j的概率。所以,對于一個k類的分類器,輸出是一個k維的向量(向量的元素和為1),輸出為
(7)
式中θ為矩陣,矩陣的每一行看作是一個類別所對應(yīng)分類器的參數(shù),共k行。分類器的代價函數(shù)為
(8)
式中 1{·}為一個指示性函數(shù),即大括號中的值為真時,該函數(shù)的結(jié)果為1;否則,結(jié)果為0。使用梯度下降法最小化代價函數(shù),J(θ)對θj的偏導(dǎo)為
p(y(i)=j|x(i);θ))]
(9)
θj的更新公式如下
(10)
在實(shí)際使用Softmax算法時,通常會給上述代價函數(shù)增加一個權(quán)重衰減項(xiàng)來修改代價函數(shù)[7],這個衰減項(xiàng)會懲罰過大的參數(shù)值,則代價函數(shù)變?yōu)?/p>
(11)
(12)
當(dāng)代價函數(shù)達(dá)到要求或迭代次數(shù)達(dá)到最大值時,此分類器的參數(shù)固定,對每一個樣本分類器輸出一個k維向量,每一維對應(yīng)一個類別的概率,取最大值為該樣本的類別。
自動編碼機(jī)的頂層添加Softmax分類器后,構(gòu)成一個深度神經(jīng)網(wǎng)絡(luò)分類算法。設(shè)計(jì)思想:利用自動編碼機(jī)對輸入數(shù)據(jù)進(jìn)行編解碼,使用粒子群算法優(yōu)化權(quán)值,Softmax分類器的參數(shù)在編解碼過程中保持固定,不參與粒子群的優(yōu)化,而是編解碼結(jié)束之后使用梯度下降法獨(dú)立調(diào)整,但分類器的代價函數(shù)值作為編碼機(jī)權(quán)值調(diào)整的一個評價值,與編碼機(jī)的誤差函數(shù)一起對權(quán)值優(yōu)化進(jìn)行指導(dǎo)。加入帶權(quán)的Softmax分類器代價函數(shù)后,評價函數(shù)變?yōu)?/p>
C=ηSUMY(x,y)+μJ(θ)
(13)
式中η,μ分別為自動編碼機(jī)誤差函數(shù)和Softmax分類器代價函數(shù)的權(quán)重。通常SUMY的值大于J,為了保持平衡,η一般較μ小得多。
當(dāng)特征維數(shù)較大時,使用自動編碼機(jī)可以對特征降維,當(dāng)特征維數(shù)較小時,用解碼之后的特征數(shù)據(jù)分類,為了使特征數(shù)據(jù)更易區(qū)分,便于分類,在原來的誤差函數(shù)上加入帶有權(quán)重的Softmax分類器代價函數(shù),不僅可以保持?jǐn)?shù)據(jù)的原有特征性質(zhì),同時,又可以更好地適應(yīng)分類器,提高分類精度,因而,協(xié)同指導(dǎo)權(quán)值的調(diào)整過程,以逼近最優(yōu)權(quán)值。
為了使權(quán)值靠近最優(yōu)位置,首先,對粒子群進(jìn)行篩選,根據(jù)評價函數(shù)選擇優(yōu)秀粒子作為自動編碼機(jī)的初始權(quán)值。第一步隨機(jī)產(chǎn)生M個粒子,由式(13)計(jì)算此M個粒子的評價函數(shù),依據(jù)評價函數(shù)值對粒子升序排列,選擇前N個粒子作為PSO算法的初始化粒子。得到初始化粒子后,使用PSO算法優(yōu)化權(quán)值,當(dāng)評價函數(shù)滿足條件或迭代次數(shù)達(dá)到最大值,完成自動編碼機(jī)的訓(xùn)練。解碼之后的特征矩陣作為Softmax分類器的輸入,使用梯度下降法調(diào)整分類器的權(quán)值。完整的基于粒子群的DNN學(xué)習(xí)算法流程為:
1)根據(jù)PSO算法的新評價函數(shù)篩選優(yōu)秀粒子作為自動編碼機(jī)的初始權(quán)值w。
2)初始化粒子群的速度v以及Softmax分類器的參數(shù)。
3)輸入訓(xùn)練樣本集X。
4)編碼機(jī)編、解碼,根據(jù)評價函數(shù)(13)得到粒子的個體最優(yōu)解p和粒子群的歷史最優(yōu)解Bg,判斷評價函數(shù)是否滿足條件或迭代次數(shù)是否達(dá)到最大值,若是,則結(jié)束權(quán)值優(yōu)化過程,進(jìn)入步驟(6);否則,進(jìn)入步驟(5)。
5)使用式(5)、式(6)更新粒子的速度v和位置p,返回步驟(4)。
6)自動編碼機(jī)解碼之后的樣本數(shù)據(jù)作為Softmax分類器的輸入數(shù)據(jù),使用梯度下降法調(diào)整分類器的參數(shù)。
7)輸出粒子群的歷史最優(yōu)解Bg和分類器的參數(shù),得到最終的DNN的網(wǎng)絡(luò)結(jié)構(gòu)。
3.1 實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)將PDNN算法應(yīng)用于垃圾郵件過濾。采用2個數(shù)據(jù)集來驗(yàn)證算法的有效性,分別為Ling-Spam和PU1數(shù)據(jù)集。Ling-Spam數(shù)據(jù)集共包括2 893封郵件,其中2 412封正常郵件,481封垃圾郵件。在仿真實(shí)驗(yàn)中,隨機(jī)選取其中的1 200封作為數(shù)據(jù)集,包括1 000封正常郵件和200封垃圾郵件;PU1數(shù)據(jù)集共包括1 099封郵件,其中,618封正常郵件,481封垃圾郵件。對于每一封郵件使用向量空間模型表示,提取文檔內(nèi)詞間關(guān)系構(gòu)造語料庫詞典,結(jié)合潛在語義特征空間方法,通過特征抽取方法對特征進(jìn)行降維。各數(shù)據(jù)集的具體信息如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集
3.2 實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)在Windows7操作系統(tǒng)上運(yùn)行,使用MatlabR2008b開發(fā)環(huán)境。在實(shí)驗(yàn)中,PDNN算法的最大迭代次數(shù)為30,Ling-Spam數(shù)據(jù)集中,η為0.000 02,μ為20;PU1數(shù)據(jù)集中,η為0.000 4,μ為60。在算法的步驟(5)中,2個數(shù)據(jù)集中Softmax分類器的參數(shù)設(shè)置相同,最大迭代系數(shù)為800,權(quán)值衰減系數(shù)為0.000 2,調(diào)整步長為0.13,最小代價為0.1。PSO算法的參數(shù)設(shè)置:c1=c2=2,從60個粒子中篩選20個優(yōu)秀粒子作為初始權(quán)值,PDNN算法和BP算法的實(shí)驗(yàn)結(jié)果為10次實(shí)驗(yàn)的平均值。文本分類由2個指標(biāo)表示:查全率和查準(zhǔn)率,F(xiàn)1值表示查準(zhǔn)率和召回率的綜合情況。
查準(zhǔn)率=分類正確的文本數(shù)/實(shí)際分到該類的文本數(shù)
召回率=分類正確的文本數(shù)/實(shí)際屬于該類的文本數(shù)
當(dāng)PSO算法的評價函數(shù)僅由編碼機(jī)的誤差函數(shù)構(gòu)成時(PDNN*算法,做10次實(shí)驗(yàn)取平均值),與PDNN算法比較的實(shí)驗(yàn)結(jié)果如表2所示。
表2 PDNN算法與PDNN*算法的結(jié)果比較 %
從表2可以看出,在正常郵件的查準(zhǔn)率,垃圾郵件的查準(zhǔn)率和召回率上,PSO算法的評價函數(shù),由編碼機(jī)的誤差函數(shù)和分類器的代價函數(shù)共同構(gòu)成的PDNN算法,比PDNN*算法,均有一定的提高,在Ling-Spam數(shù)據(jù)集上尤為明顯,垃圾郵件的查準(zhǔn)率和召回率分別提高了13.11 %,41.00 %;在PU1數(shù)據(jù)集上,垃圾郵件的查準(zhǔn)率和召回率分別提高了1.97 %,13.34 %。說明加入分類器的代價函數(shù)評價后,對編碼機(jī)的編解碼方向有指導(dǎo)作用,使樣本數(shù)據(jù)更適應(yīng)分類器,從而得到更好的分類結(jié)果。
表3給出了PDNN算法與RBFNN算法,BPNN算法在Ling-Spam和PU1數(shù)據(jù)集上查準(zhǔn)率、召回率和F1的比較。RBFNN算法和BPNN算法均采用Matlab工具箱,在Ling-Spam數(shù)據(jù)集上RBFNN算法的均方誤差為0.05,擴(kuò)展速度為500;BP算法的誤差為0.1,最大迭代次數(shù)200。在PU1數(shù)據(jù)集上RBFNN算法的均方誤差為0.1,擴(kuò)展速度為500;BP算法的誤差為0.1,最大迭代次數(shù)200。
表3 PDNN算法、RBFNN算法和BPNN算法的結(jié)果比較%
實(shí)驗(yàn)結(jié)果表明:不管是在Ling-Spam數(shù)據(jù)集還是在PU1數(shù)據(jù)集上,本文的PDNN算法比傳統(tǒng)的RBFNN算法和BPNN算法的查準(zhǔn)率、召回率和F1值均高,在3種算法中,正常郵件的召回率最高,而垃圾郵件的召回率相對較低。在實(shí)際生活中,用戶對于正常郵件和垃圾郵件的態(tài)度不一樣,用戶寧愿多看一封垃圾郵件也不愿意錯過一封正常郵件,所以,雖然垃圾郵件的召回率較低,但是正常郵件的查準(zhǔn)率、召回率的實(shí)驗(yàn)結(jié)果比較符合用戶的意愿。
提出了基于PSO算法的PDNN,需要提前篩選優(yōu)秀粒子作為自動編碼機(jī)的初始權(quán)值,使用PSO算法優(yōu)化編碼機(jī)權(quán)值,在編碼機(jī)的誤差函數(shù)上加入帶權(quán)值的Softmax分類器代價函數(shù)作為PSO算法的評價函數(shù)以逼近最優(yōu)權(quán)值。通過在Ling-Spam和PU1數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果可以看出:PDNN算法具有可行性,有效提高了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)精度,對比RBFNN算法、BPNN算法有著較好的分類效果。
[1] Rosenblatt F.The perceptron:Aprobabilistic model for information storage and organization in the brain[J].Psychological Review,1958,65:386-408.
[2] Werbos P J.Beyond regression:New tools for prediction and analysis in the behavioral sciences [D].Boston:Harvard University,1974.
[3] Vukovic'N,Miljkovic'Z.A growing and pruning sequential lear-ning algorithm of hyper basis function neural network for function approximation.[J].Neural Networks the Official Journal of the International Neural Network Society,2013,46(5):210-226.
[4] Platt J.A resource-allocating network for function interpola-tion[J].Neural Computation,1991,3(2):213-225.
[5] Chen Z,Qian P.Application of PSO-RBF neural network in network intrusion detection[C]∥2009 The Third International Symposium on Intelligent Information Technology Application,IITA 2009,IEEE,2009:362-364.
[6] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[7] 汪海波.基于深度學(xué)習(xí)的人臉識別方法研究[D].合肥:合肥工業(yè)大學(xué),2014.
[8] Vincent P,Larochelle H,Bengio Y,et al.Extracting and compo-sing robust features with denoising autoencoders[C]∥Proceedings of the 25th International Conference on Machine Learning,New York,2008:1096-1103.
[9] 宣森炎,龔小謹(jǐn),劉濟(jì)林.基于聯(lián)合卷積和遞歸神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識別[J].傳感器與微系統(tǒng),2014,33(8):30-33.
[10] 陽 武,李 倩,趙繼生,等.深度信念網(wǎng)絡(luò)在故障指示器檢測中的應(yīng)用[J].傳感器與微系統(tǒng),2015,34(7):155-157.
[11] Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proc of IEEE International Conf on Neural Networks,Piscataway:IEEE,1995:1942-1948.
[12] 龔雪飛,徐 景,孫壽通,等.PSO-BP神經(jīng)網(wǎng)絡(luò)在多元有害氣體檢測中的應(yīng)用[J].傳感器與微系統(tǒng),2015,34(2):154-156,160.
Deep neural network classification algorithm based on particle swarm optimization*
DONG Qing, SONG Wei
(School of IoT Engineering,Jiangnan University,Wuxi 214122,China)
Aiming at problem that classification precision of neural network algorithm is not very high and node function doesn't have derivate,a new classification algorithm of deep neural network based on particle swarm optimization(PSO) is presented.Use autoencoder of deep study,and combined with PSO algorithm to optimize the weight,coder and decoder for input sample data using autoencoder.In order to improve the classification precision of network,take the error function of autoencoder and cost function of softmax classifier weight sum as evaluation function of PSO algorithm in common,making coded data more adapter to the classifier.The experimental results show that compared with other traditional neural network,the classification algorithm has higher classification precision on Email classification.
deep neural network; autoencoder; particle swarm optimization(PSO) algorithm; classification
10.13873/J.1000—9787(2017)09—0143—04
2016—09—13
中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金資助項(xiàng)目 (JUSRP51635B)
TP 183
A
1000—9787(2017)09—0143—04
董 晴(1991-),女,碩士,主要研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí),E—mail:jiangdadq@163.com。
宋 威(1981-),男,博士,副教授,主要從事數(shù)據(jù)挖掘、人工智能、機(jī)器學(xué)習(xí)方向研究工作。