神經網絡反向傳播公式范文

時間:2023-11-01 17:23:45

導語:如何才能寫好一篇神經網絡反向傳播公式,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

神經網絡反向傳播公式

篇1

關鍵詞: 神經網絡;工程造價;Vague集貼近度

0 引言

對建筑工程造價進行科學有效的測算和控制,會使工程造價的組成比較合理,進而節約工程開銷成本。現在,經典的建筑工程造價測算方法主要有下面幾種:定額法、類比工程法、回歸分析法和模糊數學法[1]。其中,定額法必須對定額成本、定額差異和定額變動差異進行單獨核算,任務較重,現實中很難實施;類比工程法是通過類比工程的相似性實現工程造價的測算,該方法估算準確度不夠高;回歸分析法的估算準確度同樣不高,該方法將很多重要因素忽略了;模糊數學法是通過模糊數學的思想對工程造價進行估算,該方法的不足主要是特征隸屬度不好準確確定。由于人工神經網絡可以自學并進行推理,本文通過人工神經網絡和Vague集貼近度理論對住宅樓的工程造價進行估算和控制,可以為建筑工程造價估算提供很好的服務。

1 BP神經網絡

BP神經網絡是一種前饋型神經網絡,包含三種層次或者多層次,各種層次之間相互連接,同一層次可以自由結合,BP神經網絡的構成見圖1。所屬模型的神經元數量決定了BP神經網絡的層數,各個層次之間通過相互的權值實現聯接[2]。

人工神經元(Artificial Neuron)模型:

人工神經元是神經網絡的基本元素,其原理可以用圖2表示。

圖中x1~xn是從其他神經元傳來的輸入信號,wij表示表示從神經元j到神經元i的連接權值,θ表示一個閾值(threshold),或稱為偏置(bias)。則神經元i的輸出與輸入的關系表示為:

BP神經網絡的結構非常簡潔,包括正向傳播和逆向傳播。下面分別對BP神經網絡信息的正向傳播和誤差信息的反向傳播原理進行介紹。

1.1 信息的正向傳播

式(1)中,n為信息的總個數。

1)輸入向量為

多層神經元網絡(BP網絡圖3)。

BP(Back Propagation)神經網絡,即誤差反傳誤差反向傳播算法的學習過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。由圖3可知,BP神經網絡是一個三層的網絡:

輸入層(Input Layer):輸入層各神經元負責接收來自外界的輸入信息,并傳遞給中間層各神經元;

隱藏層(Hidden Layer):中間層是內部信息處理層,負責信息變換,根據信息變化能力的需求,中間層可以設計為單隱層或者多隱層結構;最后一個隱層傳遞到輸出層各神經元的信息,經進一步處理后,完成一次學習的正向傳播處理過程;

輸出層(Output Layer):顧名思義,輸出層向外界輸出信息處理結果。

2 建筑工程造價估算模型

2.1 BP神經網絡訓練 建立BP神經網絡模型,對工程特征向量進行歸一化處理,可以開始神經網絡訓練,目標是使網絡性能函數極小化,實現非線性映射的目的。本文利用Nguyen-Widrow方法[5]對權值和閾值的初值進行確定。Nguyen-Widrow方法具體原理為

上式中,W是數值矩陣,θ是權值矩陣,S、N是節點的個數。rand(S,N)為s行n列的平均自由分布任意矩陣,I(S,N)為s行n列標準矩陣。

2.2 BP神經網絡訓練調整與測試 BP神經網絡訓練調整與測試連接強度加權值調整方法,具體公式為:

BP算法在按步驟經行的收斂過程中,每一步的學習率都將發生變化,而不是固定不變。此時BP神經網絡不應用連接強度加權值的調整方法,同時也不使用誤差函數對梯度調整和η調整方法;最終應用相對權重增加量Δwij進行網絡調整與測試,權值wij的修正值Δwij,如下所示:

以上的分析表明,運用BP神經網絡進行建筑工程單方造價估算是可行的,然而該方法對建筑工程項目總造價的估算還不夠精確。當前建筑工程項目需要考慮的影響因素非常多,雖然可以引入大量的特征因素,然而里面有很多因素都非常模糊化;即使可以對特征因素進行具體說明,提高輸入點的數量,這時樣本數據會隨著增加,此時神經網絡將會復雜化,求解效率會降低。所以,本文通過以上運用BP神經網絡對建筑工程項目單方造價的估算,采用Vague集貼近度對BP神經網絡進行改進,對建筑工程總造價進行估算[3]。

2.3 加入Vague集貼近度改進BP神經網絡 文獻[4]采用普通模糊集理論來對工程隸屬度進行確定。本文中建筑工程特征因素隸屬度是指建筑工程特征值隸屬于準備建設的項目特征值的大小程度:

3 實例分析

選取2013年西安市某工程項目數據進行實例分析,工程造價指數以2013年為基準,通過加權平均法求解造價年綜合指數。通過選擇,最后選取了二十個樣本,前面十八個樣本為訓練樣本,剩余的兩個當作檢測樣本。神經網絡訓練數據見表1。

3.1 BP神經網絡訓練 采用BP神經網絡對模型進行構建,對建筑工程特征向量數據處理結束后,可以開展神經網絡訓練。神經網絡訓練基本的訓練公式為

net,tr=train(NET,P,T)

訓練公式中net為最終的網絡,tr為數值統計, P是輸入矩陣,T是輸出矩陣。

3.2 BP神經網絡與Vague集貼近度預測 采用Vague集貼近度的數據,基于BP神經網絡訓練樣本進行預測,通過訓練好的網絡對與本文樣本數據相類似工程項目的單方造價進行預估,求得單方造價均值為1800元/m2。緊接著可以對建筑工程的總造價進行預估,通過對10項樣本進行造價估算預測,采用BP神經網絡和Vague集貼近度相結合的方法進行造價預估,估計誤差在±10%范圍內(見表2),造價估算結果非常準確。

4 結論

本文應用BP神經網絡造價預測和Vague集貼近度理論,從理論和實際應用兩方面對建筑工程造價估算進行了研究。文中的方法能更準確地反應工程造價的不確定性,為建筑工程項目造價估算方法研究提供了一種新的視角和方法。

參考文獻:

[1]史峰.BP神經網絡在工程量清單中快速估價的應用研究[M].北京航空航天大學出版社,2010.4.

[2]張風文.基于MATLAB神經網絡的工程實例分析[J].華東交通大學學報,2010,8(3):26-33.

[3]郭一斌,王紅革,王翔.基于Vague集貼近度的工程項目投資快速估算方法[J].現代經濟信息,2011,12(2):50-55.

篇2

關鍵詞: BP神經網絡;價格預測;歸一化處理

期貨市場是一個不穩定的、非線性動態變化的復雜系統。市場上期貨合約價格的變動受金融、經濟、政治及投資者心理等眾多因素的影響,其過程具有非線性、混沌性、長期記憶性等特點。傳統的經濟模型大部分是線性模型,具有一定的局限性.而人工神經網絡則能很好地解決這個問題。

一、BP神經網絡原理與過程

BP神經網絡(反向傳播網絡Back Propagation)是一種多層前饋型神經網絡,其神經元的激活函數是sigmoid函數,一般為log sigmoid 函數和tan sigoid 函數,函數的圖形是S 型的,其值域是為0到1的連續區間。它是嚴格遞增函數,在線性和非線之間有著較好的平衡性。

1.數據歸一化處理

數據歸一化方法是神經網絡預測前對數據常做的一種處理方法。數據歸一化處理把所有數據都使其落在[0,1]或[-1,1]之間,其目的是取消各維數據間數量級差別。避免因為輸入輸出數據數量級差別較大而造成網絡預測誤差較大。數據歸一化的方法主要有以下兩種。

(1)平均數方差法,其公式如下:

2.BP神經網絡的學習過程

BP網絡的學習過程由信號的正向傳播和誤差的反向傳播兩個過程組成。其基本原理是:網絡先根據輸出層的誤差來調整輸出層和隱含層的權值和閾值,再將部分誤差分配置隱含層,然后根據誤差來調整隱含層和輸入層之間的權值和閾值,并不斷地重復上述過程,直到網絡的輸出與目標之間的誤差趨于最小,達到規定的要求。

一般地,BP網絡的學習算法描述為如下步驟。

(1)初始化網絡及學習參數,如設置網絡初始權矩陣,給出學習速率和神經元激活函數等。

(2)提供訓練模式,訓練網絡,直到滿足學習要求。

(3)前向傳播過程:對給定訓練模式輸入,計算網絡的輸出模式,并與期望模式比較,若有誤差,若執行步驟(4),否則,返回步驟(2)。

(4)反向傳播過程:計算同一層單元的誤差,修正權值和閾值,返回步驟(2)。

二、玉米期貨價格預測分析

美國是世界上玉米生產大國和消費大國,良好的現貨基礎為美國玉米期貨市場的發展提供了優越條件。其中,以CBOT為代表的美國玉米期貨市場同現貨市場有效接軌,不僅在美國內玉米生產流通領域發揮了重要作用,而且在世界玉米市場上也影響巨大。

發現價格作為期貨市場的基本功能之一,CBOT作為全球最大的玉米期貨交易市場,其玉米期貨價格的國際影響力是非常巨大的。目前,在國際玉米市場上,玉米貿易價格的形成和交易活動是以CBOT的玉米期貨價格為中心展開的,該價格是國際玉米貿易中簽約雙方需要考慮的最重要的依據之一。美國已經通過芝加哥玉米期貨市場取得國際玉米貿易的定價權,在國際玉米市場中發揮著主導作用,并且能夠對本國和其他國家玉米產業的發展產生深刻影響。

本文研究所采取的樣本來自WIND資訊金融終端,以2008年07月-2015年10月的CBOT的玉米期貨為研究對象。共計100組樣本數據,將其中92組數據作為訓練數據。8組作為分析樣本。本文從影響全球玉米的供需平衡的角度出發,從期初庫存、產量、進口、飼料消費、國內消費總計、出口、期末庫存、總供給、貿易量共九個因素進行分析研究,對玉米期貨的價格進行預測。利用MATLAB軟件訓練生成BP神經網絡并進行預測,將隱含層神經元設為20個,訓練次數為100次,訓練精度為0.00005。最后得到結果見表1。

從表1中可以看出,通過BP神經網絡計算得出的預測值與實際值絕對誤差相對較小,這說明通過BP神經網絡預測模型產生的預測結果的精確度較高。具有較強的實用性。但是由于玉米期貨除了受到供需因素的影響外,同時還受金融、經濟、政治及投資者心理等眾多因素的影響。所以本文的結果還帶有一定的局限性。若把上述因素考慮進去,其精確度可能進一步提高。

三、結語

本文采用BP神經網絡對美國玉米期貨的價格進行了研究。使用了多因素BP神經網絡預測模型,對玉米期貨的價格進行預測,得到了擬合度在較高的預測值。這說明BP神經網絡方法可以對玉米期貨價格走勢進行有效預測。通過預測,可以對投資者的投資行為進行指導,從而達到規避風險而獲取較好的經濟利益。

參考文獻:

篇3

關鍵詞:BP神經網絡; 模糊矩陣; 教學評價

中圖分類號:TP183 文獻標識碼:A文章編號:2095-2163(2013)06-0060-03

0引言

教師教學效果的審核評定是高校教學中的重要工作。傳統的考核方法或者只是由學生填寫調查表,給教師劃分等級,進行定性描述,或者是由督導組根據幾堂課的聽評給教師的課堂教學打出一個分值。無論是哪種方法都不能全面客觀地對教學工作做出科學評定。而且傳統的考核方法受主觀因素影響較大,學生在對教師的評判中常會加入多種因素,各種因素之間的影響也各不相同,僅以學生或僅憑督導團的評定來實施評判顯然已不盡合理。因此, 建立一種能盡量排除各種主觀因素的干擾,同時又具有完善且穩定的評價體系的評定方法則成為必要和重要的研究課題。

本文構建一種教學效果評價體系,即對教師的評價從“教學態度”、“教學內容”、“教授方法”、“課堂效果”四大方面分項進行,無論是學生還是督導組均可據此評價體系給出相應評分。本文提出使用BP反向傳播神經網絡來構建一個穩定的評分系統,各項評分指標為網絡輸入,使用已訓練完成的BP神經網絡來模擬一個專家的打分經驗,由此輸出一個終值。BP神經網絡通常是指基于誤差反向傳播算法的多層前向神經網絡,由于BP網絡的神經元采用的傳遞函數是Sigmoid型可微函數,因而可以實現輸入和輸出間的任意非線性映射[1]。由于BP神經網絡本身就是一種高度復雜的非線性動力系統的辨識模型,并且BP神經網絡具有逼近任意非線性函數的能力[2],因此使用BP神經網絡進行評價將使結果更具客觀性,以此來模擬一個穩定的評分系統亦將具備了現實實現基礎。在本文提出的系統中,系統將評價體系中各組評分的分值作為反向傳播神經網絡的輸入,使用BP網絡運算后得出一個綜合性的評分,即整個過程好似系統模擬一個經驗頗豐的專家進行打分。其后,本文又通過數據測試驗證了模型的評價結果與實際相符。

1BP神經網絡模型

BP(Back Propagation)神經網絡是基于誤差反向傳播的多層前向神經網絡,即權值和閾值的調節規則采用了誤差反向傳播算法,這是一個有導師的神經元網絡學習算法[2]。BP網絡能學習和存儲大量的輸入輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。該網絡的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。BP神經網絡模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。其中的隱層可擴展為多層。只要在隱層中有足夠數量的神經元,就可使用這種網絡來逼近任何一個函數[3]。一個典型的BP網絡結構如圖1所示。

2評價模型的構建

本文構建了一套評價體系,使用一套客觀標準進行量化表達,且該體系適用于大多數學校的教學評價。評價項目中,各項指標的取值范圍為[0,10]。多位專家將根據評價體系方案為每一位參評教師填表打分,經過匯總后,每一個教師的教學情況評分將和一個評價矩陣A對應。列向量x為各個項目指標,行向量e為各位專家評出的各項指標分值。對列向量進行均值計算,則得到各個教師的教學效果指標向量S。所得教學效果指標向量S即是神經網絡的輸入。評價體系方案設計如表1所示。

表1教師教學評價體系

Tab.1 The system of teaching evaluation類別項目教學態度嚴謹負責x0; 思想教育x1;教學內容教學目標x2; 準確度x3; 熟練程度x4; 信息量x5;教授方法啟發思維x6; 講授思路x7;重點難點x8;聯系實際x9;教學儀態x11;語言表述x12;媒體使用x14課堂效果課堂紀律x15;學生思維x16 圖2則為一個由6名專家給出的某位教師教學效果的評分矩陣。

3BP網絡模型的設計與實現

使用BP神經網絡可以構建穩定的評分系統。人為打分時由于主觀因素的影響,分值出入較大,往往不能準確地反映實際情況,為了避免對同一教師的教學評價出現較大反差,構建一個穩定的BP神經網絡系統即已成為實踐發展過程中的一個必然要求。在系統實現過程中,一位專家首先根據本文提出的評分系統給出各項成績,并將此成績作為神經網絡的輸入值。其后,這位專家再給出一個綜合評分,作為神經網絡的樣本,即輸出值,以此即可對BP網絡進行訓練。訓練后的神經網絡就可以模擬該專家的打分經驗,由此構建形成一個穩定的評分系統。

根據BP神經網絡模型的定理(Kolmogrov 定理):給定任一連續函數f:[0,1]nRn,f可以用一個三層前向神經網絡來模擬實現。第一層,即輸入層,有n個神經元;中間層,神經元個數可由經驗公式實驗得出;第三層,輸出層有m個神經元。因此一個三層結構的、設有Sigmoid神經元,并具有足夠隱節點的BP神經網絡則可以逼近任何一個連續函數。本系統采用有三層結構的BP神經網絡,其結構如圖1所示。由于評價體系中有17個指標,因此網絡的輸入層有17個輸入。系統的輸出層則確定為1個節點。隱層神經元個數將根據實驗結果而確定為11個。隱層傳遞函數可使用“lognsig”對數傳遞函數實現,輸出層傳遞函數使用“pureline”純線性傳遞函數實現。訓練函數則使用“traingdm”動量梯度下降反向傳播法對網絡進行訓練,另外,網絡性能函數使用了默認的“mse”均方誤差函數。MATLAB中的主要代碼如下:

設有10位教師需要評分,因而使用10組分數即17×10的矩陣作為10個教師的教學效果矩陣。教學效果矩陣即是神經網絡的輸入矩陣,亦是訓練樣本,矩陣的行向量為各項評價指標,10個樣本,即10位教師的最終評價結果則作為目標樣本來訓練神經網絡,獲取1×10矩陣為目標矩陣,即10位教師的最終得分。實驗中運用Matlab編程建立三層BP神經網絡,目標訓練誤差為0.1,最大訓練次數為 3 000次。訓練誤差隨訓練次數的變化情況如圖3所示,神經網絡經過909步迭代達到精度要求。對應輸出與目標的誤差如圖4所示。

訓練樣本的輸出與專家打分結果比較如表2所示。

由表2可以看出,訓練后的網絡輸出值與專家給出的終值之間的差異均在可接受的指標范圍內,因此采用BP神經網絡可以構建穩定的評分系統。

4結束語

在對教師教學效果的評價中存在著多種因素,本文構建了一套較為合理的評價體系,并且提出使用BP神經網絡對專家評分進行模擬,利用神經網絡可避免打分過程中出現的寬嚴不定的情況。實驗證明,BP神經網絡可以構建穩定的評分系統,并取得了良好的實驗效果。

參考文獻:

[1]許東. 吳錚. 基于Matlab 的系統分析與設計—神經網絡[M]. 西安:西安電子科技大學出版社,2003:18-19.

[2]胡守仁. 神經網絡導論[M] . 長沙:國防科技大學出版社,1993 :113 - 120.

[3]Martin T. Hagan, Howard B.demuth. 神經網絡設計[M]. 北京:機械工業出版社 ,2002:227-255.

[4]郭齊勝. 系統建模原理方法[M]. 長沙:國防科技大學出版社,2003:172-173.

[5]袁劍. BP神經網絡在學生綜合考評中的應用[J]. 福建電腦,2010(6).

篇4

【關鍵詞】時間序列預測;遲滯神經網絡;商品價格預測

1.前言

本文提出將電生物學中的遲滯特性引入傳統的神經網絡中,構建前向型遲滯神經網絡,以達到改善預測模型泛化能力和聯想記憶能力的目的。

之后將遲滯神經網絡模型應用到商品價格指數預測上,并得出更準確的預測效果。

商品零售價格指數是反映一定時期內城鄉商品零售價格變動趨勢和程度的相對數。商品零售價格指數的預測對企業的經營決策具有重要的參考價值。

2.前向型遲滯神經網絡模型

2.1 前向型遲滯神經網絡激勵函數

將遲滯神經元引入前向型神經網絡,同時使用兩個Sigmoid函數組成激勵函數如式所示:

其中,a、b作為Sigmoid函數的中心值,c1、c2表示函數圖形。在神經元中包含的值在未來若是增加的話,激勵函數取上升階段的函數;反之,激勵函數取下降階段的函數。未來的值不變時,神經元出現跳變,避免出現駐留狀態,從而提高學習效率。

2.2 前向型遲滯神經網絡

遲滯神經元模型可以表述成公式:

其中,x是時間t的輸出,I0表示二值神經元的輸入,y表示神經元的狀態,參數α表示自反饋的增益系數。將遲滯神經元應用在前向型神經網絡中,前向型神經網絡具有的特性在遲滯前向型神經網絡中也具有。遲滯神經網絡中a、b的值能提高神經網絡的聯想記憶能力和非線性性能。

激勵函數由兩個平移的Sigmoid函數組成,參數a和b是兩個Sigmoid函數的中心參數,參數c1和c2是形狀參數。上述激勵函數在(-∞, +∞)區間內構成了一個遲滯環,激勵函數的響應與歷史輸入有關,激勵函數對歷史狀態具有記憶特性。當神經元的輸入狀態由增加變為減小,或由減小變為增加時,激勵函數將在兩條分支曲線間跳變,權值調節率較大,由此抑制了假飽和現象的發生,易于網絡的訓練和泛化能力的提高。

采用上述激勵函數,構造與BP神經網絡相似的遲滯前向型神經網絡如圖1所示:網絡輸入層神經元數量為m,輸出層神經元數量為n,隱含層神經元數量為l,fi為遲滯函數,同時采用誤差反向傳播方法訓練網絡參數,進行時間序列預測分析。由此構造的神經網絡具有良好的記憶特性體現出良好的泛化能力。

圖1 遲滯前向型神經網絡結構圖

2.3 前向型遲滯神經網絡流程

前向型遲滯神經網絡采用誤差反向傳播算法,前向型遲滯神經網絡的計算過程流程圖如圖2所示:

圖2 前向型遲滯神經網絡流程圖

使用遲滯神經元組成的前向型遲滯神經網絡的計算流程將普通的激勵函數變成遲滯激勵函數,再進行計算、網絡訓練等,直到誤差達到要求。

3.遲滯神經網絡在商品價格指數預測的應用

商品零售價格指數是反映一定時期內城鄉商品零售價格變動趨勢和程度的相對數。商品零售價格指數的預測對企業的經營決策具有重要意義。

采用上述遲滯神經網絡對我國社會商品零售價格指數進行預測分析。令輸入層神經元為10,輸出層神經元為30,隱含層神經元為1。以1950年為基準折算獲得的定基數據,將《中國統計年鑒》中的社會商品零售價格指數作為實驗數據進行仿真實驗。在實驗過程中,將前30個數據作為訓練樣本進行訓練,達到指定次數后,預測下一個數據,并根據預測誤差重新進行訓練,達到指定次數后再預測下一個數據,以此類推所得實驗結果預測曲線如圖3所示:

圖3 我國商品零售價格指數預測結果

從實驗結果可見,遲滯神經網絡與傳統神經網絡對訓練樣本的逼近能力相差不多,對測試樣本的泛化能力差別較大,遲滯神經網絡具有更小的平均誤差。在時間序列變化較為平緩的區間,兩者預測誤差都較小,在序列變化激烈的區間,預測誤差變大。從總體效果來看,遲滯神經網絡由于具有更好的存儲記憶能力,更好的泛化能力和預測效果,能夠有效地實現對商品零售價格指數的預測分析。

參考文獻

[1]LI G C,WU T,XU S.Prediction model of population gross based on grey artificial neural network and its puter Engineering and Applications,2009,45(16):215-218.(李國成,吳濤,徐沈.灰色人工神經網絡人口總量預測模型及應用[J].計算機工程與應用,2009,45(16):215-218).

篇5

關鍵詞關鍵詞:MATLAB編程;數字識別;圖像處理;神經網絡

DOIDOI:10.11907/rjdk.162852

中圖分類號:TP319

文獻標識碼:A文章編號文章編號:16727800(2017)005004704

0引言

圖像識別是一項利用計算機對圖像進行處理、分析和理解,以識別各種不同模式目標和對象的技術[1]。圖像識別技術目前還不能達到人類的認知水平,但在特定應用環境中,可以通過模式識別或者神經網絡的方法來對圖像中的事物進行分類判斷。一般而言,一個數字字符識別系統主要由3個部分組成,如圖1所示。

圖1系統組成

其中,預處理模塊將圖片格式(例如JPG格式)轉換為計算機能識別的二進制數據流;圖像處理模塊則實現圖像采集與轉換、邊緣提取、歸一化等功能;字符識別模塊可以由兩種方法實現:模式識別或者神經網絡方式,本文系統采用神經網絡方式。

1識別目標及預期結果

此系統識別目標是在沒有強干擾下,系統能夠準確識別出圖片中的0~9這10個數字。示例圖片如圖2所示。

系統識別中所用到的含單個數字的圖片取自圖2,均為純色背景(不一定必須為白色背景)圖片,且圖片中數字圖像無較大噪聲干擾。系統經過一系列處理后,能成功識別,給出識別結果,并且給出處理過程中各個階段的圖片,以便更好地理解圖像處理過程。

2預處理

預處理是將圖片二值化的過程。預處理的目的簡單來說就是把彩色圖片處理為計算機更好處理的二進制數據流。預處理的過程主要分兩部分:彩色圖轉灰白圖,灰白圖轉二進制矩陣形式數據。

目前用于彩色圖轉換為灰度圖的基本算法主要有:最大值法、平均值法、加權法,本文采用加權法。加權法的主要思想是設當前像素的三分量分別為R,G,B,然后利用公式(1)得到轉換后的像素分量值:

GRAY=0.3*R+0.59*G+0.11*B(1)

在MATLAB中,函數img2gray就是采用加權法實現的。圖像二值化就是將圖像像素點的灰度值設置為0或255,也就是將整個圖像呈現出明顯的黑白效果。二值化的處理過程是將圖像中有意義的特征和需要應用的特征進行分割,利用前景和背景灰度特性的差異,低于閾值的像素設定為一個灰度值,高于閾值的像素設定為另一個灰度值。這樣可將前景色與背景色以明顯差異的灰度級區分開來[2]。閾值選取有手動選取和自適應選取兩種方法。MATLAB中圖像二值化的實現主要依靠im2bw函數來實現。圖像二值化過程中,最重要的是閾值變換。比如數組a=[120,254,0,200,99],設定一個閾值125,并對a進行閾值變換,那么a中凡是大于125的,則變為255,小于等于125的則變為0。具體對臨界情況處理可能不同,不過MATLAB中im2bw函數是按照上述方法處理的。a經過閾值變換后變為[0,255,0,255,0]。在MATLAB中使用im2bw函數進行圖像二值化處理時(將圖像轉換為二值圖像),人為設定閾值并不總是十分有效。MATLAB工具箱提供了graythresh函數[3]。該函數使用最大類間方差法得到一個閾值,利用這個閾值進行圖像二值化通常有效。

經過預處理后得到的二值化圖像,還要經過一系列圖像處理過程,才能用于神經網絡訓練。

3圖像處理

圖像處理的目的是將圖片變為神經網絡能處理的數據流。圖像處理流程如下:

(1)利用梯度銳化。使得圖像更加突出,以便分析。算法:當前點像素值與其下一個像素值之差的絕對值,加上當前點像素值與其下一行當前像素值之差的絕對值,如果結果大于閾值,則當前像素值置為此結果。

(2)去除離散噪聲。利用遞歸方法查找當前像素8個方向是否存在黑色像素,這里設置連續長度為15,如果用遞歸方法得到連續像素值大于15,則認為不是噪聲;相反,則認為是噪聲,則置為白色像素。

(3)字符傾斜度調整。盡量保存每個字符的位置一致。

(4)分割字符。找出每個字符的區域,用矩形記錄,記錄每個字符矩形數據。

(5)字符歸一化。根據圖像預處理準備階段設置的歸一化標準,把每個字符的區域進行歸一化,使得所有字符區域矩形一樣大,只是位置不一樣。

(6)字符緊密排列。把所有字符緊密排列,以備識別使用。

本文示例樣本圖片中只有單個數字,且無較大干擾,所以不需要去除離散噪聲、字符傾斜度調整、分割字符和字符緊密排列等步驟。經過預處理的圖像數據,只需要進行銳化和歸一化處理,就可以用于神經網絡訓練。

圖像梯度銳化的目的是使原來的模糊圖像變得清晰。MATLAB中使用的梯度函數為gradient函數。Gradient(F)函數求的是數值上的梯度,計算規則:[Fx,Fy]=gradient(F),其中Fx為其水平方向上的梯度,Fy為其垂直方向上的梯度,Fx的第一列元素為原矩陣第二列與第一列元素之差,Fx的第二列元素為原矩陣第三列與第一列元素之差除以2,以此類推,如公式(2)。

最后一列則為最后兩列之差。同理,可以得到Fy。

歸一化就是把需要處理的數據經過處理后(通過某種算法)限制在要求范圍內。對于圖像處理中的w一化而言,就是將所有數字圖像中的字符歸化成為一個具有同一高度、同一寬度的圖像,也即讓其中的字符具有同樣規格。MATLAB中用于實現圖像矩陣歸一化功能的函數是mat2gray函數[5]。該函數在數字圖像處理中經常用到,歸一化的具體流程如圖4所示。

經過歸一化處理之后的圖片數據,將其存儲在一個矩陣中,用于神經網絡的訓練。

4神經網絡訓練

人工神經網絡算法主要有兩種:一種是先對待識別字符進行特征提取,然后用所獲得的特征來訓練神經網絡分類器[6];另一種方法是直接把待處理圖像輸入網絡,由網絡自動實現特征提取直至識別出結果。前一種方法識別結果與特征提取有關,而特征提取比較耗時。因此,特征提取是關鍵。后一種方法無需特征提取和模板匹配,隨著相關技術的進步,這種方法更實用。

神經網絡有許多種,在MATLAB中已經有集成神經網絡工具箱。本文系統中,對數字圖像的識別采用BP神經網絡來進行訓練。BP神經網絡為前饋神經網絡,網絡的學習狀態為有導師學習狀態。它是一種具有學習能力和記憶能力的神經網絡,主要由輸入層、中間層、輸出層3個部分組成。輸入層、中間層和輸出層可以具有不同數量的節點,具體數量隨需求而定,沒有具體的標準。單層神經網絡結構如圖6所示。

BP神經網絡是誤差反傳誤差反向傳播算法的學習過程,由誤差的反向傳播和信息的正向傳播兩個過程組成[7]。輸入層各神經元首先接收來自外界的輸入信息,然后傳遞給中間層各神經元;輸入信息經過中間層內部信息處理,實現信息變換,按照信息變化能力需要,中間層可以布局成多隱層或者單隱層結構;最后,一個隱層傳遞把信息傳遞給輸出層,通過進一步處理,實現一次學習的正向傳播處理過程,輸出層把信息處理結果輸向外界。當輸出結果和預先期望效果不符時,就進行誤差反向傳播。誤差通過輸出層,根據誤差梯度下降的方式改變各層權值,由隱層向輸入層依次反傳。多次交替的信息正向傳播和誤差反向傳播過程,是各層連續修正的過程,也是神經網絡學習訓練的過程,這個步驟一直執行到最終輸出的誤差降低到能夠接受的范圍,或者預先輸入的學習次數為止。

此系統中所使用的神經網絡在中間層設置25個節點,1個輸出節點。此系統采用三層神經網絡來實現。采用s型對數函數logsig作為隱含層各神經元的傳遞函數,并采用純線性函數purelin作為輸出層各神經元的傳遞函數。此神經網絡的訓練函數采用traingdx,學習模式函數為learngdm。訓練步數最長設為5 000,性能目標設為0.001。

神經網絡模塊的部分代碼如下:

net=newff(pr,[25 1],{'logsig' 'purelin'},'traingdx','learngdm');

net.trainParam.epochs=5000;

net.trainParam.goal=0.001;

pr為前面圖像處理所獲得的矩陣數據。

神經網絡的訓練結果如圖7所示。神經網絡的性能曲線如圖8所示。

5用艚換

考慮到該系統具有一定交互功能,讓用戶能自主選擇需要識別的圖片,向系統中添加如下代碼段:

test=input('請輸入用于測試的圖片編號:','s');

x=imread(test,'jpg');

開始運行時,會提醒用戶選擇需要識別的圖片編號,效果如圖9所示。

用戶輸入需要識別的圖片序號后,系統給出識別結果和圖像處理各階段中的圖片,此處用subplot函數來實現一個窗口中顯示多張圖片的效果,部分代碼如下:

6結語

通過樣本識別驗證,本文數字識別系統具有一定識別精度。本系統基本做到樣本圖片的100%識別,對于其它只有單數字的圖片,經過訓練之后,也能準確識別。本系統實現了部分人機交互功能,能讓用戶自主選擇需要識別的圖片,并輸出識別結果和各個處理過程中的圖片。

參考文獻參考文獻:

[1]岡薩雷斯.數字圖像處理(MATLAB版)[M].阮秋琦,譯.北京:電子工業出版社,2006.

[2]梁路宏,艾海舟,徐光佑,人臉檢測研究綜述[J].計算機學報,2002,25(5):449458.

[3]羅華飛.MATLAB GUI設計學習手記[M].北京:北京航空航天大學出版社,2009.

[4]聶影.MATLAB軟件應用研究[J].軟件導刊,2014,13(7):102104.

[5]趙春蘭.《MATLAB軟件應用》課程教學淺析[J].科技創新導報,2015(22):178179.

篇6

股票市場是一個非線性的系統,本文基于BP神經網絡,以1998年~2008年的上證股市大盤增幅數據作為訓練,對以后的一年多數據進行驗證,以證實神經網絡對股市的預測。

[關鍵詞]BP神經網絡股票市場預測驗證

一、 神經網絡概述

人工神經網絡是由大量處理單元廣泛互聯而成的網絡,是對人腦的抽象、簡化和模擬,反映人腦的基本特性,它與人腦的相似之處概括為兩個方面:一是通過學習過程利用神經網絡從外部環境中獲取知識;二是內部神經元(突觸權值)用來存儲獲取的知識信息。

一般的神經網絡都是可調節的,或者說可訓練的,這樣一個特定的輸入便可得到要求的輸出。如圖1.1所示:

圖1.1 輸入/目標對應的方法圖

1.人工神經元

人工神經元是生物神經元的模擬與抽象,是構成人工神經網絡的基本單元,因此構造一個人工神經網絡系統,首先要構造人工神經元模型。一個具有n個輸入分量的單個神經元模型如圖所示:

圖1.2 單 個 人 工 神 經 元 模 型

人工神經元的三個基本要素:

(1)一組連接,連接強度由各連接上的權值表示,權值為正表示激活,為負表示抑制。

(2)一個求和單元,用于求取各輸入信號的加權和。

(3)一個非線性激活函數,起非線性映射作用并將神經元輸出幅度限制在一定范圍內(一般限制在[0, 1或[-1, +1]之間)。

此外還有一個偏差,即與閾值θ

人工神經元相當于一個多輸入單輸出的非線性閾值器件。這里 的表示它的n個輸入,表示與它相連的n個突觸的連接強度,對應于生物神經細胞的膜電位;o表示這個人工神經元的輸出;θ表示這個人工神經元的閾值.如果輸入信號的加權和超過θ,則人工神經元被激活。這樣,人工神經元的輸出可描述為,式中,表示神經元的輸入輸出關系的函數稱為激活函數或輸出函數。

人工信息元的信息處理過程分為三個部分,首先完成輸入信號與神經元連接強度的內積運算,然后再將結果通過激活函數,再經過閾值的判斷,如果輸入值大于閾值門限,則神經元被激活,否則處于抑制狀態。

2.人工神經網絡模型

人工神經網絡是由大量的神經元按照一定的模式(層內連接、循環連接和層間連接)相互連接而成的。按一定規則將神經元連接而成神經網絡,才能實現對復雜信息的處理與存儲。經過幾十年的興衰,人們己經發展了上百種人工神經網絡,但大部分網絡都是幾種典型網絡的變形和組合。一般地說,人工神經網絡的連接形式和拓撲結構可分為兩大類:即分層型和互聯型神經網絡。分層型神經網絡又分為簡單的前饋網絡、反饋型前饋網絡、和內層互聯前饋網絡。

二、 BP網絡理論

1.BP網絡概述

目前,在眾多神經網絡中,誤差反向傳播(Error Back Propagation)網絡由于其良好的逼近能力和成熟的訓練方法而得到了最為廣泛的應用。BP網絡由Rumelhat等人于1985年建立,它是一種多層前饋神經網絡,由一個輸入層、一個輸出層和若干個隱含層所組成。位于同一層的單元之間不允許有連接,各層的單元只能向高層的單元輸出激活信號。BP算法是用于前饋多層網絡的學習算法,前饋多層網絡的結構一般如圖2.1所示

BP網絡含有輸入層、輸出層以及處于輸入輸出層之間的中間層。中間層有單層或多層,由于它們和外界沒有直接的聯系,故也稱為隱層。在隱層中的神經元也稱隱單元。隱層雖然和外界不連接.但是,它們的狀態則影響輸入輸出之間的關系。這也是說,改變隱層的權系數,可以改變整個多層神經網絡的性能。

2. BP網絡的學習過程

BP網絡采用有教師的學習規則,其算法的核心是通過一邊向后傳播誤差,一邊修正誤差的方法來不斷調節網絡參數(權、閥值),以實現或逼近所希望的輸入、輸出映射關系。它對每一個學習過程進行兩趟傳播計算

(1)工作信號正向傳播

輸入信號從輸入層經隱含層,在輸出端產生輸出信號。在信號的向前傳遞過程中網絡的權值保持不變,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入誤差信號的反向傳播。

(2)誤差信號反向傳播

網絡的實際輸出與期望輸出之間差值即為誤差信號,誤差信號由輸出端逐層向前傳播。在誤差信號反向傳播的過程中,網絡的權值由誤差反饋進行調解。通過權值的不斷修正使網絡的實際輸出更接近期望輸出。

3.BP算法的改進

在實際應用中,傳統的基于標準梯度下降法的BP算法在求解實際問題時很難勝任。為此,人們在標準BP算法的基礎上進行了許多有益的改進,主要目標是為了加快訓練速度,避免陷入局部極小值和改善其能力。改進后的BP網絡的訓練收斂速度比標準梯度下降法快數十倍乃至數百倍。

BP算法的改進分為兩類,一類是基于標準梯度下降法的算法改進,如動量、自適應學習速率法、彈性BP法等;另一類是基于數值優化方法的改進,如共軛梯度法、擬牛頓法、LM算法等。這里介紹最常用的兩種方法:動量法、自適應學習速率法。

(1)附加動量的BP算法

標準BP算法的權值調節公式為,式中,為本次權值校正量,k為訓練次數,為學習速率,為節點誤差,為該節點相應的輸入值。

附加動量法每一次對連接權或輸出閾值進行校正時,按一定比例加上前一次學習時的校正量,即動量項,由此加速網絡學習的收斂速度。具體做法是,上式中,mc為動量因子(0

該方法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比前次權值變化量的值,并根據反向傳播法來產生新的權值變化。

附加動量法的實質是將最后一次權值的影響,通過一個動量因子來傳遞。當動量因子取值為零時,權值的變化僅是根據梯度下降法產生;當動量因子取值為1時,新的權值變化則是設置為最后一次權值的變化,而依梯度法產生的變化部分則被忽略掉了。以此方式,當增加了動量后,促使權值的調節向著誤差曲面底部的平均方向變化,當網絡權值進入誤差曲面底部的平坦區時,將變得很小,于是,從而防止了的出現,有助于使網絡從誤差曲面的局部極小值中跳出。

根據附加動量法的設計原理,當修正的權值在誤差中導致太大的增長結果是,新的權值應被取消而不被采用,并使動量作用停止下來,以使網絡不進入較大誤差曲面;當新的誤差變化率對其舊值超過一個事先設定的最大誤差變化率時,也得取消所計算的權值變化。其最大誤差變化率可以是任何大于或等于1的值。典型的值取1.04。所以在進行附加動量法的訓練程序設計時,必須加進條件判斷。

訓練程序中對采用動量法的判斷條件為:

式中,k為訓練次數,SSE為網絡誤差平方和。

附加動量的引入可使網絡在修正其權值時,不僅考慮局部的梯度信息,而且考慮誤差曲面最近的變化趨勢,其作用如同一個低通濾波器,它允許網絡忽略網絡上的微小變化特性。在沒有附加動量的作用下,網絡可能陷入淺的局部極小值,利用附加動量的作用則有可能滑過這些極小值 。

(2)自適應學習率調整的BP算法

在標準BP算法的權值調節公式中, 是步長,表示學習速率,在訓練過程中始終保持不變。對于一個特定的問題,要選擇適當的學習速率不是一件容易的事情。通常是憑經驗或實驗獲取,但即使這樣,對訓練開始初期功效較好的學習速率,不見得對后來的訓練合適。為了解決這一問題,人們希望在訓練過程中,自動調整學習速率。通常調節學習速率的準則是:檢查權值的修正值是否真正降低了誤差函數,如果確實如此 ,則說明所選取的學習速率可能小了,可以對其增加一個適當的量,若不是這樣,而產生了過調,那么就應該減小學習速率的值。

自適應學習率調整的基本思想是:在保持訓練穩定的前提下,使每次用于修正權值的迭代步長盡可能大。較大時,權值的修改量較大,學習的速率就比較快,但有時可能產生振蕩,即誤差 總不能小于某個特別小的值。而當取較小值時,學習的速率就較慢,但一般比較平穩,將使計算量變得很大。自適應學習率調整這一策略在誤差增加不太大的范圍內,能提高學習速率,在局部區域內獲得有一個近最優的學習速率,從而得到比標準BP算法更快的收斂速度。

下式給出了一種自適應學習速率的調整公式

式中,k為訓練次數,SSE為網絡誤差平方和。

初始學習速率的選取范圍可以有很大的隨意性。

與采用附加動量時的判斷條件相仿,當新誤差超過舊誤差一定的倍數時,學習速率將減小,否則其學習速率保持不變;當新誤差小于舊誤差時,學習速率將被增加。此方法可以保證網絡總是可以以最大可接受的學習速率進行訓練。當一個較大的學習速率仍能夠使用網絡穩定學習,使其誤差繼續下降,則增加學習速率,使其以更大的學習速率進行學習。一旦學習速率調得過大,而不能保證誤差繼續減少,則減少學習速率直到使其學習過程穩定為止。

4.提高網絡的推廣能力

推廣能力(Generalization)是衡量神經網絡性能好壞的重要標志。所謂推廣能力,就是指神經網絡對訓練樣本以外的新樣本數據的正確反映能力。一個“過度訓練”(overtraining)的神經網絡可能會對訓練樣本集達到較高的匹配效果,但對于一個新的輸入樣本矢量卻可能會產生與目標矢量差別較大的輸出,即神經網絡不具有或具有較差的推廣能力。

網絡設計完成后,要運用樣本集進行訓練。對推廣能力的測試不能用訓練集的數據進行,而要用訓練集以外的測試數據來進行檢測。一般的做法是,將訓練集的可用樣本隨機的分成兩部份;一部分作為訓練集,一部分作為測試集。隱層 結點數一定的情況下,為了獲得好的推廣能力存在一個最佳訓練次數。

三、 基于BP神經網絡的股市驗證

我們選取上證股市大盤在1998年3月10號到2009年12月2號間的大盤每日漲幅數據作為訓練樣本和預測樣本,訓練樣本區間選擇1998年3月10日-2008年5月21號,共2466個大盤每日漲幅。預測樣本為2008年5月22號-2009年12月2號的大盤每日漲幅,共375個數據。

為了加快網絡的收斂性,我們對收益率數據進行歸一化處理,采用MATLAB的premnmx函數,將收益率數據變成的取值為(-1,1)之間的數據。網絡訓練和仿真完成后再采用MATLAB的postmnmx函數將數據反歸一化變成實際需要的收益率數據。

1.網絡結構設計

神經網絡結構設計主要需要確定輸入輸出的節點數、網絡層數、隱層節點數等。由于上證綜指收益率數據具有混沌特性,根據 《證綜指日收益率的混沌特性》這個論文得相空

其中取時間延遲τ=25,嵌入維數m=12。網絡的輸入節點數取嵌入維數12,將作為輸入。網絡的輸出節點數取1,目標輸出

為。

網絡層數:1989年Robert Hecht-Nielson證明了對于任何在閉區間內的一個連續函數都可以用一個隱層的BP網絡來逼近,因而一個三層的BP網絡可以完成任意的N維到M維的映射。基于以上定理我們一般選取一個隱層的BP網絡就可以了。增加層數主要可以更進一步的降低誤差,提高精度,但同時也使網絡復雜化,從而增加了網絡權值的訓練時間。而誤差精度的提高實際上也可以通過增加隱層中的神經元數目來獲得,其訓練效果也比增加層數更容易觀察和調整。

隱層神經元的選取:隱層神經元的作用是從樣本中提取并存儲其內在規律,每個神經元有若干個權值,而每個權值都是增強網絡映射能力的一個參數。網絡訓練精度的提高,可以通過采用一個隱層,而增加其神經元數的方法來獲得。這在結構實現上,要比增加更多的隱層要簡單的多。

那么究竟選取多少個隱層節點才合適?神經元數量太少,網絡從樣本中獲取信息的能力就差,不足以概括和體現樣本規律;神經元數量過多,又可能把樣本中非規律性的內容,如噪聲等也學會記牢,從而出現所謂“過度吻合”問題。因此,如何確定一個適當的神經元個數是我們要著重考慮的問題。Gorman曾認為隱點數s與模式數N的關系為s=log2N,但大多數情況并非如此,網絡修剪與增長方法都是根據網絡收斂性能的好壞來決定隱點節數的增減,不僅具有很大的盲目性,而且是很費時間的過程。江蘇理工大學信息科學研究所的高大啟教授在他的論文《有教師的線性基本函數前向三層神經網絡結構研究》中給出了三層網絡的隱點數經驗公式,其中,s為隱點數,m為輸入節點數,n為輸出節點數。在實際應用,由這個公式確定的隱點數效果較好。本文中m=12,n=1,求出隱層節點數s=7。

網絡激活函數的選取:由于歸一化后的數據的取值范圍在(-1,1)之間,所以本文采用雙曲正切S型函數

網絡的訓練方法:采用將附加動量法和自適應學習率法結合起來使用的改進的BP算法。

2.網絡訓練與仿真

本文運用MATLAB程序對上文設計好的神經網絡進行訓練,訓練樣本區間選擇1998年3月10日-2008年5月21號,共2466個大盤每日漲幅,如圖1.10。

將訓練好的神經網絡模型用于仿真2008年5月22號-2009年12月2號的大盤每日漲幅,共375個數據。得到的預測值與真實值見附錄,圖形見圖1.11。

圖3.2 神經網絡預測值與真實值圖

四、 總結和展望

目前,非線性經濟學在資本市場定價方面的研究仍在不斷發展中,研究熱點主要集中在兩個方面:一是對股票價格是否存在非線性甚至是混沌的診斷研究;二是試圖建立非線性模型來研究股票價格定價及其變動。迄今為止。資本市場上存在非線性的現象得到較廣泛的實證支持。但是否存在混沌,還存在較多的疑問,并沒有得到最終的定論。但無論如何。非線性經濟學對傳統經濟學基礎的挑戰是不容忽視的,它為資本市場定價的研究開辟了一個新的視野,使資本市場的定價行為的研究更接近這種行為本身的真實狀況。因此,它在很大程度上預示著資本市場定價理論的未來發展的一個方向。

參考文獻:

[1]陳其安,楊秀苔:中國股市的收益分布特征[J]. 統計與決策. 2005,04: 110-112

[2]杜修立:漲跌幅限制對中國股市結構及有效性的經驗分析[J]. 財經問題研究. 2006,12:54-58

[3]楊再斌:我國證券市場股價運動非線性特征檢驗[J]. 上海立信會計學院學報. 2006,7:78-83

[4]葛哲學孫志強:神經網絡理論與matlab2007實現[M]. 電子工業出版社. 2008年5月

[5]黃詒榮:中國股市分形結構:理論與實證[M].中山大學出版社. 2006.3月

篇7

關鍵詞:人工神經元網絡;BP神經網絡;matlab;識別分類

中圖分類號:TP391.41文獻標識碼:A文章編號:1007-9599 (2010) 16-0000-02

Artificial Neural Network Application on Face Classification

Liang Xiaoli

(Heilongjiang Radio&TV University,Harbin150080,China)

Abstract:In the face recognition technology is developing continuously,people not limited to recognize the human face,but the main emphasis on the accuracy and efficiency of face recognition.

Face recognition is divided into three steps,face detection,feature extraction,recognition category,identification and classification of the methods in which the decision of whether to correctly identify the human face.BP neural network with forward propagation and back propagation characteristics,so as to ensure the accuracy of classif-

ication,Therefore,the main author of this article how to MATLAB,the BP neural network used in face recognition classification.

Keywords:Artificial neural network;BP neural network;Matlab;

Recognition category

人工神經元網絡,又稱為神經元網絡,它是對人腦的簡化、抽象和模擬,反映了人腦的基本特性神經元網絡是由大量處理單元廣泛互連而成的網絡。神經網絡研究的是模擬人腦信息處理的功能,從人腦的生理結構出發來研究人的智能行為。是依托于數學、神經科學、物理學、計算機科學及工程等學科的一種綜合性技術。

一、人工神經網絡的分類

我們可以對人工神經網絡進行如下分類:

(一)單層的前向神經網絡

這里所說的單層前向網絡是指擁有單層的神經元是,作為源節點個數的“輸入層”被看作是一層神經元,“輸入層”是不具有計算功能。

(二)多層的前向神經網絡

多層前向神經網絡與單層前向神經網絡的差別在于:多層的前向神經網絡和單層前向神經網絡的隱含層個數不同,在多層的前向神經網絡中完成計算功能的節點被稱為隱含單元(隱含神經元)。由于隱層的數量不同,使網絡能進行更高序的統計,尤其當輸入層規模龐大時,隱層神經元提取高序統計數據的能力便顯得非常重要。

(三)反饋網絡

反饋網絡指在網絡中最少含有一個反饋回路的神經網絡。反饋網絡中包含一個單層神經元,在這一層中的所有的神經元將自身的輸出信號反饋給其他所有神經元作為輸入。

(四)隨機神經網絡

隨機神經網絡是在神經網絡中引入了隨機概念,每個神經元都是按照概率的原理在工作,這樣每個神經元興奮或抑制具有隨機性,其概率取決于神經元的輸入值。

(五)競爭神經網絡

競爭神經網絡最顯著的特點是它的輸出神經元之間相互競爭以確定勝出者,勝出者指出哪一種原型模式最能代表輸入模式。

二、神經網絡的學習

神經網絡的學習又被稱為訓練,所指的是通過神經網絡所在外界環境的刺激下調整神經網絡的參數,使得神經網絡以一種調整好的方式對外部環境做出反應的過程。從環境中學習和在學習中提高自身性能是神經網絡最有意義的特征了。

學習方式可分為:有師學習和無師學習。有師學習又稱為有監督學習,在學習時需要給出指導信號(又可稱為期望輸出或者響應)。神經網絡對外部環境是未知的,但可以將指導信號看作對外部環境的了解,由輸入―輸出樣本集合來表示。指導信號或期望輸出代表了神經網絡執行情況的最佳結果,即對于網絡輸入調整網絡參數,使得網絡輸出逼近期望的輸出值。無師學習包括強化學習與無監督學習(可以被稱為自組織學習)。在強化學習中,對輸出的學習是通過與外界環境的連續作用最小化完成的。

三、BP神經網絡

BP(Back Propagation)神經網絡,就是指包含信息正向傳播和誤差反向傳播算法的學習過程。輸入層的每一個神經元負責接收來自外界的輸入信息,并傳遞給中間層中的每一個神經元;中間層的各個神經元是內部信息處理層,負責信息變換,可以設計為單隱層或者多隱層結構;最后隱含層傳遞到輸出層的信息,經進一步處理后,完成一次學習的正向傳播處理過程,由輸出層向外界輸出信息處理結果。當實際輸出與期望輸出不相符時,進入誤差的反向傳播階段。誤差通過輸出層作用于輸入層,按誤差梯度下降的方式分別修正各層權值,逐漸向隱含層和輸入層反傳。多次的經過信息正向傳播和誤差反向傳播過程,是各層權值不斷調整的過程,也就是神經網絡學習訓練的過程,此過程一直進行到網絡的輸出誤差減少到可以被接受的程度,或者達到預先設定的學習次數才會停止。

四、實驗過程及結果

本文中假設已經用奇異值分解得到人臉特征點的數據,每個人臉劃分為五部分,每部分又得到5個特征值,所以也就是25個的特征值。本文采集了50個人人臉,每人采集10張不同姿態下的照片,也就是500張照片,對這些照片進行人臉檢測并進行奇異值分解,得到每張照片對應的25個特征值,從每人10張照片中隨機抽出5張用于訓練出不同的姿態下的人臉,另外的5張用作測試樣本。

(一)實驗過程

由于數據過長,本文只以2個人,每人2張照片作為的訓練樣本數據為例來說明。

第一步:訓練樣本(每人25個特征值),在p是一個25行,4列的矩陣,每一列代表一個人的25個特征值,屬于一個樣本;列數4表示樣本總數;

p=[ 7.4264 9.0728 7.9825 9.5632;

7.5719 7.8115 6.5564 7.8561;

12.8074 12.7073 12.4536 11.5423;

9.0284 10.3744 8.7569 9.9965;

7.0083 9.0284 7.1254 8.8876;

1.2597 2.1578 1.3556 3.0112;

0.6896 0.7835 0.7859 0.9658;

0.7814 0.8818 0.7568 0.8213;

1.0248 1.6783 1.1542 1.5234;

1.0112 1.0248 0.9568 0.9652;

1.0427 1.0813 1.0425 0.9568;

0.5970 0.5886 0.5968 0.5889;

0.4928 0.5969 0.3569 0.6012;

0.6438 0.6417 0.6589 0.5612;

0.3563 0.6438 0.2534 0.6689;

0.4474 0.4235 0.4568 0.4236;

0.2483 0.2282 0.2253 0.2259;

0.3633 0.4616 0.3102 0.4556;

0.3383 0.4167 0.3561 0.3456;

0.3130 0.3383 0.3302 0.3359;

0.3378 0.3313 0.3219 0.3569;

0.1916 0.1767 0.1564 0.1952;

0.2356 0.3422 0.2355 0.3012;

0.2088 0.3268 0.1958 0.3568;

0.1858 0.2088 0.0956 0.1968;];

第二步:目標輸出矩陣

因為就兩個人,所以采用一位二進制編碼就可以,在這里定義第一類樣本的編碼為0;第二類樣本的輸出編碼為1。

t=[0 1 0 1];

第三步:使用MATLAB建立網絡結構

net1=newff(minmax(p),[25,9,1],{'tansig','tansig','hardlim'},'traingdm');

說明:[25,10,1]表示該網絡的輸入結點為25個值,輸出結果為1為二進制編碼的值,中間層由經驗公式 (rnd為0-1之間的隨機數),所以本文選取5-15之間數分別作為隱含層的神經元個數,得出的結論是9的收斂速度最快。

第四步:對網絡進行訓練

[net1,tr]=train(net1,p,t);

第五步:保存網絡

save aa net1

則文件會以aa.mat的格式保存,保存了訓練好的網絡以及權值。

第六步:輸入測試樣本

先加載上一步中保存好的網絡,本實驗中只輸入一個測試樣本,下面的數據代表測試樣本的特征值,共25個。

load aa.mat

p1=[7.8115;0.7835;0.5886;0.2282;0.1767;1.0197;0.7896;0.6814;1.1238;1.1114;0.9427;0.5970;0.4569;0.5438;0.4563;0.1983;0.4632;0.3383;0.3130;0.4377;0.1817;0.2256;0.2088;0.2854;0.2812];

第六步:網絡仿真

a=hardlim(sim(net1,p1)-0.5)

(二)實驗結果

根據上述實驗過程,得出的結果是:

下圖是執行了10次中的一次算法模擬情況。

Elapsed time is 0.469seconds

網絡仿真的輸出結果是:a=0

本文中測試的數據來源于訓練樣本中輸出為0的樣本,識別結果正確。換了10個測試樣本,其中識別正確的是6個,也就是正確率大約在60%。

然后,采用相同的辦法,在實驗中把訓練樣本由每人兩個不同姿態下的樣本增加到了3個,也就是輸入向量的p由4列增加到6列,其他的均不變,網絡的訓練時間為0.471 seconds。還是使用上面的10個測試樣本,其中識別正確的達到了8個,正確率提高到了80%左右。

在樣本量擴大到250時,這些樣本是來自于,50個人,每人拍攝10張不同姿態下的照片,也就是500張,然后從其中隨機的取出每個人對應的5張照片作為訓練樣本,然后再把從剩余的250張作為測試樣本,進行測試。輸入結點數為250,每個結點對應的特征向量為25;輸出值用二進制的編碼表示,由于后面要實現的人臉識別系統中要應用在一個只有50人的環境下,所以采用二進制編碼6位就夠了,但是為了系統的可擴展性,所以采用7位二進制編碼來設計輸出結點的值,bp網絡就是25維輸出7維輸出。此時測試的250個數據中只有一組數據是錯誤的,原因是照片中的人嘴和鼻子被口罩遮住了。

樣本量增加后網絡訓練到一個樣本測試仿真所有的時間是1.936seconds。

五、小結

本文介紹了基于BP神經網絡的人臉識別分類方法,先用matlab設計了一個模擬程序,然后不斷的增加訓練樣本中同一人樣本的樣本數,訓練后用10個人分別測試兩個網絡的正確率,當同一人的樣本數增加到3時,正確率由60%提高到了80%。可以證明網絡訓練樣本的增加有利于提高識別的正確率。把在上一章中采集到的50個人所對應的500張照片作為標準樣本庫,從中隨機取出250張作為訓練樣本,然后設定輸出值,輸出的值應該有50類,采用二進制的編碼構成,然后再實用剩余的250張照片作為測試樣本,進行測試。

篇8

關鍵詞:參考作物騰發量 Elman神經網絡

1 前言

目前,中國人均水資源占有量不足世界人均水平的四分之一,耕地平均每公頃水資源占有量也僅為世界平均水平的四分之五。農業用水占到我國總用水量的約70%,農業用水浪費現象普遍存在,21世紀中國農業水資源供需矛盾將更加突出。因此以提高農業用水效率為目的節水高效農業對于緩解水資源緊缺的現狀、實現水資源可持續利用和農業的可持續發展都有著極為重要的意義。

參考作物騰發量是估算作物蒸發蒸騰量的關鍵參數,它的準確性直接影響著作物需水預報的精度,進而影響到區域水資源的優化配置。而作物蒸發蒸騰量是農業方面最主要的水分消耗部分,是確定作物灌溉制度和地區灌溉水量的基礎,是制定流域規劃、地區水利規劃,灌溉工程規劃、設計、管理和農田排灌實施的依據。因此參考作物騰發量的預測顯得尤為重要,它對正確估算作物蒸發蒸騰量,提高農業用水效率,發展節水農業有著十分重要的意義。

2 國內外研究現狀

2.1 ET0的估算方法的研究

參考作物騰發量(ET0)的概念由彭曼于1948年首先提出。1979年FAO(聯合國糧農組織)對其進行了定義。1990年聯合國糧農組織在意大利羅馬召開的作物需水量計算方法專題研討會上,推薦使用penman-monteith公式計算參考作物蒸散量。1998年FAO推薦penman-monteith公式作為計算參考作物騰發量的唯一標準方法。

參考作物騰發量的估算方法大致可劃分為蒸滲儀測定、蒸發皿估測以及利用氣象觀測數據通過公式計算等三種途徑。利用氣象數據通過公式計算參考作物騰發量的方法又可歸納為經驗公式和理論方法兩類。經驗公式中常采用輻射、溫度、水汽壓、相對濕度、風速及日照時數等氣象觀測數據作參數,按照某種與參考作物騰發量的經驗函數關系進行估算。如Blaney-Criddle(1950),Ture(1961),FAO-24Radiation(1977),Hargreaves(1985),理論公式法主要有penman法和penman-montieth方法等。penman-montieth方法是目前世界范圍內廣泛采用的計算參考作物騰發量的方法。國內在參考作物騰發量估算方面的研究多是基于國外的計算公式進行地區性修正或應用比較,penman-montieth方法是國內計算參考作物騰發量普遍采用的方法。

2.2 ET0預測方法的研究

通常ET0的預測有神經網絡、隨機過程、時間序列、灰色系統,以及多元線性、非線性回歸等方法。多學科的交叉是現代數據分析發展的重要方向,模糊邏輯、神經網絡、粗集理論、遺傳算法以及支持向量機都是目前常用的融合協作算法,探討它們之間的相互結合可以取長補短,對改進或提高系統整體性能,具有非常重要的實際意義,近幾年國內外對此方面的研究逐漸深入。本文嘗試將動態神經網絡方法應用在參考作物需水量預測上,并取得了理想效果。

3 Elman神經網絡預測方法

3.1 Elman神經網絡簡介

Elman神經網絡是Elman于1990年提出的,是一種動態神經網絡。此網絡是在BP網絡基本結構的基礎上,通過存儲內部狀態使其具備映射動態特性的功能,從而使系統具有適應時變特性的能力。

Elman網絡模型除了普通的輸入層、隱含層和輸出層外,還有一個特別的承接層,其網絡結構如圖1所示。其輸入層、隱含層和輸出層的連接類似于前饋網絡,輸入層單元僅起信號傳輸作用;輸出層單元起線性加權的作用;隱含層單元的傳遞函數可以采用線性或非線性函數;而承接層單元用來記憶隱含層單元前一時刻的輸出值,可認為是一步時延算子。

具體地說,網絡在k時刻的輸入不僅包括目前的輸入值,而且還包括隱含層前一時刻的輸出值,這時網絡可視為普通的前饋網絡,而且可以用BP算法進行訓練。訓練結束后,k時刻隱含層的輸出值將通過遞歸連接部分反饋回上下文層單元,并保留到K+1時刻。其中,反饋連接的權值不能調整。根據回歸連接的結構不同,可以將回歸網絡分為部分回歸和完全回歸。第一類網絡只是選擇那些特別有意義的反饋連接。由一個正切s形隱層和一個純線性輸出層組成的Elman網絡,能夠逼近任何連續函數。由于它有反饋連接,因此通過學習可產生時間模式和空間模式。而且不必先假定系統的數學模型形式,不必考慮外部噪聲對系統影響的具體形式,若能給出系統的輸入、輸出數據時,就可以利用Elman神經網絡對系統進行建模。Elman神經網絡還能夠體現效應量與影響因子的非線性關系。

3.2 Elman神經網絡的優點

近年來,人工神經網絡技術在水利眾多領域得到了廣泛的應用。由于神經網絡具有并行處理、聯想記憶、分布式知識存儲、魯棒性強等特點,尤其是它的自組織、自適應、自學習功能,從而在復雜非線性系統的分析和預測中得到了廣泛應用。目前非線性系統辨識中普遍采用的是BP網絡,但BP網絡是靜態網絡,它只是實現一一對應的靜態非線性映射關系,不適合動態系統的實時辨識。BP網絡模型隨系統階次的增加,迅速擴大的網絡結構使網絡學習收斂速度減慢,并造成網絡輸入節點過多、訓練困難及對外部噪聲敏感等弊病。

相比之下,動態回歸神經網絡(RNN)提供了一種極具潛力的選擇,它能夠更生動、更直接地反映系統的動態特性。Elman 型回歸神經網絡是一種典型的動態神經元網絡,它是在BP網絡基本結構的基礎上,通過存儲內部狀態使其具備映射動態特征的功能,從而使系統具有適應時變特性的能力。

3.3 Elman神經網絡模型在MATLAB中的實現

在MATLAB神經網絡工具箱中Elman網絡的工具箱函數是用newelm(網絡函數)生成一個Elman遞歸網絡。格式為net=newelm(PR,[S1S2,...,SM],{TF1TF2…TFM},BTF,BLF,PF),Elman網絡由N1層組成(一般兩層即可),其權函數用dotprod函數,輸入函數用netsum函數,以及用一些特殊的函數作為其傳遞函數。每層權和閾值初始化用initnw進行操作。其中PR為輸入元素的最大和最小值的矩陣(其維數為:R×2),Si為第i層的神經元個數。TFi為第i層的傳遞函數,缺省時TFi=‘tansig’;BTF為反向傳播網絡的訓練函數(BTF可以是trainged,traindm,traingda,traingdx等函數), 缺省時BTF=‘traingdx’;BLF為反向傳播權,也稱閾值學習函數(BLF可以是learngd或learndm),缺省時BLF=‘learngdm’;PF為性能分析函數(PF可以是mse或msereg),缺省時PF=‘mse’。具體采用什么函數應根據算例情況及試算來確定。

3.4 Elman神經網絡的應用

本文利用600組蒸發皿估測數據,建立了動態Elman-ET0預測模型,利用12組數據檢測模型預測精度,結果顯示該模型的對ET0的預測誤差均小于20%,Elman神經網絡可以應用在參考作物騰發量預測中。

4 結語

通過收集和閱讀大量文獻,比較已使用的ET0預測方法,認為人工神經網絡及一些融合協作算法的預測效果較好,但算法比較復雜。

考慮到參考作物騰發量主要受氣象因子影響,一般為非線性函數,隨時間存在一定的變化趨勢,本文引用了動態Elman神經網絡對參考作物騰發量進行建模和預測,結果顯示該方法是可行的。

參考文獻

[1]郭冬冬,周新國,孫景生,盧聞航.時間序列法在參考作物騰發量分析與擬中的應用[J].中國農村水利水電,2004,(8):4-7.

[2]李曉軍,李取生.東北地區參考作物蒸散確定方法研究[J].地理科學,2004,24(2):212-216.

[3]劉志武,倪廣恒,雷志棟,杜衛東.計算逐日潛在騰發量的BP神經網絡方法[J].灌溉排水學報,2004,23(4):75-77.

[4]蔣任飛,阮本清,韓宇平,孫靜. 基于BP神經網絡的參照騰發量預測模型[J] .中國水利水電科學研究院學報,2005,3 (4):308-311.

[5]徐俊增等.基于天氣預報的參考作物蒸發蒸騰量的神經網絡預測模型[J] .水利學報.2006,37(3):376-379.

[6]蔡甲冰等.應用自適應神經模糊推理系統的ET0預測[J],農業工程學報,2004,20(4):13-16.

[7]蔡甲冰等.根據天氣預報估算參照騰法量的模糊神經網絡方法[J].農業工程學報,2005,21(12):108-111.

[8]崔遠來,馬承新,沈細中,馬吉剛. 基于進化神經網絡的參考作物騰發量預測[J] .水科學進展,2005,16 (1):76-81.

[9]高瑞忠,朝倫巴根,于嬋,朱仲元,柴建華. 基于隨機樣本的神經網絡模型估算參考作物騰發量[J].農業工程學報,2006,22(2):42-45.

[10] 顧世祥,王士武,袁宏源.參考作物騰發量預測的徑向基函數法[J].水科學進展,1999,(2):123-128.

[11] 劉丙軍,邵東國,沈新平.基于小波變換的 BP神經網絡參考作物騰發量預測模型[J].武漢大學學報,2007,40(1):69-73.

[12] 羅玉峰 ,崔遠來,蔡學良.參考作物騰發量預報的傅立葉級數模型[J].武漢大學學報,2005,38(6):45-52.

[13] 段春青,邱林,黃強,陳曉楠. 基于混沌遺傳程序設計的參考作物騰發量預測模型[J].水利學報,2006,37(4):499-503.

[14] 常秀華,遲道才,李宇,馬憲偉.基于SPSS的撫順地區參考作物需水量的區域分析[J].中國農村水利水電,2005,(5):21-26.

[15] 胡慶芳,尚松浩,溫守光,孟寶泉.基于投影尋蹤的徑向基函數網絡在參考騰發量預測中的應用[J] .水利學報,2006,37(9):1151-1154.

[16]彭世彰,徐俊增.參考作物蒸發蒸騰量計算方法的應用比較[J].灌溉排水學報,2004,23(6):5-9.

[17]張兵,袁壽其,成立等.基于L-M 優化算法的BP神經網絡的作物需水量預測模型[J].農業工程學報,2004,20(6):73-76.

篇9

1986年,rumelhart提出了反向傳播學習算法,即bp(backpropagation)算法。反向傳播bp(back propagation)神經網絡是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一[1]。這種算法可以對網絡中各層的權系數進行修正,故適用于多層網絡學習。bp算法是目前應用最廣泛的神經網絡學習算法之一,在自動控制中是最有用的學習算法,它含有輸人層、輸出層以及處于輸入輸出層之間的中間層。中間層有單層或多層,由于它們和外界沒有直接的聯系,故也稱為隱層。在隱層中的神經元也稱隱單元。隱層雖然和外界不連接,但是,它們的狀態影響著輸入輸出之間的關系。也就是說,改變隱層的權系數,可以改變整個多層神經網絡的性能[2]。

1bp 神經網絡模型

bp 神經網絡模型由一個輸入層、一個輸出層以及一個或多個隱含層構成,同一層中各神經元之間相互獨立。輸入信號從輸入層神經元開始依次通過各個隱含層神經元,最后傳遞到輸出層神經元, 圖1給出了包含一個隱含層的bp網絡模型結構,隱含層神經元個數為m。理論研究表明:具有一個輸入層,一個線性輸出層以及sigmoid 型激活函數的隱含層bp 網絡能夠以任意精度逼近任何連續可微函數[3]。

三層感知器中,輸入向量為x=(x1,x2…xi…xn)t,圖1中x0=-1是為隱層神經元引入閾值而設置的,隱層輸入向量為y=(y1,y2…yj…ym,)t,圖中y0=-1是為輸出層神經元引入閾值而設置的;輸出層輸出向量o=(o1,o2, …,ok,ol)t,期望輸出向量為d=(d1,d2, …,dk,dl)t,輸入層到隱層之間的權值矩陣用v表示,v=(v1,v2, …,vj, …vm)t,隱層到輸入層之間的權值矩陣用w表示,w=(w1,w2, …,w,k …wl)t,下面分析各層信號之間的關系[4]。

圖1三層bp網絡

對于輸入層:

ok=f(netk) k=1,2, …,l,netk=∑mj=0wjkyj k=1,2, …,l;

對于隱層:

yj=f(netj)j=1,2, …,m,netj=∑ni=0vijxij=1,2, …,m;

以上兩式中,激活函數都是sigmoid函數。

f(x)=11+e-x,f(x)具有連續、可導的特點且f’(x)= f(x)[1- f(x)]。

根據以上公式,我們可以推導出權值調整量δwjk和δvjk分別是:

δwjk=ηδokyj=η(dk-ok)ok(1-ok)yj,δvij=ηδyjxi=η(∑lk=1δokwjk)yj(1-yj)xi

2智能公交實時調度模型總體設計

公交公司的行車計劃一般在年初就制定完成,調度員根據行車計劃進行調度,遇到節假日、雨天等突況時,就憑調度員的工作經驗調度。因此,可以考慮使用bp神經網絡算法,在智能公交實時調度中加入誤差反向傳播算法,利用誤差反向傳播算法超強的學習能力和泛化能力,通過對公交海量歷史調度數據的學習,建立公交車到達目的站點的預測模型。通過實時gps數據,就可以預測車輛到達目的地的大概時間,為建立智能公交調度提供極大的方便。智能公交實時調度模型如圖2所示。

圖2智能公交實時調度模型

從圖2可以看出,智能公交實時調度模型分為3個主要模塊。

(1)數據處理分析模塊。智能公交實時調度模型的基礎模塊,數據來源于兩個部分:一是公交歷史行車數據,包括發車時間、天氣等數據;二是gps定位系統采集的實時數據,主要是各個時刻采集的運行數據。該模塊根據各預測模型的需要,選擇合理的數據輸入,并對數據進行處理。

(2)預測模型模塊。通過對現有數據的分析、預測,得到車輛到達調度站的運行時間預測結果。

(3)智能實時調度模塊。輸入預測模型可以得到車輛運行時間,根據公交歷史調度計劃以及公交客流數據,可以適當改變當前調度計劃,臨時下達調度指令,為建立與實際客流相結合的調度方法提供決策支持。

(4)基于bp神經網絡的預測模型。公交車輛的運行時間總的來說還是比較固定的,但是有時候會隨著道路擁擠情況、節假日、天氣情況等有所改變。由于神經網絡具備以任意精度逼近連續函數功能,具有較強的自我學習能力和泛化能力,能夠充分體現輸入數據與輸出數據之間復雜的映射關系。因此,本文采用bp神經網絡來預測車輛到達時間。

2.1輸入變量對公交運行時間的影響

把公交車運行時間分

為幾個階段,車輛到達目的地所需要的時間往往與該公交車處于的階段有著某種必然的聯系,根據車輛實時gps數據及車輛運行過程中所處的時間,設ti為公交車實時時間,所以ti在那個階段對車輛運行有直接影響, ti可以根據gps數據實時取得。

車輛位置:車輛在運行過程中所處的位置對公交車到達目的站有著一定的影響,根據gps實時數據,可以計算出車輛離終點站有多少距離,將車輛在ti時刻距調度站的距離作為影響因素。

天氣情況:天氣的好壞對公共汽車的運行產生比較大的影響,一般情況下,公交車在晴天的運行時間要比雨天少,車速比雨天快。

星期情況:從周一到周日,不同日子有著不同的客流,所以星期情況對公交的運行產生一定的影響。

節日:重大節日客流量明顯增多,車輛的運行時間也會有所延長。

2.2變量獲取

bp神經網絡需要大量數據作為輸入、輸出樣本,因此在構建bp神經網絡前,首先要做的工作就是獲取這些數據。利用先進的信息技術,可以獲取公交車輛運行的gps數據,而天氣、星期情況、是否節假日這些變量則可以在大量的歷史數據中獲得。

2.3基于神經網絡的車輛預測模型

預測模型將采用三層bp神經網絡,即一個輸入層,一個隱層以及一個輸出層,輸入層一共有5個變量,分別是時間、車輛位置、天氣情況、星期情況以及節假日。隱含層節點數目一共有11個節點。輸出層為1個節點,采用有導師的學習方法。至此本文建立的bp網絡結構為5×11×1,bp網絡結構如圖3所示。

圖3bp神經網絡結構

bp神經網絡的車輛運行時間測算模型如圖4所示。

其中:t 為當前時刻,w(t-t),當前時刻t之前t時刻神經網絡輸入層與隱層以及隱層與輸出層之間的權值矩陣。

f(t):車輛從起始站到當前時刻車輛的運行時間。

f’(t):預測樣本的輸出時間。

xi(t):t時刻的第i個輸入向量,i∈[0,1],其中xi為車輛在t時刻到達調度站的距離的輸入向量,x2為天氣情況輸入向量,x3為車輛運行所處的星期輸入向量,x4為車輛運行當天是否節日的輸入向量,x5為gps采集數據的時刻向量。

圖4bp神經網絡的車輛運行時間測算模型

2.4樣本數據取值及歸一化方法

(1)gps定位數據。在車輛運行過程中,對車載gps數據進行采集,采集完成后通過一定的方法進行計算,從而得出車輛離到達站的距離,設該距離為一對一使用歸一化處理,使得轉換后的數值就落在(0,1)上。

(2)天氣情況。在一段時間內,公交車會碰到不同的天氣,不同的天氣對公交的運行產生不同的影響。我們把天氣進行分類,一共分為7種狀況,分別是大雨、小雨、雪、大霧、小霧、晴天和陰天,用不同的數字來表示這7種天氣情況。

(3)星期情況。對于不同的星期采用不同的分類方法表示,從星期一到星期日也采用不同的數字表示。

(4)節假日。節假日可以用布爾變量來表示,true是節假日,false為非節假日。

3結語

國內大多數公交調度優化研究都是著眼于靜態調度,而本文將研究重點放在了實時調度方面,在智能公交實時調度中加入bp神經網絡技術,用誤差反向傳播算法超強的學習能力和泛化能力,通過對公交海量歷史調度數據的學習,建立公交車到達目的站點的預測模型。通過實時gps數據,就可以預測車輛到達目的地的大概時間,為建立智能公交調度提供極大的方便。

參考文獻參考文獻:

\[1\]李翔,朱全銀.adaboost算法改進bp神經網絡預測研究[j].計算機工程與科學,2013(8).

篇10

[關鍵詞]人工神經網絡湖南人均GDP預測

GDP反應某地區在核算期內生產活動的最終成果及衡量國民經濟發展規模、速度、結構、效益的代表性指標,也是制定經濟發展戰略目標的主要指標。湖南省作為中部的一個省份,通過對“十一五”期間湖南省人均GDP的預測,可以分析全省的勞動量、資本量和技術知識的存量,利用GDP的存量功能,可以獲得資源與要素的信息,并據此推算湖南省的經濟增長的潛力,從而有利于政府部門制定更合理的經濟政策。

一、問題的分析與模型的建立

經濟預報是一個復雜的非線性系統,且系統的內部時時刻刻在發生變化,我們希望能夠建立一個參數隨預測環境的變化而改變的非線性模型,國內外對經濟的預測進行了大量的研究,提出了許多預測的方法,其中神經網絡被認為是一種較好的非線性預測方法,尤其是BP神經網絡。BP神經網絡結構簡單,非線性處理能力卻很強大。

1.BP網絡模型

BP網絡是一種單向傳播的多層前向網絡,其結構如圖1

BP網絡是一種具有三層或三層以上的神經網絡,包括輸入層、中間層(隱層)和輸出層。上、下層之間實現聯接,而每層神經元之間無聯接。當一對學習樣本提供給網絡后,神經元的激活值,從輸入層經各中間層,向輸出層傳播,在輸出層的各神經元獲得網絡的輸入響應。接下來,按照減少目標輸出與實際值的誤差的方向,從輸出層經過各中間層逐層修正各聯接權值,最后回到輸入層,這種算法稱為“誤差逆傳播算法”,即BP算法。隨著這種誤差逆傳播修正不斷進行,網絡對輸入模式響應的正確率也不斷上升。

圖1為常用的三層BP網絡結構,如果輸入層、隱含層和輸出層的單元個數分別為n、q、m,則該三層網絡可表示BP(n,q,m),利用該網絡可實現n維輸入向量Xn=(X1,X2…Xn)到m維輸出向量Ym=(Y1,Y2…Ym)T的非線性映射。m,n根據具體問題確定,而隱含層單元數q的確定尚無成熟的方法,一般可設定不同的q值,根據訓練結果進行選擇。網絡結構BP(n,q,m)確定后,網絡參數包括輸入層第i單元到隱含層第j單元的權重Wij(i=1...n,j=1...q),隱層第i單元到輸出層第k單元的權重Wiko(j=1...q,k=1...m);隱含層第j單元的激活閾值(j=1...q)及輸出層第k單元的激活閾值(k=1...m),以上權值和閾值的初值在網絡訓練之前隨機生成;假設共有p個訓練樣本,輸入的第p個訓練樣本信息首先向前傳播到隱含層單元上,經過激活函數f(u)的作用得到隱含層的輸出信息: (1)

激活函數f(u)采用s(0,1)型函數,即 (2)

隱含層的輸出信息傳到輸出層,可得到最終輸入結果為

BP算法的基本思想是學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。以上過程為網絡學習的信息正向傳播過程;如果網絡輸出與期望輸出存在誤差,則將誤差反向傳播,誤差的反射傳播是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,以誤差信號作為修正各單元權值的依據,可以利用(4)來調節網絡權重和閾值。

其中為W(t)次訓練,η,α分別為比例系數和動量系數,E為誤差平方和反復運用以上兩個過程,一直進行到網絡輸出的誤差減少到可接近的程度或進行到預先設定的學習次數為止()。

通常,經過訓練的網絡還應該進行性能的測試,測試的方面就是選擇樣本向量,將其提供給網絡,檢驗網絡對其分類的正確性,測試樣本向量中應包括今后網絡應用過程中可能的主要典型模式;樣本可以直接測取得到,也可以通過仿真得到,在樣本數據較少或者較難得到時,也可以通過對學習樣本加上適當的噪聲或按照一定的規則插值得到,總之,一個良好的測試樣本集中,不應該包括和學習完全相同的模式。

2.BP神經網絡在經濟預報模型中的應用

采用神經網絡進行經濟預測,以湖南省1978~1999年的經濟數據作為訓練樣本,2000年~2004年GDP進行預測仿真試驗。

GDP預測指標體系就包含第一產業(x1)、第二產業(x2)、第三產業(x3)。在考慮諸年數據的可比性,在應用神經網絡之前,采用如下方法對數據環比處理:

式中,x為指標的環比值;y為指標的原始數據值;w為物價指數,t和t-1分別代表當年度和上年度。采用BP神經網絡進行預測,即用上一年的經濟數據作為輸入,下一年的GDP作為輸出。因此GDP預測模型可以描述為:

y1=f(x1(t-1),x2(t-1),x3(t-1))

設置L―M算法BP神經網絡的計算誤差為10-4,最大計算步數為10000,計算結果見圖2:

預測的結果見下表

從表中預測的結果,可以看出,模型擬合得到的數據與真實值是比較吻合的,預測的效果比較好,完全能滿足實際應用的需要。如果我們對神經網絡訓練的精度作更高的要求,還可進一步降低預測的誤差。

參考文獻:

[1]Martin T.Hagan.神經網絡設計.機械工業出版社,2005

[2]王振龍:時間序列分析.中國統計出版社.2003

[3]伍衛國:數值方法和Matlab實現與應用.機械工業出版社,2004