前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇神經(jīng)網(wǎng)絡(luò)中偏置的作用范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

摘要:旅游需求的預測預報研究一直是旅游學研究的一個重要課題。本文在對到訪澳門地區(qū)中國內(nèi)地游客量分析的基礎(chǔ)上,運用人工神經(jīng)網(wǎng)絡(luò)(ANN)的理論和方法,構(gòu)建了ANN模型分析中的3層BP模型,以澳門近10年(1996-20__)入境來訪的中國內(nèi)地旅游人數(shù)為例進行模型驗證,模擬結(jié)果表明,BP神經(jīng)網(wǎng)絡(luò)預測的結(jié)果能夠高程度的吻合原始數(shù)據(jù),在旅游市場預測中,BP神經(jīng)網(wǎng)絡(luò)預測是一種有效的預測方法。一.問題的提出與分析近年來,對澳門地區(qū)的旅游業(yè)來說,中國內(nèi)地旅客是旅游收入的主要來源。目前旅游業(yè)已成為澳門地區(qū)經(jīng)濟發(fā)展特別是第二產(chǎn)業(yè)發(fā)展的支柱。建立科學的可操作的旅游預測模型是實現(xiàn)澳門地區(qū)旅游業(yè)持續(xù)健康穩(wěn)定發(fā)展的理論基石和前提。由于影響某地旅游人數(shù)的因素各異,還不存在普遍適用的神經(jīng)網(wǎng)絡(luò)模型。基于此,本文擬用3層BP神經(jīng)網(wǎng)絡(luò)模型來仿真模擬分析和預測澳門地區(qū)旅游需求,以此為旅游需求預測提供一種新的方法。二.模型的假設(shè)與符號說明1.基本假設(shè)1)交通在旅游中通常不是重要的,為了研究的方便(主要是無法獲得交通數(shù)據(jù)),把交通這個影響忽略。2)假設(shè)澳門的接待能力都滿足需求。3)在本例旅游需求預測模型中,我們考慮的主要因素有:客源地的人口,客源地的總收入,客源地的消費水平,旅游目的地的生活水平。4)為了研究的方便,假定以上四因子之間相互獨立,本例旅游需求即為上述四因子的函數(shù),即y=f(GDI,POP,GDE,M-GP)。就用這四個因素作為人工神經(jīng)網(wǎng)絡(luò)模型輸入層的神經(jīng)元。2.符號說明T澳門內(nèi)地游客量GDI中國內(nèi)地國民總收入POP中國內(nèi)地人口總數(shù)GDE中國內(nèi)地國民消費水平M-GP澳門生產(chǎn)總值三.模型的建立與求解1.人工神經(jīng)網(wǎng)絡(luò)模型理論原理
人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork)是由大量的、簡單元件(神經(jīng)元)廣泛相互聯(lián)結(jié)而成的非線性的、動態(tài)的復雜網(wǎng)絡(luò)信息處理系統(tǒng),它是在現(xiàn)代神經(jīng)學研究成果基礎(chǔ)上提出的,能模擬人腦的若干基本功能[1]。它具有并行分布的信息處理結(jié)構(gòu),可以通過“自學習”或“訓練”的方式完成某一特定的工作。它可以從積累的工作案例中學習知識,盡可能多地把各種定性或定量的因素作為變量加以輸入,從而建立各種影響因素與結(jié)論之間的高度非線性映射,采用自適應(yīng)模式識別方法來完成預測工作[2]。人工神經(jīng)網(wǎng)絡(luò)模型尤其是對處理內(nèi)部規(guī)律不甚了解、不能用一組規(guī)則或方程進行描述的復雜的、開放的非線性系統(tǒng)顯得較為優(yōu)越。人工神經(jīng)網(wǎng)絡(luò)模型一般由處理單元、激活狀態(tài)、單元輸出、連接模式、激活規(guī)則、學習規(guī)則等6個部分組成。一個多層神經(jīng)網(wǎng)絡(luò)中包含有很多個信息處理單元,分布于不同的層次中。根據(jù)每項輸入和相應(yīng)的權(quán)重獲取一個綜合信號,當信號超過閾值則激活神經(jīng)元而產(chǎn)生輸出。各類影響因素和最終輸出結(jié)果之間可以假定存在一種映射,即輸出結(jié)果=F(影響因素)。為了尋求最佳的映射關(guān)系F,將訓練樣本集合和輸入、輸出轉(zhuǎn)化為一種非線性關(guān)系,通過對簡單非線性函數(shù)的復合,從而建立一個高度的非線性映射關(guān)系F,最終實現(xiàn)輸出值的最優(yōu)逼近[3]。在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,80~90的人工神經(jīng)網(wǎng)絡(luò)是采用前饋反向傳播網(wǎng)絡(luò)(back-propagation-network,簡稱BP網(wǎng)絡(luò))或它的變化形式。BP神經(jīng)網(wǎng)絡(luò)(如圖一)是一種單項傳播的多層前向神經(jīng)網(wǎng)絡(luò),分為輸入層、隱含層和輸出層,層與層之間采用全連接方式,同一層單元之間不存在相互連接。它是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精華的部分[4]。標準的BP網(wǎng)絡(luò)是根據(jù)W-H學習規(guī)則,采用梯度下降算法,對非線性可微函數(shù)進行權(quán)值訓練的多層網(wǎng)絡(luò)。圖一:BP神經(jīng)網(wǎng)絡(luò)的每一層的權(quán)值通過學習來調(diào)節(jié),其基本處理單元為非線性輸入-輸出關(guān)系,選用S型作用函數(shù):其中:xj為該神經(jīng)元第i個輸入;wij為前一層第i個神經(jīng)元至該神經(jīng)元j的連接權(quán)值,i=0時的權(quán)值為閾值。其計算步驟如下:(1)給定一組隨機的權(quán)值和閾值初始值及步長系數(shù)η與勢態(tài)因子α;(2)取學習樣本數(shù)據(jù),根據(jù)學習樣本、權(quán)值及閥值計算輸出,并與學習期望輸出比較,當誤差滿足要求時結(jié)束訓練,否則將誤差向后逐層傳播,并修正各層連接權(quán)值,調(diào)整公式為:其中:k取j結(jié)點所在層的前一層所有結(jié)點。5)澳門內(nèi)地旅客人數(shù)神經(jīng)網(wǎng)絡(luò)模型的建立(一)BP網(wǎng)絡(luò)設(shè)計網(wǎng)絡(luò)設(shè)計是一個綜合性問題,它應(yīng)滿足多種不同要求,例如,希望所涉及的網(wǎng)絡(luò)有較好的推理能力,易于硬件實現(xiàn),訓練速度快等,其中有較好的推理能力是最主要的。一般來說,推廣能力決定于3個主要因素,即問題本身的復雜程度、網(wǎng)絡(luò)結(jié)構(gòu)以及樣本量大小。在一般情況下,旅游需求預測研究中樣本的數(shù)量是一定的,因此可歸結(jié)為在樣本量一定的情況下,如何選擇網(wǎng)絡(luò)規(guī)模的問題。在進行BP網(wǎng)絡(luò)預測模型設(shè)計中,我們主要考慮以下因素:網(wǎng)絡(luò)的層數(shù)、每層中的神經(jīng)元個數(shù)、初始值的選擇、學習速率和期望誤差。i)網(wǎng)絡(luò)的層數(shù)已證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網(wǎng)絡(luò),能夠逼近任何有理函數(shù)。所以,本文選擇一個3層的BP網(wǎng)絡(luò)。ii)每層中神經(jīng)元的個數(shù)輸入層和輸出層神經(jīng)元的個數(shù)根據(jù)解決具體問題的復雜程度而定。為了提高網(wǎng)絡(luò)訓練的精度,可以通過采用一個隱含層,再加上1到2個神經(jīng)元以加快誤差的下降速度即可。因此,本文輸入層神經(jīng)元個數(shù)選擇為4個,隱含層神經(jīng)元個數(shù)分別選擇了9、12、15個,輸出層神經(jīng)元個數(shù)選擇為1個。iii)初始值的選擇由于人工神經(jīng)網(wǎng)絡(luò)是一個非線性系統(tǒng),初始值的選擇對于網(wǎng)絡(luò)學習是否達到局部最小、是否能夠收斂以及訓練時間的長短都有較大影響。在初始值的選擇上一般是使經(jīng)過初始值加權(quán)后的每個神經(jīng)元的輸出值都接近零,這樣可以保證每一個神經(jīng)元的連接權(quán)值都能夠在它們的S型激活函數(shù)變化最大處進行調(diào)解。所以,初始值一般選擇在(-1,1)之間的隨機數(shù)。本文的初始值為默認值。iv)學習速率對于任何一個網(wǎng)絡(luò)都對應(yīng)一個合適的學習速率。學習速率決定每一次循環(huán)訓練中所產(chǎn)生的權(quán)值的變化量。大的學習速率可以導致網(wǎng)絡(luò)的不穩(wěn)定,但是小的學習速率又會導致訓練時間延長,收斂速度較慢,不能保證網(wǎng)絡(luò)的誤差能最終趨于最小。綜合上述考慮,在學習速率的選擇上傾向于選擇較小的學習速率以保證網(wǎng)絡(luò)的穩(wěn)定性,本文選擇的學習速率為0.01。v)期望誤差值期望誤差值的確定也是通過網(wǎng)絡(luò)對不同誤差值分別進行訓練比較后確定的最適合值。所謂的最適合值是相對于所需要的隱含層的節(jié)點數(shù)來確定的,一個較小的誤差值的獲得需要增加隱含層的節(jié)點以及訓練時間。本文經(jīng)過不斷測試,選擇0.0001為期望誤差值。(二)1.網(wǎng)絡(luò)訓練模式的選擇訓練網(wǎng)絡(luò)有兩類模式:逐變模式和批變模式。在逐變模式中,每一個輸入被作用于網(wǎng)絡(luò)后,權(quán)重和偏置量被更新一次。在批變模式中,所有的輸入被應(yīng)用于網(wǎng)絡(luò)后,權(quán)重和偏置量才被更新 一次。使用批變模式不需要為每一層的權(quán)重和偏置量設(shè)定訓練函數(shù),而只需為整個網(wǎng)絡(luò)制定一個訓練函數(shù),使用起來相對方便,因此,本文在進行網(wǎng)絡(luò)訓練時采用批變模式。表格一:年度
澳門的內(nèi)地游客量(T)(千人)中國內(nèi)地國民總收入(GDI)(億元)中國內(nèi)地人口數(shù)(POP)(萬人)中國內(nèi)地居民消費水平(GDE)(元)澳門生產(chǎn)總值(M-GP)(億美元)1996604.270142.5122389278966.31997529.877653.1123626300266.71998816.883024.3124761315961.919991645.288189.0125786334659.220__2274.798000.5126743363261.020__3005.7108068.2127627386961.920__4240.4119095.7128453410668.220__5742.0135174.0129227441179.220__9529.7159586.71299884925103.320__10463183956.11307565439115.62.數(shù)據(jù)和模型的建立神經(jīng)網(wǎng)絡(luò)模型要求數(shù)據(jù)具有:A、易獲得性B、可靠性C、可測度性。本項研究采用很可靠的官方發(fā)表的數(shù)據(jù)作為分析的數(shù)據(jù)源(見表1),主要來自于中國統(tǒng)計局網(wǎng)。用3層BP網(wǎng)絡(luò)模型對本例旅游需求進行模擬,根據(jù)BP網(wǎng)絡(luò)的映射原理,對于樣本集合X和輸出Y,可以假設(shè)存在一映射F。為了尋求F的最佳映射值,BP網(wǎng)絡(luò)模型將樣本集合的輸入、輸出轉(zhuǎn)化為非線性優(yōu)化,通過對簡單的非線性函數(shù)的復合,建立一個高度的非線性映射關(guān)系,實現(xiàn)F值的最優(yōu)逼近。對于本例旅游需求模型的模擬:其輸入層結(jié)點數(shù)(4個神經(jīng)元):中國內(nèi)地國民總收入(GDI)、中國內(nèi)地人口總數(shù)(POP)、中國內(nèi)地國民消費水平(GDE)、澳門生產(chǎn)總值(M-GP)。把澳門內(nèi)地游客量(T)作為輸出結(jié)點。從而得出3層前饋反向傳播神經(jīng)網(wǎng)絡(luò)模型。四.模型結(jié)果及分析1網(wǎng)絡(luò)訓練性能的檢查。不同個數(shù)的隱層單元組成的BP網(wǎng)絡(luò)訓練曲線如圖1,2,3所示。通過比較發(fā)現(xiàn),中間層神經(jīng)元個數(shù)為9和12時,網(wǎng)絡(luò)的收斂速度比較快。2網(wǎng)絡(luò)預測性能的考查。在數(shù)據(jù)列表中選取1996年到20__年的數(shù)據(jù)作為網(wǎng)絡(luò)的測試數(shù)據(jù)。20__、20__年的(文秘站:)游客量檢驗誤差曲線如圖4。其仿真結(jié)果令人滿意,達到預期的效果。圖1圖2圖3圖4五.模型的應(yīng)用與評價(優(yōu)缺點與改進)從上面的分析可以看出,3層BP神經(jīng)網(wǎng)絡(luò)模型的仿真模擬效果是鄰人滿意的。可以看出,人工神經(jīng)網(wǎng)絡(luò)的擬合精度比較高,主要是基于人工神經(jīng)網(wǎng)絡(luò)抗干擾能力強,穩(wěn)定性好,能自動準確地找出各種輸入和輸出之間的線性或非線性關(guān)系,具有較強的模擬適應(yīng)能力等特點。在本例對于澳門的內(nèi)地游客量的旅游預測中BP神經(jīng)網(wǎng)絡(luò)模型是一種有效的預測方法。這一研究方法為旅游學的定量預測研究提供了一種新的思路,也為工程實踐問題中的一些研究工作提供了一種非常好的指導方法。雖然BP網(wǎng)絡(luò)得到了廣泛應(yīng)用,但其自身也存在一些缺陷和不足,主要包括幾個方面的問題。首先,由于學習速率是固定的,因此,網(wǎng)絡(luò)的收斂速度慢,需要較強的訓練時間。再次,網(wǎng)絡(luò)隱含層的層數(shù)和單元數(shù)的選擇尚無理論上的指導,一般是根據(jù)應(yīng)驗或者通過反復試驗確定的。因此,網(wǎng)絡(luò)往往存在很大的冗余性,在一定上也增加了網(wǎng)絡(luò)學習的負擔。六.原題附帶問題簡析通過對本例旅游需求模型的分析,我們認為在利用數(shù)學建模的方法對旅游需求進行預測預報時,對于數(shù)據(jù)的采集和整理工作需要認真做好。對于數(shù)據(jù)的分析有助于我們尋求變量間的關(guān)系,以形成初步的想法。如何獲得數(shù)據(jù)以及如何獲得準確的數(shù)據(jù)對于我們研究實際問題具有相當重大的意義。收集數(shù)據(jù)并非多多益善,而是要弄清究竟需要哪些數(shù)據(jù),剔除不必要的數(shù)據(jù),從而減少冗余的工作。同時,需要什么形式的數(shù)據(jù)也是我們應(yīng)該思考的一個問題,這與建立模型的目的和所選擇的模型的特點有關(guān)。[參考文獻][1]王士同,等.問題求解的人工智能:神經(jīng)網(wǎng)絡(luò)方法[M].北京:氣象出版社,1995.[2]HillT,MarquezO’connorM,RemusW.ArtificialNeuralNetworkMedelsfor
ForecastingandDecisionMaking[J].InternationalJournalofForecasting,1993,
關(guān)鍵詞:人臉表情識別;非下采樣Contourlet變換;極限學習機;BP神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391 文獻標識號: A 文章編號:2095-2163(2015)05-
Facial Expression Recognition based on the Next Sampling Contourlet Transform Algorithm Research
Jia Hanlong1, Wang Jinfang2, Huang Lifei3
(1 Liaoning Mechatronics College, Liaoning Dandong, 118000, China;2 Yanshan University, Qinhuangdao, 066200, China;3Hangzhou ChouTou Tech Co. LTD, Hangzhou, 310000, China)
Abstract: This paper studies the next sampling Contourlet transform in the application of facial expression recognition, and the corresponding algorithm design process. The image segmentation of facial expression is divided into two parts covering the eyes and the mouth, which to the most extent can represent the expression information, and then uses the sampling Contourlet transform under the division of local image feature extraction, furtherly using extreme learning machine for classification, and makes the comparison with the BP neural network control experiment. The results showed that expression classification accuracy can reach 86.57% on average, than the BP neural network classification method of average accuracy higher than 7.43%. In the speed of execution method, the fact that extreme learning machine is 11.09 times that of the BP neural network shows the efficiency and feasibility of the experiment scheme.
Key words: Facial Expression Recognition; Next Sampling Contourlet Transform; Extreme Learning Machine; BP Neural Network
0引 言
人臉表情含有豐富的人體行為信息,可以直觀地反映一個人的心理狀態(tài)。隨著人機交互的研究日益得到關(guān)注,人臉表情識別已經(jīng)成為模式識別一個重要且具實效意義的研究分支。目前,應(yīng)用于表情識別的方法有基于gabor小波特征的方法[1],基于主動形狀模型(ASM)和主動外觀模型(AAM)的方法[2],基于流形的方法[3]等。
典型的人臉表情提取主要包括人臉表情的預處理,特征提取與選擇和人臉表情分類三個主要步驟。其中,表情特征的提取與選擇是人臉表情識別步驟中最具決定性的一步。如何將人臉表情預處理得到的高維數(shù)據(jù)進行快速有效的降維,既是表情識別系統(tǒng)的核心,也是目前為止最難于有效解決的關(guān)鍵所在。Gabor小波可以提取多尺度、多方向的空間頻率特征,在人臉識別和表情識別的應(yīng)用技術(shù)中,已經(jīng)取得了一定的成果。Contourlet變換也是一種多尺度、多方向的變換,早在2002年,Martin Vetterli和M.N.Do就研究了該算法。該變換是基于小波多尺度分析的思想而開展的一種新的多尺度多方向分析方法研究。該變換不僅可以實現(xiàn)任意方向和尺度的分解,具有同小波變換一樣的優(yōu)勢,而且由于其在圖像輪廓特征和紋理信息方面的獨到的提取和描述,使其在圖像處理領(lǐng)域獲得了較為廣泛的應(yīng)用。然而,該變換在輪廓波采樣過程進行了下采樣轉(zhuǎn)換,因此失去了平移不變性,導致在圖像的恢復變換時,會造成偽吉布斯失真。為此,A.L.Cunha等人研究了非下采樣Contourlet變換 ,其中由于取消了變換過程中的下采樣,從而實現(xiàn)了偽Gibbs失真的有效抑制。
鑒于Contourlet變換存在的明顯缺陷,A.L.Cunha等人提出了NSCT變換。該變換是由非下采樣金字塔分解 (Nonsubsampled Pyramid,NSP)和非下采樣方向性濾波器組(Nonsubsampled Directional Filter Banks,NSDFB)組成的。非下采樣金字塔分解通過一個雙通道的濾波器組,可將信號分解成一個多通和多個帶通部分。
1 表情圖像預處理
由于拍攝環(huán)境的復雜性以及人體自身的運動,獲取的人臉表情信息或多或少會受到一些干擾。因此預先即需針對擬實現(xiàn)特征提取和特征選擇的圖片進行人臉特征區(qū)域的定位,人臉區(qū)域的幾何歸一化以及直方圖均衡化,則將具有重要的基礎(chǔ)性意義的[4]。JAFEE人臉表情庫后預處理前后的圖像如圖1和圖2所示,每行分別對應(yīng)一個人的7種表情,分別為憤怒、厭惡、恐懼、高興、中性、悲傷和驚奇。
人臉特征區(qū)域的定位采用基準特征結(jié)合仿射變換[5]的方法,該方法可以估計左右瞳孔的位置,然后依據(jù)左右瞳孔的坐標來確定人臉的位置,從而實現(xiàn)對人臉特征區(qū)域的定位。幾何歸一化是指圖像經(jīng)過尺度變換,得到統(tǒng)一大小的校準圖像,即具有相同的高和寬,這樣可以使圖像在后期特征提取和特征選擇階段上具有相同的特征維數(shù),由此簡化了實際運算。直方圖均衡化可以消除部分光線和光照強度的影響,使圖像動態(tài)范圍增大,對比度更加擴展,有助于提高識別率。
2 Contourlet變換與非下采樣Contourlet變換
Contourlet變換是一種新的圖像二維表示算法,其基本思想是首先使用一個類似小波的多尺度分解描述出輪廓段,然后將圖像數(shù)據(jù)拉普拉斯金字塔變換(Laplacian Pyramid,LP)和二維方向濾波器組(Directional Filter Bank,DFB)進行多尺度、多方向的變換。LP變換的基礎(chǔ)是高斯金字塔,這是通過對原始圖像循環(huán)進行高斯低通濾波和下采樣來完成的,下采樣的過程相當于帶通濾波器,基于此就形成了從上到下有層次的金字塔樣式的圖像分解,LP變換的主要功能是將圖像分解為低頻系數(shù)子帶和高頻系數(shù)子帶。
從根本上說,圖像是由一個數(shù)值矩陣組成的。矩陣相鄰的像素點可以組成短小的線條,而多個線條的聚集就形成圖像的基本輪廓和紋理特性,因此引入DFB濾波器組的作用就是基于方向的角度對圖像進行從粗分辨率到細分辨率的特征提取。DFB濾波器組首先將LP變換得到的高頻分量抽樣進行多方向分解,然后通過將分布在同一方向的奇異點,合成一個系數(shù),用類似于線段的基結(jié)構(gòu)表征圖像的邊緣細節(jié)等幾何特征,實現(xiàn)對圖像信息的稀疏逼近。
對低頻子帶重復上述LP和DFB分解過程即可實現(xiàn)圖像的多尺度多方向分解。LP分解的每一層將圖像分解為高頻部分和低頻部分,而DFB的優(yōu)點是對于高頻部分的表現(xiàn)更加優(yōu)秀,這也就是兩者疊加之后的Contourlet變換更具有優(yōu)異性的原因。但是由于該變換在LP變換的分解和重構(gòu)濾波器的過程中,帶寬均大于 。因此,對濾波后的圖像進行縮減下采樣將會產(chǎn)生頻譜混疊。頻譜混疊相應(yīng)削弱了Contourlet變換的方向選擇性,因為同一方向的信息會在幾個不同的方向子帶中再次出現(xiàn)。同時,Contourlet變換的下采樣也使該算法失去了平移不變性。
如上所述,針對Contourlet變換的缺陷分析,A.L.Cunha等人隨即提出了NSCT變換。NSCT變換由兩步組成,先將圖像經(jīng)非下采樣金字塔分解濾波器分解為低頻圖像矩陣系數(shù)部分和高頻圖像矩陣系數(shù)部分,再由非下采樣方向性濾波器將高頻圖像矩陣系數(shù)部分分解為若干個子帶方向,如圖3所示。
在NSP分解過程中由于沒有下采樣環(huán)節(jié),則使得NSCT變換具備了平移不變性,這就增強了圖像特征信息的方向選擇性,并在多尺度多方向上更好地實現(xiàn)了紋理特征的描述。
因為上述兩個步驟中已經(jīng)全部去除了濾波器組的下采樣因子,圖像的錯位也就不再出現(xiàn),這就是該變換滿足平移不變性的原因。運用該變換進行圖像的NSCT變換分解后,同Contourlet變換一樣,也會得到一個低頻子帶和若干個高頻子帶,而且隨著子帶層數(shù)的增加,細節(jié)就實現(xiàn)了逐級放大。
將JAFEE人臉表情庫中的一幅圖像進行NSCT變換三層分解之后,變換分解結(jié)果則如圖4所示,仔細觀察圖像的細微之處,由此可知,低頻子帶的圖像系數(shù)矩陣主要描述了人臉五官的基本輪廓,對原始圖像進行了低頻濾波之后,圖像變得模糊不清,而高頻子帶的圖像系數(shù)矩陣則主要描述了人臉五官的更細節(jié)的輪廓及紋理等信息。如第二層四個方向上的高頻子帶信息較為細膩地從不同方向描述了口、眼、鼻子的細節(jié)特征,驗證了隨著子帶層數(shù)的增加,細節(jié)紋理等被逐漸放大的效果事實;其他可如第三層高頻子帶信息則描述了更加細微的對光照等外部因素魯棒性強的細節(jié)特征。在采用支持向量機或者極限學習機進行分類的時候,考慮該變換的平移不變性,分解次數(shù)太多會導致維數(shù)災(zāi)難。另外,也進一步考慮到各層子帶所描述和包含的信息量,研究擇取三層NSCT變換分解,且設(shè)定各層方向數(shù)目為2,4,2的時候,較為理想。
3 非下采樣Contourlet變換表情識別
在人臉表情識別系統(tǒng)中,人臉的每個部位對表情識別的貢獻率是不同的。研究表明,眼睛和嘴唇部位,對人臉表情的識別,起著決定性的作用。因此,本算法將人臉表情分割成含有豐富表情的眼睛部位和嘴唇部位兩個區(qū)域開展研究。本文在人臉表情識別技術(shù)中使用了NSCT算法,先用該算法進行人臉表情關(guān)鍵區(qū)域的特征選擇,其中,在人臉表情的非下采樣Contourlet特征融合之后,因為維數(shù)較大(如選取JAFFE人臉表情庫的210幅圖片,特征提取并融合后可達210*101025維),直接帶入分類器的話,會引發(fā)維數(shù)災(zāi)難,而且會顯著降低分類器的分類效率。為此,在把特征提取之后的數(shù)據(jù)引入分類器之前,應(yīng)先進行數(shù)據(jù)壓縮,以避免維數(shù)災(zāi)難。本文引入PCA方法進行維數(shù)約簡。然后調(diào)用主成分分析算法進行特征提取,最后采用極限學習機(extreme learning machine,簡稱ELM)進行表情分類,并與BP神經(jīng)網(wǎng)絡(luò)[6]分類算法進行識別正確率和識別效率的對比。
在此,給出非下采樣Contourlet變換表情識別的原理實現(xiàn)框架,具體如圖5所示。
4 極限學習機
2004年,新加坡南洋理工大學的黃廣斌副教授研究極限學習機(Exteme Learning Machine,ELM)算法。這是一種簡單小巧、高效可靠的單隱層前饋神經(jīng)網(wǎng)絡(luò)學習算法。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)學習算法,比如BP神經(jīng)網(wǎng)絡(luò),不僅容易產(chǎn)生局部最優(yōu)解,而且在訓練時,還需要人為設(shè)置大量的訓練參數(shù)。極限學習機則具有學習速度快且泛化性能好的優(yōu)點,這是因為該算法流程簡潔在只需要提前設(shè)置網(wǎng)絡(luò)的隱層節(jié)點數(shù)目,在算法運行過程中將不再需要調(diào)整網(wǎng)絡(luò)的輸入權(quán)值和隱元的偏置大小,而且算法最終只會產(chǎn)生唯一的最優(yōu)解。因此,近年來,ELM已經(jīng)成為神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域的一個研究熱點,并成功應(yīng)用于手寫數(shù)字識別、人臉識別、時間序列預測等領(lǐng)域。以下介紹ELM算法的工作原理。
已知給定N個不同的樣本D={(xi ,yi)|xi Rn, yi Rn }, i=1,2,3,…,M。ELM算法是前饋神經(jīng)網(wǎng)絡(luò),主要用于訓練單隱含層,這點與BP神經(jīng)網(wǎng)絡(luò)不同,BP神經(jīng)網(wǎng)絡(luò)可以手動設(shè)置隱含層數(shù)目。那么,該神經(jīng)網(wǎng)絡(luò)的數(shù)學模型可以表述為:
在式(3)中,行代表訓練樣本所有隱結(jié)點的輸出。ELM算法是一種速度極快的單隱層前饋神經(jīng)網(wǎng)絡(luò)學習算法。其算法設(shè)計原理可以分析總結(jié)為如下幾步:
第一步,通過隨機初始化的方式,對偏置 和權(quán)值 進行隨機賦值。需要說明的是,這一步由于不需要調(diào)整網(wǎng)絡(luò)的輸入權(quán)值和隱元的偏置大小,就大大提高了ELM算法的運行速度。
第二步,計算隱含層輸出矩陣H。利用公式(4),求得訓練樣本所有隱節(jié)點的輸出,并將其計算成矩陣的形式。
第三步,近似求解權(quán)值 。利用公式 ,即可求得計算隱含層到輸出層的權(quán)值。
5實驗結(jié)果
運用非下采樣Contourle變換的方法,對人臉表情圖像進行特征提取,并用PCA算法進行特征選擇,最后以BP神經(jīng)網(wǎng)絡(luò)和極限學習機進行分類。本章實驗中所使用的數(shù)據(jù)庫是日本的JAFFE表情庫,該圖像庫由有10個女性的7種表情(生氣、厭惡、恐懼、高興、悲傷、驚訝和中性),共計213幅圖像組成。本算法選取每人每種表情3幅,七種表情共210幅表情圖像來進行實驗。將每幅人臉表情圖像經(jīng)過幾何歸一化、直方圖均衡化等預處理后,可以得到每幅像素點為130×130的統(tǒng)一大小的圖像。實驗采用三層NSCT變換分解,且各層方向數(shù)目為2,4,2,并將“PKVA”作為默認的濾波器。所以,每張人臉表情經(jīng)變換后可以得到7個子帶特征信息。為了做到與人無關(guān)的表情識別,在表情的分類環(huán)節(jié),引入BP神經(jīng)網(wǎng)絡(luò)和ELM算法進行對照試驗,并且隨機選擇每類表情的25幅表情圖像作為訓練集,其余5幅表情圖像作為測試集。實驗中BP神經(jīng)網(wǎng)絡(luò)和ELM算法的激勵函數(shù)都是S型函數(shù)。實驗重復10次以降低隨機性。
由表1可以看出,經(jīng)過非下采樣Contourle變換提取后,使用極限學習機的表情分類平均準確率可達86.57%,比使用BP神經(jīng)網(wǎng)絡(luò)的分類方法平均準確率高出7.43%。而在執(zhí)行時間方面,結(jié)果對比如表2所示,BP神經(jīng)算法執(zhí)行十次的平均時間為6.82s而,ELM算法僅為0.92s,因此可知,極限學習機的速度達到了BP神經(jīng)網(wǎng)絡(luò)的11.09倍,由這一結(jié)果已然明顯可見ELM算法的高速性和高效性。
本文還分析了各類表情識別的相關(guān)分布,如表3所示。可以看到,分類正確率最低的是恐懼和厭惡,各自只有76%和80%。在恐懼表情的分類中,表情大多被錯分為厭惡和憤怒,在厭惡表情的分類中,表情大多被錯分為憤怒和恐懼。因此證明了這四種表情在JAFFE庫上的表情單元的相近性,以致于無法使用NSCT變換提取出精確的表情特征。
在六種基本表情的實驗分類結(jié)果中,可以通過繪制直方圖來更加簡明地進行對比分析,如圖6所示。各類表情中分類正確率最高的憤怒、驚奇和高興,對應(yīng)達到了96%,96%和90%。相對來說,各種表情的識別率都已達到了較高范疇,這也在整體上表明了本算法在實現(xiàn)表情正確分類上的有效性。
本文所提方法比已有的研究方法在識別效果上提高了8%~12%,具體如表4所示,顯示了文獻報道中不同的方法在JAFFE表情數(shù)據(jù)庫中的識別率,可知本文所研究的方法的測試結(jié)果優(yōu)于文獻報道結(jié)果.進一步表明了本算法的有效性。
6 結(jié)束語
本文研究將NSCT變換用于人臉表情的特征提取,并且使用極限學習機進行分類,而后又將實驗結(jié)果與BP神經(jīng)網(wǎng)絡(luò)算法進行對比。詳細描述了實驗結(jié)果中各類表情的識別率,通過各類表情識別率都比較高這一結(jié)果事實,表明了本方法的有效性和高效性。
NSCT算法中,并沒有對NSCT各層分解方向數(shù)目做具體的探討;在表情分類時,ELM算法和BP神經(jīng)網(wǎng)絡(luò)各自的參數(shù)尋優(yōu)也并未是實現(xiàn)深化,因此對NSCT算法各層分解方向數(shù)目做具體的探討,并進行深化的參數(shù)尋優(yōu),則有望進一步提高人臉表情研究的識別效果。
參考文獻:
[1] HUANG G, ZHOU H. Extreme learning machine for regression and multiclass cassification[J]. Systems,Man, and Cybernetics,PartB Cybernetics, IEEE Transactions on, 2012,42(2):513-529.
[2] ZUO Kunlong ,LIU Wenyao. Facial expression recognion using active appearance models[J ] . Journal of Optoelectronics ?La ser (光電子?激光) ,2004 ,15 (7) : 853-857.
[3] CHANG Ya, HU Changbo, TURK M.Probabilistic expression analysis on Manifolds[C]//Proc.of Conference on Computer Vision and Pattern Recognition, Washington D. C., USA: [s. n.], 2004.
[4]朱健翔, 蘇光大, 李迎春. 結(jié)合Gabor特征與Adaboost的人臉表情識別[J]. 光電子:激光, 2006, 17(8):993-998.
一、人工神經(jīng)元模型、結(jié)構(gòu)及工作方法
神經(jīng)網(wǎng)絡(luò)的基本單元是神經(jīng)元,神經(jīng)元的三個基本要素為:
(1)一組連接(對應(yīng)于生物神經(jīng)元的突觸),連接強度由各連接上的權(quán)值表示,權(quán)值為正表示激活,為負表示抑制;
(2)一個求和單元,用于求取各輸入信號的加權(quán)和(線性組合);
(3)一個非線性激活函數(shù),起非線性映射作用并將神經(jīng)元輸出幅度限制在一定范圍內(nèi)(一般限制在(0,1)或(-1,+1)之間)。此外還有一個閾值(或偏置)。
以上作用可分別以數(shù)學式表達出來:
(1)
式中為輸入信號,為神經(jīng)元k之權(quán)值,uk為線性組合結(jié)果,為閾值,為激活函數(shù),yk為神經(jīng)元k的輸出。
除單元特性外,網(wǎng)絡(luò)的拓撲結(jié)構(gòu)也是神經(jīng)網(wǎng)絡(luò)的一個重要特性;從連接方式看,神經(jīng)網(wǎng)絡(luò)主要有兩種:
(1)前饋型網(wǎng)絡(luò)
前饋型網(wǎng)絡(luò)有輸入層、輸出層和若干隱含層構(gòu)成,各神經(jīng)元接受前一層的輸入,并輸入給下一層,信息的傳播是逐層進行的,沒有反饋,且經(jīng)過每一次都要有相應(yīng)的特征函數(shù)進行變換[1]。
(2)反饋型網(wǎng)絡(luò)
反饋型網(wǎng)絡(luò)的所有節(jié)點都是計算單元,同時可接受輸入,并向外界輸出,可畫成一個無向圖3所示。反饋型網(wǎng)絡(luò)的每個連接弧都是雙向的。若總單元數(shù)為n,則每一個節(jié)點有n-1個輸入和一個輸出。
從作用效果來看,前饋網(wǎng)絡(luò)主要是函數(shù)映射,可用于模式識別和函數(shù)逼近。反饋網(wǎng)絡(luò)按對能量函數(shù)的極小點的利用來分類有兩種:第一類是能量函數(shù)的所有極小點都起作用,這一類主要用作各種聯(lián)想存儲器,第二類只利用全局最小點,它主要用于求解制約優(yōu)化問題。
二、網(wǎng)絡(luò)的選取
由于BP網(wǎng)絡(luò)模型和RBF網(wǎng)絡(luò)模型這兩種網(wǎng)絡(luò)存在收斂速度慢和局部極小的缺點,在解決樣本量少且噪聲較多的問題時,效果并不理想,因此不適合對車輛運輸安全風險進行評估。
廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)在逼近能力、分類能力和學習速率上較BP網(wǎng)絡(luò)和RBF網(wǎng)絡(luò)有著較強的優(yōu)勢,網(wǎng)絡(luò)最后收斂于樣本量急劇較多的優(yōu)化回歸面,并且在樣本數(shù)據(jù)缺乏時,評估效果也比較好,此外,網(wǎng)絡(luò)還可以處理不穩(wěn)定的數(shù)據(jù)。因此,本文利用GRNN建立風險評估模型,對車輛運輸安全風險進行評估。
GRNN的結(jié)構(gòu)及其原理參見文獻[2],網(wǎng)絡(luò)的第一層為徑向基隱含層,神經(jīng)元個數(shù)等于訓練樣本數(shù),該層的權(quán)值函數(shù)為歐氏距離函數(shù)(用表示),其作用為計算網(wǎng)絡(luò)輸入與第一層的權(quán)值IW1,1之間的距離,b1為隱含層的閾值。符號“?”表示的輸出與閾值b1之間的關(guān)系。隱含層的傳遞函數(shù)為徑向基函數(shù),通常采用高斯函數(shù)作為網(wǎng)絡(luò)的傳遞函數(shù):
(2)
其中,決定了第i個隱含層位置中基函數(shù)的形狀,越大,基函數(shù)越平滑,所以又稱為光滑因子。
網(wǎng)絡(luò)的第二層為線性輸出層,其權(quán)函數(shù)為規(guī)范化點積權(quán)函數(shù)(用nprod表示),計算網(wǎng)絡(luò)的向量n2,它的每個元素是由向量aI和權(quán)值矩陣每行元素的點積再除以向量aI的各元素之和得到的,并將結(jié)果n2提供給線性傳遞函數(shù)a2=purelin(n2),計算網(wǎng)絡(luò)輸出。
GRNN連接權(quán)值的學習修正仍然使用BP算法。由于網(wǎng)絡(luò)隱含層節(jié)點中的作用函數(shù)(基函數(shù))采用高斯函數(shù),高斯函數(shù)作為一種局部分布對中心徑向?qū)ΨQ衰減的非負非線性函數(shù),對輸入型號將在局部產(chǎn)生相應(yīng),即當輸入信號靠近基函數(shù)的中央范圍時,隱含層結(jié)點將產(chǎn)生較大的輸出。由此看出這種網(wǎng)絡(luò)具有局部逼近能力,這也是該網(wǎng)絡(luò)學習速度更快的原因。此外,GRNN中認為調(diào)節(jié)的參數(shù)少,只有一個閾值,網(wǎng)絡(luò)的學習全部依賴數(shù)據(jù)樣本,這個特點決定了網(wǎng)絡(luò)得以最大限度的避免人為主觀假定對評估結(jié)果的影響。
三、基于GRNN的車輛安全風險評估
根據(jù)對車輛運行系統(tǒng)安全影響因素的分析,網(wǎng)絡(luò)輸入分別取指標體系內(nèi)安全意識、知識技能等二十個二級指標,以車輛發(fā)生重大安全事故風險度為輸出因子,即網(wǎng)絡(luò)的輸出。利用某車輛運輸公司1998~2006年的歷史統(tǒng)計數(shù)據(jù)作為網(wǎng)絡(luò)的訓練樣本,2007~2008年的歷史統(tǒng)計數(shù)據(jù)作為網(wǎng)絡(luò)的外推測試樣本。輸入樣本及目標樣本如表1所示。
圖1 網(wǎng)絡(luò)的逼近誤差
圖2 網(wǎng)絡(luò)的評估誤差
首先對表1中的數(shù)據(jù)進行歸一化處理,利用處理后的數(shù)據(jù)建立GRNN神經(jīng)網(wǎng)絡(luò)并進行訓練與測試。由于光滑因子對網(wǎng)絡(luò)的性能影響比較大,因此,需要不斷嘗試才可以獲得最佳值。本文采用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱對其進行分析求解,將光滑因子分別設(shè)為0.1、0.2、…、0.5,經(jīng)過對輸出結(jié)果的檢查發(fā)現(xiàn),光滑因子越小,網(wǎng)絡(luò)對樣本的逼近能力就越強;光滑因子越大,網(wǎng)絡(luò)對樣本數(shù)據(jù)的逼近過程就越平滑。網(wǎng)絡(luò)對訓練樣本的逼近誤差如圖1所示(單位×10-4),網(wǎng)絡(luò)的風險評估誤差如圖2所示(單位×10-4)。由圖可見,當光滑因子為0.1時,無論逼近性能還是評估性能,誤差都比較小,隨著光滑因子的增加,誤差也在不斷增大。
從誤差的角度考慮,本文光滑因子取0.1,此時網(wǎng)絡(luò)的測試輸出(07、08年風險度)為:
y=0.0069 0.0072
由此可見,該運輸公司2007年、2008年的車輛重大安全事故風險評估的誤差分別為2.5%、2.7%,這可能是由于訓練樣本容量比較小導致的,所以評估精度不是很高。考慮到各種隨機因素,本文的風險評估結(jié)果還是可以接受的。
參考文獻
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò);土壤含水量;預測
中圖分類號:S1527;TP183 文獻標識號:A 文章編號:1001-4942(2012)12-0011-05
Study on Forecasting Model of Soil Water Content based
on BP Artificial Neural Network
Guo QingChun1, Wang SuJuan2, He ZhenFang3
(1.Shanxi Radio & TV University, Xi’an 710068, China;
2.Shandong Institute of Agricultural Sustainable Development, Jinan 250100, China;
3.Cold and Arid Regions Environmental and Engineering Research Institute,
Chinese Academy of Sciences, Lanzhou 730000, China)
Abstract Soil moisture is one of the factors restricting plant growth, so it has great significance to scientifically forecast soil moisture for making full use of soil water. In this paper, the soil moisture predicting model was put forward based on the BP neural network. The BP neural network using adaptive learning rate momentum algorithm has fast convergence rate and high error precision. According to the soil moisture forecast experiment, the BP neural network predicting model increased the convergence rate, reduced the possibility of getting into local minimum, and improved the prediction accuracy.
Key words Artificial neural network; Soil moisture; Prediction
土壤水分在地表與大氣間的物質(zhì)和能量交換中起著極為重要的作用,是陸地地表參數(shù)化的一個關(guān)鍵變量,同時也是農(nóng)作物生長發(fā)育的基本條件和產(chǎn)量預報模型中的重要參量。土壤水分也是土壤的重要物理參數(shù),它對植物存活等具有極其重要的意義,土壤水分過少時,土壤溶液濃度過高,會造成根系吸水困難,致使須根干枯產(chǎn)生“燒須”現(xiàn)象;水分過多,影響根系呼吸及生長,引起乙醇等有害物質(zhì)的積累,同時厭氧菌活動旺盛,容易造成爛根和疾病發(fā)生[1];朱同彬等(2008)[2]探討了不同水分條件對土壤酶活性的影響和土壤酶活性的短期變化規(guī)律;王月福等(1998)[3]研究了在不同土壤水分脅迫條件下,水澆地小麥品種魯麥7號和旱地品系萊農(nóng)8834各生育階段的水分利用效率。因此,土壤水分及其變化的監(jiān)測,是農(nóng)業(yè)、水分、生態(tài)、環(huán)境和水土保持等研究工作的基礎(chǔ),特別是在農(nóng)業(yè)生產(chǎn)中,可以根據(jù)土壤水分的監(jiān)測、預測結(jié)果及作物需水規(guī)律進行有計劃的灌溉。
土壤水分動態(tài)模擬和預測一直都是灌排工程的重點研究對象,許多研究人員應(yīng)用神經(jīng)網(wǎng)絡(luò)等方法對土壤含水量進行了研究[4~14]。如鹿?jié)嵵业龋?987)[4]對農(nóng)田土壤深層水分預測進行過研究,提出了根據(jù)表層土壤水分確定深層土壤水分的模式;姚建文等(1989)[5]采用多元回歸分析方法,將數(shù)值模擬方法得到的土壤水分運動動態(tài)過程的計算值和實測值進行了比較,兩者吻合較好。馬孝義等(2001)[6]探討了土壤含水量的Kriging 和Cokriging 估值方法,研究表明,同深度土壤含水量與不同深度的土壤含水量之間均具有顯著的空間相關(guān)性;張麗麗等(2007)[7]根據(jù)每天紅壤不同層次含水量,利用時間序列分析方法,依據(jù)表層10 cm含水量序列預測20、30、40 cm 和60 cm土層含水量,結(jié)果表明各不同土層含水量之間呈極顯著性相關(guān);袁念念等(2011)[8]利用表層土壤含水量與耕層以下土壤含水量之間的關(guān)系來預測耕層以下土壤體積含水量,對2008年土壤含水量數(shù)據(jù)進行線性回歸分析,建立含水量預測模型,用2009年同期數(shù)據(jù)進行檢驗,效果較好;這些研究得出一個結(jié)論:土壤深層水分含量可以利用淺層含水量進行預測。人工神經(jīng)網(wǎng)絡(luò)作為一門新興學科,具有處理復雜非線性問題的優(yōu)點,已經(jīng)在多個領(lǐng)域得到廣泛應(yīng)用,因此采用該工具對土壤含水量進行了預測研究,為進行科學灌溉和水土保持提供參考。
1 實驗數(shù)據(jù)
商丘市位于東經(jīng)114°49′~116°39′、北緯33°43′~34°52′之間;全市東西橫距168 km,南北縱距128 km;全市總面積10 704 km2;商丘屬暖溫帶半溫潤大陸性季風氣候,氣候溫和、四季分明,主要特點是春季溫暖大風多,夏季炎熱雨集中,秋季涼爽日照長,冬季寒冷少雨雪;年平均日照時數(shù)為1 944 h,無霜期平均為211天,年平均氣溫142℃,一般最高溫度39℃,最低溫度零下9℃,年平均降水量623 mm。
商丘1995~1997年土壤含水量觀測數(shù)據(jù)來自國家農(nóng)業(yè)科學數(shù)據(jù)共享中心。采樣點位于東經(jīng)115°40′,北緯34°27′,海拔為501 m,時間為1995年1月8日~1997年12月28日,逢每月8日、18日、28日取土測定5~30 cm 的土壤含水量,每5 cm一個層次。用土壤含水量百分比(%) 表示。實際數(shù)據(jù)如圖1所示。
為了充分發(fā)揮BP神經(jīng)網(wǎng)絡(luò)的預測功能,提高其輸出精度,有必要對輸入數(shù)據(jù)進行預處理,以提高神經(jīng)網(wǎng)絡(luò)的泛化能力(即對未來學習數(shù)據(jù)的正確應(yīng)答能力),一般可將各輸入量歸一化到[0,1]區(qū)間,但Sigmoid函數(shù)在[0,01]和[09,1]區(qū)間內(nèi)變化極為緩慢,不利于特征提取,為此將各輸入量歸一化至[01,09]之間。輸入數(shù)據(jù)通過標準化{Y=08×〔X-min(X) 〕/ {〔max(X)-min(X)〕+01}處理,構(gòu)成一組新序列。
2 實驗方法
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,簡稱ANN)是由大量簡單的處理單元(或稱神經(jīng)元)廣泛地相互連接而形成的復雜網(wǎng)絡(luò)系統(tǒng),是一種非線性的動力學系統(tǒng)。它具有大規(guī)模的并行處理和分布式的信息存儲能力,良好的自適應(yīng)性、自組織性及很強的學習、聯(lián)想、容錯及抗干擾能力,迄今為止,人們提出許多神經(jīng)網(wǎng)絡(luò)模型。較典型的有BP網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)及CPN網(wǎng)絡(luò)等,其中應(yīng)用較多的是具有非線性傳遞函數(shù)神經(jīng)元構(gòu)成的前饋網(wǎng)絡(luò)中采用誤差反向傳播算法作為其學習算法的前饋網(wǎng)絡(luò)(Back Error Propagation,簡稱BP網(wǎng)絡(luò))。誤差反向傳播網(wǎng)絡(luò)(BP模型)是一種多層結(jié)構(gòu)的映射網(wǎng)絡(luò),它是目前應(yīng)用最為廣泛的一種人工神經(jīng)網(wǎng)絡(luò),在各門學科領(lǐng)域中都具有極其重要的實用價值,其學習能力和容錯能力對于具有不確定性模式識別具有獨到之處。BP人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2。
BP算法的中心思想是調(diào)整權(quán)值使網(wǎng)絡(luò)總誤差最小。BP模型學習過程的算法由正向傳播和反向傳播兩部分組成。通過反復的正向傳播和反向傳播,不斷地修改各層神經(jīng)元的權(quán)值和偏置值(即閾值)來減少誤差函數(shù),直到與某一相當小的正值或進行迭代運算時誤差函數(shù)不再減少。學習過程的實質(zhì)是求誤差函數(shù)的最小值,它通過反復訓練已知樣本集,在沒有達到設(shè)定的誤差最小值之前,每訓練一次,權(quán)值將沿誤差函數(shù)的最速下降方向改變,最終收斂到最小點,然后將多個樣本訓練所得的各層間連接權(quán)值及各層神經(jīng)元的偏置值(即閾值)信息保存起來,以便對未知樣本進行處理。
BP網(wǎng)絡(luò)訓練算法理論具有依據(jù)可靠、推導過程嚴謹、精度較高、通用性較好等優(yōu)點,但傳統(tǒng)BP網(wǎng)絡(luò)訓練算法存在以下缺點:收斂速度緩慢;容易陷入局部極小值。在實際應(yīng)用中,BP網(wǎng)絡(luò)訓練算法很難勝任;因此采用收斂速度較快和誤差精度較高的增加動量項與自適應(yīng)調(diào)整學習速率相結(jié)合的算法改進BP神經(jīng)網(wǎng)絡(luò)的性能。傳統(tǒng)BP網(wǎng)絡(luò)訓練算法實質(zhì)上是一種簡單的最速下降靜態(tài)尋優(yōu)方法,在修正權(quán)值W(n)時,只按照第n步的負梯度方向進行修正,而沒有考慮到以前時刻的梯度方向,從而常常使學習過程發(fā)生振蕩,收斂緩慢。為加速算法收斂,可考慮引入動量項m。增加動量項的權(quán)值,調(diào)整算法的具體做法是:將上一次權(quán)值調(diào)整量的一部分迭加到按本次誤差計算所得的權(quán)值調(diào)整量上,作為本次的實際權(quán)值調(diào)整量,這種方法所加的動量因子實際上相當于阻尼項,它減小了學習過程中的振蕩趨勢,從而改善了收斂性。動量法降低了網(wǎng)絡(luò)對于誤差曲面局部細節(jié)的敏感性,有效地抑制了網(wǎng)絡(luò)陷入局部極小。傳統(tǒng)BP網(wǎng)絡(luò)訓練算法收斂速度緩慢的另一個重要原因是學習率選擇不當,學習率選得太小,收斂太慢;學習率選得太大,則有可能修正過頭,導致振蕩甚至發(fā)散??刹捎米赃m應(yīng)方法調(diào)整學習率。在學習收斂的情況下(誤差函數(shù)E減?。?,學習率lr乘以大于1的常數(shù)α,增大lr,以縮短學習時間;當lr偏大致使不能收斂時(誤差函數(shù)E增大),學習率lr乘以小于1的常數(shù)γ,及時減小lr,直到收斂為止。
人工神經(jīng)網(wǎng)絡(luò)的擬合精度與網(wǎng)絡(luò)層數(shù)和各層神經(jīng)元個數(shù)關(guān)系密切。BP人工神經(jīng)網(wǎng)絡(luò)通常采用三層結(jié)構(gòu),擬合精度的提高可以用增加各層的神經(jīng)元數(shù)。已經(jīng)證明3層BP網(wǎng)絡(luò)可以以任意精度逼近一個連續(xù)函數(shù)。因此,本研究采取3層BP網(wǎng)絡(luò)。
輸入層和輸出層分別與需要解決問題的輸入變量和輸出變量相聯(lián),因此輸入層和輸出層的神經(jīng)元數(shù)分別由輸入變量和輸出變量個數(shù)確定。由于本模型選用5~10、10~15、15~20、20~25 cm的土壤含水量作為輸入,25~30 cm的土壤含水量為輸出,輸入層包含4個神經(jīng)元,輸出層包含1個神經(jīng)元。隱層的隱單元定為8~12,最后根據(jù)訓練結(jié)果進行調(diào)整。其中隱含層神經(jīng)元數(shù)根據(jù)經(jīng)驗公式來確定:P=L+M+N,其中,M、P、N分別為輸入層、隱含層和輸出層神經(jīng)元的數(shù)目,而L為1~10之間的一個整數(shù)。從網(wǎng)絡(luò)的學習時間與次數(shù)以及達到全局收斂的綜合效果來看,我們選擇的隱含層神經(jīng)元的數(shù)目為9。即網(wǎng)絡(luò)結(jié)構(gòu)為4-9-1三層結(jié)構(gòu)。在本模型中,輸入層、隱含層采用tansig作為傳遞函數(shù),輸出層采用purelin傳遞函數(shù)。動量常數(shù)定為09,學習率為005。均方誤差為0001。經(jīng)過542次訓練滿足訓練要求。
3 實驗結(jié)果
31 不同深度土壤含水量序列變化及其相關(guān)性
土壤含水量空間格局是土壤各層含水量隨深度的增加而變化,各深層含水量時間上的連續(xù)變化是隨著表層含水量的變化而變化,且隨著深度的增加,土壤含水量波動范圍先減小后增大。5~10 cm 土壤含水量變化于24%~241%之間,波動較大,10~15 cm 土壤含水量變化于53%~217%之間,波動幅度次之,15~20 cm土層含水量變化于 55%~201%之間,波動幅度最小,20~25 cm 土壤含水量變化于52%~217%之間, 波動幅度增大,25~30 cm 土壤含水量變化于55%~26%之間。根據(jù)1995~1997年不同深度土壤含水量序列空間格局和時間上連續(xù)變化的特點,對不同深度土壤含水量序列進行相關(guān)性分析,通過在顯著性水平為005的F檢驗,結(jié)果表明,25~30 cm 土層與淺層含水量之間呈顯著性相關(guān),其中與20~25 cm(0938) 和15~20 cm(0818) 土層含水量之間的相關(guān)系數(shù),大于與10~15 cm(0703) 和5~10 cm(0462) 土層含水量的相關(guān)系數(shù)??梢哉f相鄰土層含水量時間序列之間具有高度的空間相關(guān)性,土層相隔越遠,相關(guān)系數(shù)越小,相關(guān)性越小。表明土壤含水量在垂直空間分布上具有顯著的空間相關(guān)性。這一結(jié)果進一步說明,可以利用土壤表層含水量預測一定深度的土壤深層含水量。
32 神經(jīng)網(wǎng)絡(luò)擬合及其預測結(jié)果
在一維水平入滲條件下,影響土壤含水量的因素主要有入滲距離、入滲時間、土壤容重、土壤質(zhì)地、土壤初始含水量,在土壤容重、土壤質(zhì)地和初始含水量一定的情況下,可以把入滲距離和入滲時間看作預測土壤含水量的主要依據(jù),通過入滲距離和入滲時間及相應(yīng)的土壤含水量訓練網(wǎng)絡(luò),建立土壤含水量的神經(jīng)網(wǎng)模型,就可以預測土壤含水量的時空變化過程。由于表層土壤水分下滲到深層土壤需要一定時間,因此采用前一時段實測數(shù)據(jù)來預測后一時段土壤含水量的方法,即采用第8天5~10 cm、10~15 cm、15~20 cm、20~25 cm的土壤含水量來預測第18天25~30 cm的土壤含水量,依次類推。
采用1995~1996年的不同深度土壤含水量作為訓練樣本,訓練神經(jīng)網(wǎng)絡(luò)模型,訓練結(jié)果如圖3,利用1997年不同深度土壤含水量,作為檢驗樣本,檢驗神經(jīng)網(wǎng)絡(luò)模型的預測精度見圖4。訓練樣本擬合值最大相對誤差534%,最小相對誤差-377%,平均相對誤差0372%,通過顯著性水平為005的F檢驗,相關(guān)系數(shù)0999;檢驗樣本預測值最大相對誤差 984%,最小相對誤差-357%,平均相對誤差162%,通過顯著性水平為005的F檢驗,相關(guān)系數(shù)0999。可以看出,基于BP人工神經(jīng)網(wǎng)絡(luò)的土壤含水量模型預測精度較高,達98% 以上,平均相對誤差不超過2%,最大相對誤差不超過10%;土壤含水量預測值與真實值吻合程度較高,并且預測值的變化趨勢和真實值變化趨勢也一致,可以反映實際土壤含水量的變化趨勢,能夠滿足實際預測需要。
預測值對比圖
4 結(jié)論
為了準確預測土壤含水量,對河南省商丘市1995~1997年的土壤含水量進行分析,建立了基于BP人工神經(jīng)網(wǎng)絡(luò)的土壤含水量預測模型。通過模型建立和研究得出以下結(jié)論。
41 利用人工神經(jīng)網(wǎng)絡(luò)模型預測深層土壤含水量時,模型預測的平均相對誤差不超過2%,最大相對誤差不超過10%。利用表層土壤含水量與深層土壤含水量之間的關(guān)系來預測深層土壤含水量,總體上精度較高,預測值與實測值相對誤差較小。
42 人工神經(jīng)網(wǎng)絡(luò)預測模型反映了入滲條件下,土壤含水量與入滲時間和距離的動態(tài)關(guān)系,初步研究表明,用人工神經(jīng)網(wǎng)絡(luò)預測土壤含水量的時空變化是可行的,而且不需要建立具體的數(shù)學模型。
43 對BP算法作了一些改進,通過對不同深度土壤含水量的學習,利用神經(jīng)網(wǎng)絡(luò)的記憶、聯(lián)想以及推理功能對深層含水量的預測估計。預測的結(jié)果表明,改進的學習算法大大加快了網(wǎng)絡(luò)的學習速度,同時對于已學習過的樣本知識,網(wǎng)絡(luò)的輸出與期望的結(jié)果充分相符,表明該網(wǎng)絡(luò)能夠正確地實現(xiàn)訓練樣本的擬合;當輸入的數(shù)據(jù)在一定范圍內(nèi)偏離樣本知識時,網(wǎng)絡(luò)的輸出具有接近樣本輸出的傾向,因而表明了神經(jīng)網(wǎng)絡(luò)在預測土壤含水量方面的實際可用性。參 考 文 獻:
[1] 鄧天宏,付祥軍,申雙和,等0~50cm與0~100cm土層土壤濕度的轉(zhuǎn)換關(guān)系研究[J]干旱地區(qū)農(nóng)業(yè)研究,2005,23(4):64-68
[2] 朱同彬,諸葛玉平,劉少軍,等不同水肥條件對土壤酶活性的影響[J]山東農(nóng)業(yè)科學,2008,3:74-78
[3] 王月福,于振文,潘慶民 土壤水分脅迫對耐旱性不同的小麥品種水分利用效率的影響[J]山東農(nóng)業(yè)科學,1998,3:3-5
[4] 鹿?jié)嵵腋鶕?jù)表層數(shù)據(jù)估算深層土壤水分[J]中國農(nóng)業(yè)氣象,1987,8(2):60-62
[5] 姚建文作物生長條件下土壤含水量預測的數(shù)學模型[J]水利學報,1989,20(9):32-38
[6] 馬孝義,李新平,趙延鳳土壤含水量的Kriging 和Cokriging 估值研究[J]水土保持通報,2001,21(3):59-62
[7] 張麗麗,陳家宙,呂國安,等利用土壤表層含水量序列預測深層含水量的研究[J]水土保持學報,2007,21(3):162-169
[8] 袁念念,彭 虹,黃介生,等棉田控制排水土壤含水量預測[J]武漢大學學報(工學版),2011,44(4):445-448
[9] 崔素芳,張振華,姚付啟,等基于偏相關(guān)分析的煙臺市土壤溫度影響因素及預測模型研究[J]山東農(nóng)業(yè)科學,2010,1:18-21
[10] 金 龍,羅 瑩,繆啟龍,等農(nóng)田土壤濕度的人工神經(jīng)網(wǎng)絡(luò)預報模型研究[J]土壤學報,1998,35(1):25-32
[11] 陳昌華,譚 俊,尹健康,等基于PCA-RBF神經(jīng)網(wǎng)絡(luò)的煙田土壤水分預測[J]農(nóng)業(yè)工程學報,2010,26(8):85-90
[12] 余世鵬,楊勁松,劉廣明,等基于BP人工神經(jīng)網(wǎng)絡(luò)的長江河口地區(qū)土壤鹽分動態(tài)模擬及預測[J]土壤,2008,40(6):976-979
關(guān)鍵詞:堆疊去噪自編碼器;垃圾郵件;分類;支持向量機;貝葉斯方法
中圖分類號: TP393.098
文獻標志碼:A
0引言
電子郵件因為易于使用、速度快、溝通方便等原因,已經(jīng)成為人們重要的聯(lián)系方式,但與此同時,垃圾郵件的數(shù)量卻急劇地增加:卡巴斯基實驗室的研究發(fā)現(xiàn),2014年第1季度的垃圾郵件數(shù)目占總郵件的66.34%;McAfee實驗室2015年2月的威脅報告表明,2014年,垃圾郵件數(shù)量大概為31.2萬億,占該年郵件總量的69.02%。其中大部分垃圾郵件帶有商業(yè)性質(zhì),但有些郵件可能會包含病毒和其他具有危害性質(zhì)的內(nèi)容,給用戶帶來精力的損耗和財力上的損失,文獻[1]表明,由于垃圾郵件的原因,美國接近360萬用戶的損失高達32億美元。大量的垃圾郵件同時造成帶寬浪費和郵件系統(tǒng)超載。
垃圾郵件過濾方法用來解決上述問題。垃圾郵件過濾的目的是為了隔離垃圾郵件和合法郵件。一般的過濾方式包括:郵件客戶端擴展和郵件服務(wù)終端過濾過程,簡單郵件傳送協(xié)議(Simple Mail Transfer Protocol,SMTP)和基于機器學習算法的方法是最常用的垃圾郵件過濾方法。一般來說,基于SMTP的過濾方法通常是指SMTP流量的檢測、電子郵件交換路由驗證和經(jīng)過身份驗證的SMTP會話。基于啟發(fā)式規(guī)則的方法、黑名單/白名單的方法、協(xié)同垃圾郵件過濾也可以用來過濾垃圾郵件。機器學習方法包括郵件的分析和分類算法的部署。
文獻[2]表明在諸多過濾方法中,機器學習算法獲得更多的應(yīng)用和更好的性能。貝葉斯過濾器因為計算效率高、過濾性能良好得到了廣泛的應(yīng)用,文獻[3]比較了7個版本的貝葉斯過濾器,得出布爾樸素貝葉斯(Boolean Naive Bayes)、多項式布爾樸素貝葉斯(Multinomial Boolean Naive Bayes)、基本樸素貝葉斯(Basic Naive Bayes)具有較好的性能;文獻[4]提出了一些方法用來改進樸素貝葉斯過濾器,提高了過濾器的準確率; 文獻[5]將不同種類核函數(shù)和數(shù)據(jù)表示的支持向量機應(yīng)用到垃圾郵件過濾中;文獻[6]提出了混合Taguchi方法、Staelin方法來優(yōu)化支持向量機參數(shù)的選擇過程,并且提高了準確率。其他的諸如隨機隨林、人工神經(jīng)網(wǎng)絡(luò)、提升方法(boosting)和裝袋(bagging)等方法也被應(yīng)用到了垃圾郵件過濾。近年來隨著社交網(wǎng)絡(luò)、云計算、網(wǎng)格計算、語義網(wǎng)絡(luò)等技術(shù)的發(fā)展,出現(xiàn)了許多基于上述技術(shù)的垃圾郵件分類器;隨著垃圾郵件中圖像的增加,出現(xiàn)了基于圖像的垃圾郵件分類器,文獻[7]對新技術(shù)和圖像分類應(yīng)用進行了介紹。文獻[8]比較了不同的特征選擇和降維技術(shù)對垃圾郵件過濾的影響。文獻[9]研究表明:相對支持向量機(Support Vector Machine, SVM)、提升方法(boosting)、最大熵方法等“淺層學習”方法而言,深度學習所學得的模型中,非線性操作的層級數(shù)更多。 淺層學習依靠人工經(jīng)驗抽取樣本特征,網(wǎng)絡(luò)模型學習后獲得的是沒有層次結(jié)構(gòu)的單層特征;而深度學習通過對原始信號進行逐層特征變換,將樣本在原空間的特征表示變換到新的特征空間,自動地學習得到層次化的特征表示。
去噪自編碼器(Denoising Autoencoder, DA)是深度學習中的變形結(jié)構(gòu),和受限玻爾茲曼機、自編碼器[9](Autoencoder)一樣作為深度學習架構(gòu)中的訓練模塊,具有良好的學習數(shù)據(jù)集特征的能力。通過多個DA的堆疊可形成堆疊去噪自編碼器(Stacked Denoising Autoencoder,SDA) [10]。SDA訓練過程中的無監(jiān)督學習過程和對數(shù)據(jù)的破壞過程,能進一步學習到數(shù)據(jù)集中的特征和數(shù)據(jù)結(jié)構(gòu),同時學習得到的隱含表示更適用于有監(jiān)督分類。文獻[11]的研究表明,在大部分情況下,SDA要優(yōu)于深度置信網(wǎng)絡(luò)[9](Deep Belief Network, DBN),并且因為SDA不需要吉布斯采樣,所以訓練更加容易。
本文將一個5層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾,在6個公開數(shù)據(jù)集上進行測試,使用準確率、召回率和馬修斯相關(guān)系數(shù)作為測量標準,與在垃圾郵件過濾中應(yīng)用最為廣泛的支持向量機算法、3種貝葉斯算法和DBN進行比較。結(jié)果表明,相對于其他幾種算法:堆疊去噪自編碼具有最好的平均性能和較好的預測能力。
1堆疊去噪自編碼器
1.1去噪自編碼器
自編碼器 (Autoencoder) [9]的學習只是簡單地保留原始輸入數(shù)據(jù)的信息,并不能確保獲得一種有用的特征表示。因為自編碼器可能僅僅簡單地拷貝原始輸入,或者簡單地選取能夠稍微改變重構(gòu)誤差,卻不包含特別有用信息的特征。為了避免上述情況,并且能夠?qū)W習更好的特征表示,需要給數(shù)據(jù)表示一定的約束。去噪自編碼器可以通過重構(gòu)含有噪聲的輸入數(shù)據(jù)來解決該問題。
去噪自編碼器所要實現(xiàn)的功能就是學習疊加噪聲的原始數(shù)據(jù),而它學習到的特征與從未疊加噪聲的數(shù)據(jù)學到的特征幾乎一樣, 但去噪自編碼器從疊加噪聲的輸入中學習得到的特征更具魯棒性,并且可以避免自編碼器遇到的上述問題,簡單地學習相同的特征值。
去噪自編碼器通過一個隨機的映射變換x~qD(x′|x),對原始輸入數(shù)據(jù)x進行“破壞”,從而得到一個有部分損壞的數(shù)據(jù)x′, 其中D表示數(shù)據(jù)集。
去噪自編碼器由編碼器(encoder)、解碼器(decoder)和隱含層組成。編碼器是輸入x∈[0,1]d 的”破壞”版本x′到隱含表示 y∈[0,1]d′的映射,表示為:
y=fθ(x)=s(Wx′+b)(1
這個映射的參數(shù)集合是θ={W,b},s是一個非線性的函數(shù),例如sigmoid,W是一個的d×d′權(quán)值矩陣, b是一個偏置向量。
解碼器函數(shù)gθ′(y)將隱含表示映射回重構(gòu)表示z∈[0,1]d,表示為:
z=gθ′(y)=s(W′y+b′)(2
這個映射的參數(shù)集合是θ′={W′,b′},逆映射的權(quán)值矩陣W′可被約束為權(quán)值矩陣W的轉(zhuǎn)置:即W′=WT,被稱為去噪自編碼器捆綁權(quán)重。b′是一個偏置向量。
這樣每個訓練樣例x(i)被映射成一個y(i)和一個重構(gòu)表示z(i),然后通過不斷地調(diào)準優(yōu)化這個模型的所有參數(shù),從而獲得最小平均重構(gòu)誤差:
L(x,z)=x-z2(3)
使z盡可能地接近初始輸入x,并且z是x′的函數(shù)。 定義聯(lián)合分布函數(shù)為:
q0(X,X′,Y)=q0(X)qD(X′X)δfθ(X′)(Y)(4)
其中:X,X′,Y是隨機變量,Y是X′的映射函數(shù), q0(X,X′,Y)以θ為參數(shù)。這時就可以通過梯度下降算法最小化目標函數(shù):
arg minθ,θ′ Eq0(X,X′)[L(X,gθ′(fθ(X′)))](5
去噪自編碼器的結(jié)構(gòu)圖如圖1所示。
圖片
圖1去噪自編碼器結(jié)構(gòu)
1.2堆疊去噪自編碼器
深度神經(jīng)網(wǎng)絡(luò)可以分為3類:1)生成性深度結(jié)構(gòu),描述數(shù)據(jù)和相應(yīng)類別的聯(lián)合概率分布,如DBN; 2)區(qū)分性深度結(jié)構(gòu),提供對模式分類的區(qū)分性能力,通常描述數(shù)據(jù)的后驗分布,如卷積網(wǎng)絡(luò)和堆疊去噪自編碼器; 3)混合型結(jié)構(gòu),目標是區(qū)分性的,但通常利用生成型結(jié)構(gòu)的輸出會更易優(yōu)化。
通常情況下,由于網(wǎng)絡(luò)權(quán)值的隨機初始化,基于梯度的優(yōu)化容易陷入局部最小值。文獻[12]提出了一種新的貪婪逐層非監(jiān)督算法來初始化深度學習網(wǎng)絡(luò),文獻[10]使用此算法來初始化基于降噪自編碼器的堆疊去噪自編碼器。訓練整個網(wǎng)絡(luò)的參數(shù)后,在使用基于梯度的算法如梯度下降法來微調(diào)網(wǎng)絡(luò)參數(shù)。SDA初始化方法的有效性[13]在多個數(shù)據(jù)集中得到驗證。正如受限玻爾茲曼機的堆疊形成深度置信網(wǎng)絡(luò),去噪自編碼器的堆疊可形成堆疊去噪自編碼器。用疊加噪聲輸入訓練每層網(wǎng)絡(luò)的去噪能力,這樣訓練出來的每層編碼器可作為一個具有容錯性能的特征提取器,同時學習得到的特征表示具有更好的健壯性。
SDA 的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。通過圖1中的步驟首先破壞原始數(shù)據(jù),然后最小化重構(gòu)誤差,訓練第1層去噪自編碼器,從而學習得到了編碼器函數(shù)fθ。接下來使用此函數(shù)學習原始的數(shù)據(jù)(如圖2(a)所示),得到的結(jié)果作為第2層去噪自編碼器的輸入,用來訓練第2層的去噪自編碼器(如圖2(b)所示),從而學習到第2層的編碼器函數(shù)f(2)θ。然后重復這一過程(如圖2(c)所示),直至所有的去噪編碼器層都已經(jīng)訓練完成為止。
圖片
圖2堆疊去噪自編碼器的結(jié)構(gòu)
為了讓堆疊去噪編碼器具有分類識別的功能,需要在堆疊自編碼器神經(jīng)網(wǎng)絡(luò)的最后一個隱藏層之后加個sigmoid分類器,將整個神經(jīng)網(wǎng)絡(luò)訓練成能完成分層特征提取和數(shù)據(jù)分類任務(wù)的多重感知器。然后利用有監(jiān)督學習規(guī)則,在監(jiān)督學習損失函數(shù)上使用梯度下降算法,實施微調(diào),最小化預測目標的誤差,不斷調(diào)整整個網(wǎng)絡(luò)的參數(shù)。微調(diào)結(jié)構(gòu)如圖3所示。
圖片
圖3分類深度網(wǎng)絡(luò)的微調(diào)結(jié)構(gòu)
2堆疊去噪自編碼器實現(xiàn)
2.1堆疊去噪自編碼器的參數(shù)更新
去噪自編碼器的最終目的是找出模型最合適的參數(shù),可以按照如下步驟更新參數(shù)。
初始化模型參數(shù):輸入數(shù)據(jù)、可視節(jié)點個數(shù)、隱層節(jié)點個數(shù)、輸入數(shù)據(jù)破壞比例和更新的學習率(learning rate),權(quán)值矩陣和偏置向量;根據(jù)數(shù)據(jù)破壞比例,隨機選取原始數(shù)據(jù),將其值設(shè)置為0,達到破壞數(shù)據(jù)的目的;使用sigmoid函數(shù)計算輸入數(shù)據(jù)的隱藏表示和重構(gòu)表示;計算輸入數(shù)據(jù)的重構(gòu)誤差;對重構(gòu)誤差使用梯度下降算法,更新參數(shù)。具體過程如算法1。
算法1Denoising AutoEncoder。
程序前
輸入: X, n_vis, n_hid, c_r, l_r;
輸出: W, b, b′。
X′=get_corrupted_input(X, c_r)
1
for iter from 1 to iteration
2)
Y=get_hidden_units(X′, W, b)
3)
Z=get_reconstruction_units(Y, W, b′)
4)
cost=get_cost(X, Z)
5)
for param in parameters(W, b, b′)
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r * gparam
8)
end for
9)
end for
程序后
2.2堆疊去噪自編碼器的預訓練
在堆疊去噪自編碼器的預訓練步驟中,首先應(yīng)該確定隱藏層的數(shù)目,一般情況下,使用3層的去噪自編碼器構(gòu)成深度學習網(wǎng)絡(luò)來訓練堆疊去噪自編碼器;每一層都訓練成去噪自編碼器,并且通過最小化重構(gòu)誤差,更新參數(shù)10次以上。第i-1層的輸出即為第i層的輸入,這樣通過自底向上的方式訓練堆疊去噪自編碼器。每一層的數(shù)據(jù)破壞比例和隱藏節(jié)點個數(shù)可以互不相同;最后獲取整個網(wǎng)絡(luò)的參數(shù)。訓練步驟如算法2。
算法2Pretrain Step。
程序前
輸入:X,n_layers, n_vis, n_hid[n_layers],c_r[n_layers], l_r[n_layers];
輸出:dA_layers[n_layers], Y_out=X。
1
for i from 1 to n_layers
2)
X′=get_corrupted_input(Y_out,c_r[i])
3)
for iter from 1 to iteration
4)
Y=get_hidden_units(X′,W[i],b[i])
5)
Z=get_reconstruction_units(Y,W[i], b′[i])
6)
cost=get_cost(Y_out, Z)
7)
for param in parameters(W[i], b[i], b′[i])
8)
gparam=get_gradient(cost,param)
9)
param=param-l_r[i] * gparam
10)
end for
11)
end for
12)
Y_out=Y
13)
end for
程序后
2.3堆疊去噪自編碼器的微調(diào)
在堆疊去噪自編碼器的微調(diào)過程中,使用有監(jiān)督學習方法優(yōu)化從預訓練步驟中獲得的模型參數(shù)。由于最后一個隱含層只能輸出原始數(shù)據(jù)的重構(gòu),因而不具有分類識別功能。為了讓堆疊去噪編碼器具有分類識別的功能,需要在完成微調(diào)的神經(jīng)網(wǎng)絡(luò)的輸出層之后加入sigmoid分類器,將整個神經(jīng)網(wǎng)絡(luò)訓練成能完成分層特征提取和數(shù)據(jù)分類任務(wù)的多重感知器。多重感知器的sigmoid層的參數(shù)和預訓練步驟中去噪自編碼器的sigmoid函數(shù)具有相同的參數(shù),因此可以通過最小化多重感知器的預測錯誤來不斷微調(diào)模型的參數(shù)。微調(diào)步驟作用在整個堆疊去噪自編碼器過程。微調(diào)的過程如算法3。
算法3Fine Tuning Step。
程序前
input: train_batches, test_batches, iteration, l_r
1
while iter < iteration do
2)
for batch in train_batches
3)
cost=get_finetuning_cost(X)
4)
for i from 1 to n_layers
5)
for param in parameters(W[i], b[i], b′[i])
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r[i]*gparam
8)
end for
9)
end for
10)
valid_error=get_valid_error(batch)
11)
if valid_error
12)
update best_valid_error
13)
test_error=get_test_error(test_batches)
14)
if test_error
15)
update best_test_error
16)
end if
17)
end if
18)
end for
19)
end while
程序后
3實驗與分析
3.1數(shù)據(jù)集
3.1.1數(shù)據(jù)集描述
實驗中使用了6個著名的、數(shù)據(jù)量比較大的、公開的數(shù)據(jù)集Enron[14]。其中Enron1、Enron2和Enron3的合法郵件占多數(shù),而Enron4、Enron5和Enron6的垃圾郵件占多數(shù)。Enron數(shù)據(jù)集中正常郵件是從Enron公司的前員工的郵箱中收集的,垃圾郵件則有不同的來源。6個數(shù)據(jù)集的具體組成如表1。
3.1.2數(shù)據(jù)集預處理
1)分別從垃圾郵件文件夾和合法郵件文件夾,按照30%的比例隨機選取文件,然后合起來作為測試集,剩余的70%合起來作為訓練集。
2)分別對訓練集和測試集進行分詞處理,字母小寫化和去除停用詞。
3)將訓練集和測試集表示為詞頻逆文檔(Term FrequencyInverse Document Frequency, TFIDF)的向量形式。
4)使用特征值提取技術(shù)對特征值進行提取,選取3000個特征值作為實驗特征。
3.2實驗性能測量標準
比較出名的性能指標有垃圾郵件準確率(Spamming precision, Spr),垃圾郵件召回率(Spamming recall, Sre),合法郵件準確率(Legitimate email precision, Lpr),合法郵件召回率(Legitimate email recall, Lre),準確率(Accuracy, Acc)。在分類時,垃圾郵件的類標設(shè)置為1(正例),合法郵件的類標設(shè)置為0(負例)。其中分類的混淆矩陣(confusion matrix)如表2所示,真正例(True Positive, TP),假負例(False Negtive, FN),假正例(False Positive, FP),真負例(True Negtive, TN)。
表格(有表名)
文獻[15]的研究表明,在機器學習的分類問題中,馬修斯相關(guān)系數(shù)(Matthews Correlation Coefficient,MCC)是最好的性能測試指標之一。相比其他的指標,MCC對于準確率提供了更為平衡的測量。MCC值的返回值介于-1和+1之間:+1,表明是完美的預測;0,表明是隨機的預測;-1,則表明是一個相反的預測。MCC的計算式如下:
MCC=TP*TN-FP*FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)(6
MCC同時提供了相對合理的評價:現(xiàn)實情況下,垃圾郵件的數(shù)目要比合法郵件的數(shù)目更高,因此MCC可以自動調(diào)整一個假正例(即合法郵件分類為垃圾郵件)錯誤相對于一個假負例錯誤的嚴重程度,隨著垃圾郵件相對于合法郵件的比例的上升,一個假正例錯誤會比一個假負例錯誤更加嚴重,即MCC值會降低。
3.3實驗結(jié)果與分析
3.3.1隱藏層節(jié)點數(shù)目選擇對實驗的影響
由文獻[10-11]中一系列的參數(shù)實驗可以總結(jié)出,在大部分數(shù)據(jù)集上,SDA一般使用三層隱藏層就可以達到較優(yōu)的效果,因此本文中使用三層的隱藏層。
首先指出,圖4和圖5中的最低點Acc值是0.7101。這種情況是SDA把所有的郵件都分類為垃圾郵件。圖4中,350,650,950是第一層隱藏層的節(jié)點數(shù)目,30表示第三層隱藏層的節(jié)點數(shù)目;圖5中,350,650,950是第一層隱藏層的節(jié)點數(shù)目,500表示第二層隱藏層的節(jié)點數(shù)目。
圖4中,固定第一、三隱藏層的節(jié)點數(shù)目,SDA在數(shù)據(jù)集Enron 5上的Acc值隨著第二層隱藏層節(jié)點數(shù)目的改變而變化。從圖4中可看出,固定第一、三隱藏層節(jié)點數(shù)目時,當?shù)诙庸?jié)點個數(shù)過小或者過大時,Acc值會達到最低點0.7101,而第二層節(jié)點個數(shù)處于兩者之間時,Acc值正常波動。第二、三隱藏層節(jié)點固定時,可以看出,當?shù)谝粚拥墓?jié)點數(shù)目越大時,第二層隱藏層節(jié)點的數(shù)目受到的限制更大。
對于圖4中出現(xiàn)的隨著第二層隱藏層節(jié)點數(shù)目的增加,Acc值會降至最低,可以通過改變第三層隱藏層節(jié)點數(shù)目來改變。圖5中,固定第一、二隱藏層節(jié)點的數(shù)目,SDA在數(shù)據(jù)集Enron 5上的Acc值隨著第三層節(jié)點數(shù)目的改變而變化??梢钥闯?,為了取得較優(yōu)的結(jié)果,第一層隱藏層的節(jié)點數(shù)越多,第三隱藏層需要的節(jié)點數(shù)也越多。
3.3.2在6個數(shù)據(jù)集上的實驗結(jié)果
為了書寫方便,下面描述中,Basic表示基本樸素貝葉斯方法、Bool表示布爾樸素貝葉斯方法、MN Bool表示多項式布爾樸素貝葉斯方法。
在6個Enron 數(shù)據(jù)集上的實驗結(jié)果如表3~8所示,其中加下劃線的數(shù)據(jù)表示該實驗中最大的MCC值。
表格(有表名)
表3Enron1上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic91.3385.0993.4896.3692.860.831
Bool96.0051.6163.3297.4972.780.540
MN Bool82.6762.0079.3591.8280.310.578
SVM83.3387.4195.1193.7091.700.796
DBN91.5690.7596.1996.5494.850.875
SDA90.2292.9197.1896.0595.160.882
表格(有表名)
表4Enron2上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic80.0097.5799.3193.5394.380.850
Bool95.3381.2592.4598.3093.190.836
MN Bool74.0098.2399.5491.7793.020.814
SVM90.6790.6796.8096.8095.230.875
DBN95.9891.6897.0298.6096.750.916
SDA95.9895.5698.4798.6297.830.943
表格(有表名)
表5Enron3上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic57.33100.00100.0086.2788.410.703
Bool99.3399.3399.7599.7599.640.991
MN Bool62.00100.00100.0087.5889.670.737
SVM91.3396.4898.7696.8396.740.917
DBN96.4489.6795.8498.6396.000.903
SDA92.6799.2999.7597.3297.820.945
表格(有表名)
表6Enron4上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic94.67100.00100.0086.2196.000.903
Bool98.00100.00100.0094.3498.500.962
MN Bool96.89100.00100.0091.4697.670.941
SVM98.89100.00100.0096.7799.170.978
DBN96.9697.9894.0091.1696.220.901
SDA99.9397.2691.5699.7697.840.942
表格(有表名)
表7Enron5上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic89.6798.8097.3379.3591.890.825
Bool87.23100.00100.0076.1490.930.815
MN Bool94.29100.00100.0087.7295.950.909
SVM89.4099.7099.3379.2692.280.837
DBN96.3799.4498.6791.7497.040.931
SDA98.7399.4598.6796.9498.710.969
表格(有表名)
表8Enron6上各個分類器的實驗結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic86.0098.9897.3369.8688.330.757
Bool66.8999.6799.3350.0075.000.574
MN Bool92.8997.2192.0081.1892.670.816
SVM89.7895.2886.6773.8690.050.727
DBN96.3798.5695.7589.7996.210.902
SDA99.0498.4595.3397.0698.110.949
通過觀察6個數(shù)據(jù)集6種分類器的實驗數(shù)據(jù)可以分析:在實驗的大部分數(shù)據(jù)集上,SDA垃圾郵件過濾器的性能超過了其他幾種分類器。同時在有些情況下SDA的過濾效果遠遠地優(yōu)于SVM和NB分類器:比如在Enron6數(shù)據(jù)集上的結(jié)果表明,SDA的垃圾郵件召回率達到了99.04%,而SVM卻只達到了89.78%。這意味著在Enron6數(shù)據(jù)集上,SDA要比SVM多識別9.26%的垃圾郵件,同時因為具有比SVM更好的合法郵件召回率,所以相對于SVM,SDA垃圾郵件過濾的總體性能提升要大于9%。在實際的應(yīng)用中,這些差異將會非常重要。這種對比現(xiàn)象在數(shù)據(jù)集Enron1、Enron2、Enron3和Enron5也可以得到。在數(shù)據(jù)集Enron4上,SDA過濾效果稍遜于SVM,但是相差不大。
對于實驗中所有樸素貝葉斯過濾器,實驗數(shù)據(jù)表明它們之間達到了相似的結(jié)果,并且不具有太大的差異性。相對堆疊去噪自編碼器過濾器和支持向量機過濾器在所有的數(shù)據(jù)集上的準確率(Acc)達到90%以上,而基于樸素貝葉斯方法的過濾效果要差些。
實驗中的DBN的分類效果,總體上要優(yōu)于其他4幾種分類器,但是SDA的分類效果要稍微優(yōu)于DBN。
表中的實驗數(shù)據(jù)表明堆疊去噪自編碼器在垃圾郵件過濾中具有更好的效果:在實驗的所有數(shù)據(jù)集上,堆疊去噪自編碼器的準確率(Acc)都高于95%;在實驗的所有數(shù)據(jù)集上,堆疊去噪自編碼器的MCC值都高于0.88,這表明堆疊去噪自編碼器應(yīng)用于垃圾郵件過濾中取得相對完美的預測。上述結(jié)果表明將堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾中是可行的。
4結(jié)語
本文提出了一種新的基于堆疊去噪自編碼器的垃圾郵件分類器。在6個著名的、數(shù)據(jù)量較大的、公開的數(shù)據(jù)集上進行測試,將實驗結(jié)果同基于支持向量機和貝葉斯方法的垃圾郵件過濾器的結(jié)果進行比較。對比分析表明,本文所提出的垃圾郵件過濾器表現(xiàn)出更好的性能。特別是基于堆疊去噪自編碼器的垃圾郵件分類器在6個數(shù)據(jù)集上具有最好的平均性能并且準確率(Acc)都高于95%。這些表明將堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾中是可行的。
未來的工作將會集中在以下3個方面:1)如何更好地選擇深度置信網(wǎng)絡(luò)隱藏層數(shù)以及每層的單元個數(shù),如何選擇學習率等參數(shù)來提高算法的性能。2)在諸如TRE05、TRE06、TRE07等更大的數(shù)據(jù)集上進行更多的實驗來驗證實驗結(jié)果,同時也希望同一些諸如Bogo filter、Spam Assassin等開源和商業(yè)垃圾郵件過濾器進行比較。3)應(yīng)把垃圾郵件過濾看作是共同進化問題,因為垃圾郵件過濾器努力提高預測能力的同時,垃圾郵件遞送者也不斷地改變垃圾郵件內(nèi)容的表現(xiàn)形式以達到欺騙過濾器的目的,因此一個有效的垃圾郵件過濾器應(yīng)該能夠有效地檢測垃圾郵件特征的變化,從而不斷地調(diào)整自身的規(guī)則。
參考文獻:
[1]GARTNER. Gartner survey shows phishing attacks escalated in 2007; more than $3 billion lost to these attacks[EB/OL].[20150220].http:///it/page.jsp?id=565125.
神經(jīng)科研究 神經(jīng)內(nèi)科論文 神經(jīng)網(wǎng)絡(luò)技術(shù) 神經(jīng)網(wǎng)絡(luò)論文 神經(jīng)外科論文 紀律教育問題 新時代教育價值觀