畢業(yè)設(shè)計(jì)(論文)基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 本科生畢業(yè)論文(設(shè)計(jì))本科生畢業(yè)論文(設(shè)計(jì)) 題目 基于神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量檢測(cè) 姓名 學(xué)號(hào) 院系 電氣信息與自動(dòng)化學(xué)院 專業(yè) 自動(dòng)化 指導(dǎo)教師 職稱 講師 2009 年 5 月 20 日 曲阜師范大學(xué)教務(wù)處制 目錄 摘要摘要 .1 關(guān)鍵詞關(guān)鍵詞 .2 abstractabstract .2 keykey wordswords .2 引言 .2 1 bp 神經(jīng)網(wǎng)絡(luò)概述.3 1.1 基本原理 .3 1.2 bp 算法學(xué)習(xí)過(guò)程.4 2 空氣質(zhì)量檢測(cè)模型的建立 .6 2.1 樣本數(shù)據(jù).6 2.1.1 收集和整理分組.6 2.1.2 輸入/輸出變量的確定及其數(shù)據(jù)的預(yù)處理.7 2.2 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的

2、確定.7 2.2.1 隱層數(shù).7 2.2.2 隱層節(jié)點(diǎn)數(shù).7 2.3 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練.8 2.4 神經(jīng)網(wǎng)絡(luò)模型參數(shù)的確定.10 2.4.1 隱層的數(shù)目.10 2.4.2 隱層神經(jīng)元數(shù)的選擇.10 2.4.3 學(xué)習(xí)率和動(dòng)量因子.13 2.4.4 初始權(quán)值的選擇 .13 2.4.5 收斂誤差界值 emin.13 2.4.6 輸入數(shù)據(jù)的預(yù)處理.13 3 matlab 實(shí)現(xiàn)和結(jié)果分析.14 3.1 matlab 神經(jīng)網(wǎng)絡(luò)工具箱的應(yīng)用.14 3.2 基于 matlab 的 bp 算法的實(shí)現(xiàn)過(guò)程 .14 3.3 訓(xùn)練神經(jīng)網(wǎng)絡(luò).15 4 結(jié)語(yǔ).23 致謝 .23 參考文獻(xiàn)參考文獻(xiàn) .23 基于神經(jīng)網(wǎng)絡(luò)的空氣

3、質(zhì)量檢測(cè) 05 級(jí)自動(dòng)化 指導(dǎo)教師 摘要:空氣質(zhì)量的好壞反映了空氣污染程度,它是依據(jù)空氣中污染物濃度的高低來(lái)判斷的。污染物 濃度由于受風(fēng)向、風(fēng)速、氣溫、濕度、污染源排放情況等多種因素的影響,使得空氣質(zhì)量問(wèn)題具有 很大的不確定性和一定的復(fù)雜性。神經(jīng)網(wǎng)絡(luò)作為一種描述和刻畫非線性的強(qiáng)有力工具,具有較強(qiáng)的 自學(xué)習(xí)、自組織、自適應(yīng)能力等特點(diǎn),特別適合于對(duì)具有多因素性、不確定性、隨機(jī)性、非線性和 隨時(shí)間變化特性的對(duì)象進(jìn)行研究。本文基于神經(jīng)網(wǎng)絡(luò)的 bp 算法,利用 matlab 神經(jīng)網(wǎng)絡(luò)工具箱 建立了空氣質(zhì)量模型。文中,采用 matlab 的 rand()函數(shù)在各級(jí)評(píng)價(jià)標(biāo)準(zhǔn)內(nèi)按隨機(jī)均勻分布方式內(nèi) 插生成訓(xùn)練

4、樣本和檢驗(yàn)樣本,利用 premnmx()函數(shù)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,調(diào)用激活函數(shù)對(duì)網(wǎng)絡(luò)權(quán)值進(jìn) 行訓(xùn)練,并同其他評(píng)價(jià)方法比較,取得了良好的評(píng)價(jià)結(jié)果。同時(shí)表明此方法具有一定的客觀性和積 極性。 關(guān)鍵詞:bp 神經(jīng)網(wǎng)絡(luò);空氣質(zhì)量; matlab 神經(jīng)網(wǎng)絡(luò)工具箱 the detection of air quality based on neural network student majoring in automation zang pengjuan tutor shi lihong abstract:the quality of air quality reflects the extent of a

5、ir pollution, which is based on the concentration of pollutants in the air to determine the level of the air. concentration of pollutants due to wind direction, wind speed, air temperature, humidity, pollutant emissions and other factors, makes the issue of air quality is a great uncertainty and a c

6、ertain degree of complexity. neural network description and characterization as a powerful tool for non-linear phenomenon, with strong self-learning, self-organization, the characteristics of adaptive capacity, especially suitable for multi-factor, uncertainty, randomness, non- linear and time-varyi

7、ng characteristics of the object of research. this design bases on the bp neural network algorithm, using matlab neural network toolbox to establish air quality model. in this text, using the matlabs rand () function at all levels within the evaluation criteria uniformly distributes random interpola

8、tion methods to generate training samples and the samples tested. then the paper uses premnmx () function on the data pre-processing, and transfers activation function of network weights training and compares with other evaluation methods, and achieved good results which indicate the objectivity and

9、 enthusiasm of the design. key words:bp neural network; air quality; matlab neural network toolbox 引言 神經(jīng)網(wǎng)絡(luò)(又稱人工神經(jīng)網(wǎng)絡(luò),neural networks),是由眾多簡(jiǎn)單的神經(jīng)元連接而成 的一個(gè)網(wǎng)絡(luò),通過(guò)模擬人腦細(xì)胞的分布式工作特點(diǎn)和自組織功能實(shí)現(xiàn)并行處理、自學(xué)習(xí) 和非線性映射等功能。盡管每個(gè)神經(jīng)元結(jié)構(gòu)、功能都不復(fù)雜,但網(wǎng)絡(luò)的整體動(dòng)態(tài)行為卻 是極為復(fù)雜的,可以組成高度非線性動(dòng)力學(xué)系統(tǒng),從而可以表達(dá)很多復(fù)雜的物理系統(tǒng)。 神經(jīng)網(wǎng)絡(luò)作為一種描述和刻畫非線性現(xiàn)象的強(qiáng)有力工具,具有較強(qiáng)的自學(xué)習(xí)、自

10、組織、 自適應(yīng)能力等特點(diǎn),特別適合于對(duì)具有多因素性、不確定性、隨機(jī)性、非線性和隨時(shí)間 變化特性的對(duì)象進(jìn)行研究5。 神經(jīng)網(wǎng)絡(luò)在環(huán)境科學(xué)與工程中的應(yīng)用如環(huán)境質(zhì)量評(píng)價(jià)、 環(huán)境系統(tǒng)因素預(yù)測(cè)、環(huán)境因素定量關(guān)系模擬、構(gòu)效分析、成因分析和污染防治系統(tǒng)建 模已取得了令人矚目的進(jìn)展。 空氣質(zhì)量預(yù)報(bào)主要是依靠環(huán)境空氣質(zhì)量自動(dòng)監(jiān)測(cè)系統(tǒng)連續(xù)不斷地實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù), 并自動(dòng)傳輸?shù)娇刂剖遥?jīng)數(shù)據(jù)處理后得出當(dāng)天的空氣污染指數(shù),再向社會(huì)公布。自動(dòng) 監(jiān)測(cè)系統(tǒng)每 4 分鐘就產(chǎn)生一組監(jiān)測(cè)數(shù)據(jù),連續(xù)不斷地測(cè)量,然后計(jì)算出小時(shí)均值和日 均值,一般來(lái)說(shuō),日均值是采用上一天中午 12 時(shí)到次日 12 時(shí)的數(shù)據(jù)。根據(jù)環(huán)境空氣 質(zhì)量標(biāo)準(zhǔn)和各項(xiàng)污染

11、物對(duì)人體健康和生態(tài)的影響來(lái)確定各級(jí)污染物濃度的限值,詳細(xì) 請(qǐng)參照附錄表一:中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)空氣質(zhì)量標(biāo)準(zhǔn)(gb3095-1996)各項(xiàng)污染物 的濃度限值(1999 年) 。 環(huán)境空氣質(zhì)量由于受風(fēng)向、風(fēng)速、氣溫、濕度、污染源排放情況等多種因素的影 響,使得環(huán)境空氣質(zhì)量問(wèn)題具有很大的不確定性。論文將 bp 神經(jīng)網(wǎng)絡(luò)應(yīng)用到環(huán)境空氣 質(zhì)量當(dāng)中,利用 matlab 的神經(jīng)網(wǎng)絡(luò)工具箱訓(xùn)練網(wǎng)絡(luò),建立起了環(huán)境空氣質(zhì)量檢測(cè)模型。 1 bp 神經(jīng)網(wǎng)絡(luò)概述 1.1 基本原理 bp 神經(jīng)網(wǎng)絡(luò)是一種利用誤差反向傳播算法的人工神經(jīng)網(wǎng)絡(luò),具有很強(qiáng)的自學(xué)習(xí)自 適應(yīng)抗干擾能力。其網(wǎng)絡(luò)結(jié)構(gòu)由輸入層中間層(隱層)和輸出層構(gòu)成,

12、輸入層接收到的 信號(hào)經(jīng)過(guò)隱層激活放大后再由輸出層,信號(hào)傳遞時(shí)每一層神經(jīng)元通過(guò)權(quán)值只影響下一 層神經(jīng)元的狀態(tài),結(jié)構(gòu)模型圖如圖 1 圖 1 bp 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型圖 其基本原理是:先從基礎(chǔ)數(shù)據(jù)中給出有代表性的網(wǎng)絡(luò)輸入信號(hào)(即訓(xùn)練樣本),并 根據(jù)所要關(guān)心的具體問(wèn)題構(gòu)造出期望的目標(biāo)信號(hào)(教師樣本)輸入網(wǎng)絡(luò),然后在網(wǎng)絡(luò)學(xué) 習(xí)和自適應(yīng)過(guò)程中,通過(guò)輸入信號(hào)在正向的激活放大傳播和誤差的反向傳播,不斷修 改和調(diào)整各層神經(jīng)元的連接權(quán)值,使輸出信號(hào)與期望目標(biāo)輸出信號(hào)間的誤差減至最小, 當(dāng)其值小于某一給定值時(shí),即認(rèn)為完成或訓(xùn)練好該神經(jīng)網(wǎng)絡(luò),在此基礎(chǔ)上將進(jìn)行下一 步的預(yù)測(cè)或擬合。 1.2 bp 算法學(xué)習(xí)過(guò)程 bp 算法

13、學(xué)習(xí)過(guò)程由信號(hào)的正向傳播與誤差的反向傳播兩個(gè)過(guò)程組成。 設(shè)輸入為 p,輸入神經(jīng)元有 r 個(gè),隱含層內(nèi)有 s1 個(gè)神經(jīng)元,激活函數(shù)為 f1,輸出 層內(nèi)有 s2 個(gè)神經(jīng)元,對(duì)應(yīng)的激活函數(shù)為 f2,輸出為 a,目標(biāo)矢量為 t。 (一)正向傳播:輸入樣本輸入層各隱層(處理)輸出層 1) 隱含層中第 i 個(gè)神經(jīng)元的輸出為: 1,.,2 , 1),11( 11 1 sibpwfa ij r j iji 2) 輸出層第 k 個(gè)神經(jīng)元的輸出為: 2,.,2 , 1),212(22 1 1 skbawfa ki s i kik 3) 定義誤差函數(shù)為: 2 2 1 )2( 2 1 ),( s k kk atbwe

14、 注 1:若輸出層實(shí)際輸出與期望輸出(教師信號(hào))不符,則轉(zhuǎn)入 2) (誤差反向傳 播過(guò)程) (二)誤差反向傳播2:輸出誤差(某種形式)隱層(逐層)輸入層 1) 輸出層的權(quán)值變化 對(duì)從第 i 個(gè)輸入到第 k 個(gè)輸出的權(quán)值,有: ikiikk ki k kki ki aafat w a a e w e w 112)2( 2 2 22 2 其中: kkk kkkki ate fefat 2 22)2( 同理可得: kikk ki k kki ki fat b a a e b e b 2)2( 2 2 22 2 2)隱含層權(quán)值變化 對(duì)從第 j 個(gè)輸入到第 i 個(gè)輸出的權(quán)值,有: jijjki s k

15、kk ij i i k kij ij ppfwfat w a a a a e w e w 122)2( 1 1 1 2 21 1 2 1 其中:1,2,2,2 2 1 fewefeate iij s k kikiikkikkk 同理可得: iji b 1 在 matlab 工具箱中,上述公式的計(jì)算均已編成函數(shù)的形式,通過(guò)簡(jiǎn)單的書寫調(diào)用 即可方便地獲得結(jié)果。 誤差反向傳播過(guò)程實(shí)際上是通過(guò)計(jì)算輸出層的誤差,然后將其與輸出層激活函 k e 數(shù)的一階導(dǎo)數(shù)相乘來(lái)求得。由于隱含層中沒(méi)有直接給出目標(biāo)矢量,所以利用輸 2 f ki 出層的進(jìn)行誤差反向傳遞來(lái)求出隱含層權(quán)值的變化量。然后計(jì)算 ki ki w2 ,

16、并同樣通過(guò)將與該層激活函數(shù)的一階導(dǎo)數(shù)相乘,而求得,以此 2 1 2 s k kikii we i e 1 f ij 求出前層權(quán)值的變化量。如果前面還有隱含層,沿用上述同樣方法依此類推,一 ij w1 直將輸出誤差一層一層的反推算到第一層為止。 k e 注 2:權(quán)值調(diào)整的過(guò)程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過(guò)程(這也就是學(xué)習(xí)的由來(lái)權(quán)值 調(diào)整) 。 bp 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練流程圖,如圖 2 開(kāi)始 初始化,給出一組訓(xùn)練樣本,并對(duì)閾值和 各連接權(quán)值分別賦初值 輸入訓(xùn)練樣本 前向傳播:分別計(jì)算隱層 和輸出層各神經(jīng)元的輸出 計(jì)算輸出層上各神經(jīng)元的值, 并調(diào)整該層上神經(jīng)元的輸出 反向傳播:逐層計(jì)算各神經(jīng)元的 值,調(diào)整

17、各連接權(quán)值和閾值 結(jié)束 e 滿足要求? 圖 2 bp 神經(jīng)網(wǎng)絡(luò)算法流程圖 2 空氣質(zhì)量檢測(cè)模型的建立 2.1 樣本數(shù)據(jù)7 2.1.1 收集和整理分組 采用 bp 神經(jīng)網(wǎng)絡(luò)方法建模的首要和前提條件是有足夠多典型性好和精度高的樣本。 而且,為監(jiān)控訓(xùn)練(學(xué)習(xí))過(guò)程使之不發(fā)生“過(guò)擬合”和評(píng)價(jià)建立的網(wǎng)絡(luò)模型的性能 和泛化能力,必須將收集到的數(shù)據(jù)隨機(jī)分成訓(xùn)練樣本、檢驗(yàn)樣本(10%以上)和測(cè)試樣 本(10%以上)3 部分。此外,數(shù)據(jù)分組時(shí)還應(yīng)盡可能考慮樣本模式間的平衡。 2.1.2 輸入/輸出變量的確定及其數(shù)據(jù)的預(yù)處理 一般地,bp 網(wǎng)絡(luò)的輸入變量即為待分析系統(tǒng)的內(nèi)生變量(影響因子或自變量)數(shù), 一般根據(jù)專

18、業(yè)知識(shí)確定。若輸入變量較多,一般可通過(guò)主成份分析方法壓減輸入變量, 也可根據(jù)剔除某一變量引起的系統(tǒng)誤差與原系統(tǒng)誤差的比值的大小來(lái)壓減輸入變量。 輸出變量即為系統(tǒng)待分析的外生變量(系統(tǒng)性能指標(biāo)或因變量) ,可以是一個(gè),也可以 是多個(gè)。一般將一個(gè)具有多個(gè)輸出的網(wǎng)絡(luò)模型轉(zhuǎn)化為多個(gè)具有一個(gè)輸出的網(wǎng)絡(luò)模型效 果會(huì)更好,訓(xùn)練也更方便。 由于 bp 神經(jīng)網(wǎng)絡(luò)的隱層一般采用 sigmoid 轉(zhuǎn)換函數(shù),為提高訓(xùn)練速度和靈敏性以 及有效避開(kāi) sigmoid 函數(shù)的飽和區(qū),一般要求輸入數(shù)據(jù)的值在 01 之間。因此,要對(duì) 輸入數(shù)據(jù)進(jìn)行預(yù)處理。一般要求對(duì)不同變量分別進(jìn)行預(yù)處理,也可以對(duì)類似性質(zhì)的變 量進(jìn)行統(tǒng)一的預(yù)處理。

19、如果輸出層節(jié)點(diǎn)也采用 sigmoid 轉(zhuǎn)換函數(shù),輸出變量也必須作 相應(yīng)的預(yù)處理,否則,輸出變量也可以不做預(yù)處理。 預(yù)處理的方法有多種多樣,各文獻(xiàn)采用的公式也不盡相同。但必須注意的是,預(yù) 處理的數(shù)據(jù)訓(xùn)練完成后,網(wǎng)絡(luò)輸出的結(jié)果要進(jìn)行反變換才能得到實(shí)際值。再者,為保 證建立的模型具有一定的外推能力,最好使數(shù)據(jù)預(yù)處理后的值在 0.20.8 之間。 2.2 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的確定 2.2.1 隱層數(shù) 一般認(rèn)為,增加隱層數(shù)可以降低網(wǎng)絡(luò)誤差(也有文獻(xiàn)認(rèn)為不一定能有效降低) ,提 高精度,但也使網(wǎng)絡(luò)復(fù)雜化,從而增加了網(wǎng)絡(luò)的訓(xùn)練時(shí)間和出現(xiàn)“過(guò)擬合”的傾向。 hornik 等早已證明:若輸入層和輸出層采用線性轉(zhuǎn)換

20、函數(shù),隱層采用 sigmoid 轉(zhuǎn)換函 數(shù),則含一個(gè)隱層的 mlp 網(wǎng)絡(luò)能夠以任意精度逼近任何有理函數(shù)。顯然,這是一個(gè)存 在性結(jié)論。這實(shí)際上已經(jīng)給了我們一個(gè)基本的設(shè)計(jì) bp 網(wǎng)絡(luò)的原則,應(yīng)優(yōu)先考慮 3 層 bp 網(wǎng)絡(luò)(即有 1 個(gè)隱層) 。 實(shí)際上誤差精度的提高可以通過(guò)增加隱含層中神經(jīng)元數(shù)目來(lái)獲得,其訓(xùn)練效果要 比增加隱層數(shù)更容易觀察和實(shí)現(xiàn)。所以一般情況下,應(yīng)優(yōu)先考慮增加隱含層中的神經(jīng) 元數(shù)。另外一個(gè)問(wèn)題:能不能僅用具有非線性激活函數(shù)的單層網(wǎng)絡(luò)來(lái)解決問(wèn)題呢?結(jié)論 是:沒(méi)有必要或效果不好。因?yàn)槟苡脝螌臃蔷€性網(wǎng)絡(luò)解決的問(wèn)題,用自適應(yīng)線性網(wǎng)絡(luò) 一定也能解決,而且自適應(yīng)線性網(wǎng)絡(luò)的運(yùn)算速度還更快。而對(duì)于

21、只能用非線性函數(shù)解 決的問(wèn)題,單層精度又不夠高,也只有增加層數(shù)才能達(dá)到期望的結(jié)果。這主要還是因 為一層網(wǎng)絡(luò)的神經(jīng)元數(shù)被所要解決的問(wèn)題本身限制造成的。 2.2.2 隱層節(jié)點(diǎn)數(shù) 在 bp 網(wǎng)絡(luò)中,隱層節(jié)點(diǎn)數(shù)的選擇非常重要,它不僅對(duì)建立的神經(jīng)網(wǎng)絡(luò)模型的性能 影響很大,而且是訓(xùn)練時(shí)出現(xiàn)“過(guò)擬合”的直接原因,但是目前理論上還沒(méi)有一種科 學(xué)的和普遍的確定方法。 目前多數(shù)文獻(xiàn)中提出的確定隱層節(jié)點(diǎn)數(shù)的計(jì)算公式都是針對(duì)訓(xùn)練樣本任意多的情 況,而且多數(shù)是針對(duì)最不利的情況,一般工程實(shí)踐中很難滿足,不宜采用。事實(shí)上, 各種計(jì)算公式得到的隱層節(jié)點(diǎn)數(shù)有時(shí)相差幾倍甚至上百倍。為盡可能避免訓(xùn)練時(shí)出現(xiàn) “過(guò)擬合”現(xiàn)象,保證足夠

22、高的網(wǎng)絡(luò)性能和泛化能力,確定隱層節(jié)點(diǎn)數(shù)的最基本原則 是:在滿足精度要求的前提下取盡可能緊湊的結(jié)構(gòu),即取盡可能少的隱層節(jié)點(diǎn)數(shù)。研 究表明,隱層節(jié)點(diǎn)數(shù)不僅與輸入/輸出層的節(jié)點(diǎn)數(shù)有關(guān),更與需解決的問(wèn)題的復(fù)雜程度 和轉(zhuǎn)換函數(shù)的形式以及樣本數(shù)據(jù)的特性等因素有關(guān)。 在確定隱層節(jié)點(diǎn)數(shù)時(shí)必須滿足下列條件: (1)隱層節(jié)點(diǎn)數(shù)必須小于 n-1(其中 n 為訓(xùn)練樣本數(shù)) ,否則,網(wǎng)絡(luò)模型的系統(tǒng)誤差與訓(xùn) 練樣本的特性無(wú)關(guān)而趨于零,即建立的網(wǎng)絡(luò)模型沒(méi)有泛化能力,也沒(méi)有任何實(shí)用價(jià)值。 同理可推得:輸入層的節(jié)點(diǎn)數(shù)(變量數(shù))必須小于 n-1。 (2)訓(xùn)練樣本數(shù)必須多于網(wǎng)絡(luò)模型的連接權(quán)數(shù),否則,樣本必須分成幾部分并采用“輪 流

23、訓(xùn)練”的方法才可能得到可靠的神經(jīng)網(wǎng)絡(luò)模型。 總之,若隱層節(jié)點(diǎn)數(shù)太少,網(wǎng)絡(luò)可能根本不能訓(xùn)練或網(wǎng)絡(luò)性能很差;若隱層節(jié)點(diǎn) 數(shù)太多,雖然可使網(wǎng)絡(luò)的系統(tǒng)誤差減小,但一方面使網(wǎng)絡(luò)訓(xùn)練時(shí)間延長(zhǎng),另一方面, 訓(xùn)練容易陷入局部極小點(diǎn)而得不到最優(yōu)點(diǎn),也是訓(xùn)練時(shí)出現(xiàn)“過(guò)擬合”的內(nèi)在原因。 因此,合理隱層節(jié)點(diǎn)數(shù)應(yīng)在綜合考慮網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜程度和誤差大小的情況下用節(jié)點(diǎn)刪 除法和擴(kuò)張法確定。 2.3 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 (一)訓(xùn)練 bp 網(wǎng)絡(luò)的訓(xùn)練就是通過(guò)應(yīng)用誤差反傳原理不斷調(diào)整網(wǎng)絡(luò)權(quán)值使網(wǎng)絡(luò)模型輸出值與 已知的訓(xùn)練樣本輸出值之間的誤差平方和達(dá)到最小或小于某一期望值。雖然理論上早 已經(jīng)證明:具有 1 個(gè)隱層(采用 sigmoid

24、 轉(zhuǎn)換函數(shù))的 bp 網(wǎng)絡(luò)可實(shí)現(xiàn)對(duì)任意函數(shù)的任 意逼近。但遺憾的是,迄今為止還沒(méi)有構(gòu)造性結(jié)論,即在給定有限個(gè)(訓(xùn)練)樣本的 情況下,如何設(shè)計(jì)一個(gè)合理的 bp 網(wǎng)絡(luò)模型并通過(guò)向所給的有限個(gè)樣本的學(xué)習(xí)(訓(xùn)練) 來(lái)滿意地逼近樣本所蘊(yùn)含的規(guī)律(函數(shù)關(guān)系,不僅僅是使訓(xùn)練樣本的誤差達(dá)到很?。?的問(wèn)題,目前在很大程度上還需要依靠經(jīng)驗(yàn)知識(shí)和設(shè)計(jì)者的經(jīng)驗(yàn)。因此,通過(guò)訓(xùn)練樣 本的學(xué)習(xí)(訓(xùn)練)建立合理的 bp 神經(jīng)網(wǎng)絡(luò)模型的過(guò)程,在國(guó)外被稱為“藝術(shù)創(chuàng)造的過(guò) 程” ,是一個(gè)復(fù)雜而又十分煩瑣和困難的過(guò)程。 由于 bp 網(wǎng)絡(luò)采用誤差反傳算法,其實(shí)質(zhì)是一個(gè)無(wú)約束的非線性最優(yōu)化計(jì)算過(guò)程, 在網(wǎng)絡(luò)結(jié)構(gòu)較大時(shí)不僅計(jì)算時(shí)間長(zhǎng),而且

25、很容易限入局部極小點(diǎn)而得不到最優(yōu)結(jié)果。 目前雖已有改進(jìn) bp 法、遺傳算法(ga)和模擬退火算法等多種優(yōu)化方法用于 bp 網(wǎng)絡(luò) 的訓(xùn)練(這些方法從原理上講可通過(guò)調(diào)整某些參數(shù)求得全局極小點(diǎn)),但在應(yīng)用中,這 些參數(shù)的調(diào)整往往因問(wèn)題不同而異,較難求得全局極小點(diǎn)。這些方法中應(yīng)用最廣的是 增加了沖量(動(dòng)量)項(xiàng)和自適應(yīng)調(diào)整的改進(jìn) bp 算法。 (二)學(xué)習(xí)率和沖量系數(shù) 學(xué)習(xí)率影響系統(tǒng)學(xué)習(xí)過(guò)程的穩(wěn)定性。大的學(xué)習(xí)率可能使網(wǎng)絡(luò)權(quán)值每一次的修正量 過(guò)大,甚至?xí)?dǎo)致權(quán)值在修正過(guò)程中超出某個(gè)誤差的極小值呈不規(guī)則跳躍而不收斂; 但過(guò)小的學(xué)習(xí)率導(dǎo)致學(xué)習(xí)時(shí)間過(guò)長(zhǎng),不過(guò)能保證收斂于某個(gè)極小值。所以,一般傾向 選取較小的學(xué)習(xí)率

26、以保證學(xué)習(xí)過(guò)程的收斂性(穩(wěn)定性) ,通常在 0.010.8 之間。 增加沖量項(xiàng)的目的是為了避免網(wǎng)絡(luò)訓(xùn)練陷于較淺的局部極小點(diǎn)。理論上其值大小 應(yīng)與權(quán)值修正量的大小有關(guān),但實(shí)際應(yīng)用中一般取常量。通常在 01 之間,而且一般 比學(xué)習(xí)率要大。 (三)網(wǎng)絡(luò)的初始連接權(quán)值 bp 算法決定了誤差函數(shù)一般存在(很)多個(gè)局部極小點(diǎn),不同的網(wǎng)絡(luò)初始權(quán)值直 接決定了 bp 算法收斂于哪個(gè)局部極小點(diǎn)或是全局極小點(diǎn)。因此,要求計(jì)算程序必須能 夠自由改變網(wǎng)絡(luò)初始連接權(quán)值。由于 sigmoid 轉(zhuǎn)換函數(shù)的特性,一般要求初始權(quán)值分 布在-0.50.5 之間比較有效。 (四)網(wǎng)絡(luò)模型的性能和泛化能力 訓(xùn)練神經(jīng)網(wǎng)絡(luò)的首要和根本任

27、務(wù)是確保訓(xùn)練好的網(wǎng)絡(luò)模型對(duì)非訓(xùn)練樣本具有好的 泛化能力(推廣性) ,即有效逼近樣本蘊(yùn)含的內(nèi)在規(guī)律,而不是看網(wǎng)絡(luò)模型對(duì)訓(xùn)練樣本 的擬合能力。從存在性結(jié)論可知,即使每個(gè)訓(xùn)練樣本的誤差都很小(可以為零) ,并不 意味著建立的模型已逼近訓(xùn)練樣本所蘊(yùn)含的規(guī)律。因此,僅給出訓(xùn)練樣本誤差(通常 是指均方根誤差 rsme 或均方誤差、aae 或 mape 等)的大小而不給出非訓(xùn)練樣本誤差的 大小是沒(méi)有任何意義的。 要分析建立的網(wǎng)絡(luò)模型對(duì)樣本所蘊(yùn)含的規(guī)律的逼近情況(能力) ,即泛化能力,應(yīng) 該也必須用非訓(xùn)練樣本(檢驗(yàn)樣本和測(cè)試樣本)誤差的大小來(lái)表示和評(píng)價(jià),這也是之 所以必須將總樣本分成訓(xùn)練樣本和非訓(xùn)練樣本而絕不

28、能將全部樣本用于網(wǎng)絡(luò)訓(xùn)練的主 要原因之一。判斷建立的模型是否已有效逼近樣本所蘊(yùn)含的規(guī)律,最直接和客觀的指標(biāo) 是從總樣本中隨機(jī)抽取的非訓(xùn)練樣本(檢驗(yàn)樣本和測(cè)試樣本)誤差是否和訓(xùn)練樣本的 誤差一樣小或稍大。非訓(xùn)練樣本誤差很接近訓(xùn)練樣本誤差或比其小,一般可認(rèn)為建立 的網(wǎng)絡(luò)模型已有效逼近訓(xùn)練樣本所蘊(yùn)含的規(guī)律,否則,若相差很多(如幾倍、幾十倍 甚至上千倍)就說(shuō)明建立的網(wǎng)絡(luò)模型并沒(méi)有有效逼近訓(xùn)練樣本所蘊(yùn)含的規(guī)律,而只是 在這些訓(xùn)練樣本點(diǎn)上逼近而已,而建立的網(wǎng)絡(luò)模型是對(duì)訓(xùn)練樣本所蘊(yùn)含規(guī)律的錯(cuò)誤反 映。因?yàn)橛?xùn)練樣本的誤差可以達(dá)到很小,因此,用從總樣本中隨機(jī)抽取的一部分測(cè)試 樣本的誤差表示網(wǎng)絡(luò)模型計(jì)算和預(yù)測(cè)所具

29、有的精度(網(wǎng)絡(luò)性能)是合理的和可靠的。 值得注意的是,判斷網(wǎng)絡(luò)模型泛化能力的好壞,主要不是看測(cè)試樣本誤差大小的 本身,而是要看測(cè)試樣本的誤差是否接近于訓(xùn)練樣本和檢驗(yàn)樣本的誤差。 (五)合理網(wǎng)絡(luò)模型的確定 對(duì)同一結(jié)構(gòu)的網(wǎng)絡(luò),由于 bp 算法存在(很)多個(gè)局部極小點(diǎn),因此,必須通過(guò)多 次(通常是幾十次)改變網(wǎng)絡(luò)初始連接權(quán)值求得相應(yīng)的極小點(diǎn),才能通過(guò)比較這些極 小點(diǎn)的網(wǎng)絡(luò)誤差的大小,確定全局極小點(diǎn),從而得到該網(wǎng)絡(luò)結(jié)構(gòu)的最佳網(wǎng)絡(luò)連接權(quán)值。 必須注意的是,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程本質(zhì)上是求非線性函數(shù)的極小點(diǎn)問(wèn)題,因此,在 全局極小點(diǎn)鄰域內(nèi)(即使網(wǎng)絡(luò)誤差相同) ,各個(gè)網(wǎng)絡(luò)連接權(quán)值也可能有較大的差異,這 有時(shí)也會(huì)

30、使各個(gè)輸入變量的重要性發(fā)生變化,但這與具有多個(gè)零極小點(diǎn)(一般稱為多 模式現(xiàn)象) (如訓(xùn)練樣本數(shù)少于連接權(quán)數(shù)時(shí))的情況是截然不同的。此外,在不滿足隱 層節(jié)點(diǎn)數(shù)條件時(shí),總也可以求得訓(xùn)練樣本誤差很小或?yàn)榱愕臉O小點(diǎn),但此時(shí)檢驗(yàn)樣本 和測(cè)試樣本的誤差可能要大得多;若改變網(wǎng)絡(luò)連接權(quán)初始值,檢驗(yàn)樣本和測(cè)試樣本的 網(wǎng)絡(luò)計(jì)算結(jié)果會(huì)產(chǎn)生很大變化,即多模式現(xiàn)象。 對(duì)于不同的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)模型的誤差或性能和泛化能力也不一樣。因此,還必須比 較不同網(wǎng)絡(luò)結(jié)構(gòu)的模型的優(yōu)劣。一般地,隨著網(wǎng)絡(luò)結(jié)構(gòu)的變大,誤差變小。通常,在 網(wǎng)絡(luò)結(jié)構(gòu)擴(kuò)大(隱層節(jié)點(diǎn)數(shù)增加)的過(guò)程中,網(wǎng)絡(luò)誤差會(huì)出現(xiàn)迅速減小然后趨于穩(wěn)定 的一個(gè)階段,因此,合理隱層節(jié)

31、點(diǎn)數(shù)應(yīng)取誤差迅速減小后基本穩(wěn)定時(shí)的隱層節(jié)點(diǎn)數(shù)。 總之,合理網(wǎng)絡(luò)模型是必須在具有合理隱層節(jié)點(diǎn)數(shù)、訓(xùn)練時(shí)沒(méi)有發(fā)生“過(guò)擬合” 現(xiàn)象、求得全局極小點(diǎn)和同時(shí)考慮網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜程度和誤差大小的綜合結(jié)果。設(shè)計(jì)合 理 bp 網(wǎng)絡(luò)模型的過(guò)程是一個(gè)不斷調(diào)整參數(shù)的過(guò)程,也是一個(gè)不斷對(duì)比結(jié)果的過(guò)程,比 較復(fù)雜且有時(shí)還帶有經(jīng)驗(yàn)性。這個(gè)過(guò)程并不是想象的那樣,隨便套用一個(gè)公式確定隱 層節(jié)點(diǎn)數(shù),經(jīng)過(guò)一次訓(xùn)練就能得到合理的網(wǎng)絡(luò)模型(這樣建立的模型極有可能是訓(xùn)練 樣本的錯(cuò)誤反映,沒(méi)有任何實(shí)用價(jià)值) 。 雖然神經(jīng)網(wǎng)絡(luò)的類型很多,建立神經(jīng)網(wǎng)絡(luò)模型時(shí),根據(jù)研究對(duì)象的特點(diǎn),可以考慮 不同的神經(jīng)網(wǎng)絡(luò)模型。 前饋型 bp 網(wǎng)絡(luò)即誤差逆?zhèn)鞑ド窠?jīng)

32、網(wǎng)絡(luò)是最常用、最流行的神 經(jīng)網(wǎng)絡(luò)。bp 網(wǎng)絡(luò)的輸入和輸出關(guān)系可以看成是一種映射關(guān)系,即每一組輸入對(duì)應(yīng)一組 輸出。由于網(wǎng)絡(luò)中神經(jīng)元作用函數(shù)的非線性,網(wǎng)絡(luò)實(shí)現(xiàn)是復(fù)雜的非線性映射。關(guān)于這 類網(wǎng)絡(luò)對(duì)非線性的逼近能力,hornikl 等分別利用不同的方法證明了如下一個(gè)事實(shí):僅 含有一個(gè)隱層的前向網(wǎng)絡(luò)能以任意精度逼近定義在 rn 的一個(gè)緊集上的任意非線性函數(shù)。 誤差反向算法是最著名的多層前向網(wǎng)絡(luò)訓(xùn)練算法,盡管存在收斂速度慢、局部極值等 缺點(diǎn),但可通過(guò)各種改進(jìn)措施來(lái)提高它的收斂速度、克服局部極值現(xiàn)象,而且具有簡(jiǎn) 單、易行、計(jì)算量小、并行性強(qiáng)等特點(diǎn),目前仍是多層前向網(wǎng)絡(luò)的首選算法。 2.4 神經(jīng)網(wǎng)絡(luò)模型參數(shù)的

33、確定 由于傳統(tǒng)的誤差反傳 bp 算法較為成熟,且應(yīng)用廣泛,因此努力提高該方法的學(xué)習(xí) 速度具有較高的實(shí)用價(jià)值。bp 算法中有幾個(gè)常用的參數(shù),包括學(xué)習(xí)率,動(dòng)量因子, 形狀因子 及收斂誤差界值 e 等。這些參數(shù)對(duì)訓(xùn)練速度的影響最為關(guān)鍵。 2.4.1 隱層的數(shù)目 理論上雖然證明了這類網(wǎng)絡(luò)的逼近能力,對(duì)于網(wǎng)絡(luò)結(jié)構(gòu)的要求,并沒(méi)有給出明確 的說(shuō)明。因而在應(yīng)用中神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)確定常常有人為的主觀性和藝術(shù)性,缺乏 一個(gè)指導(dǎo)原則。而網(wǎng)絡(luò)訓(xùn)練與結(jié)構(gòu)緊密相關(guān),太大的網(wǎng)絡(luò)結(jié)構(gòu)在訓(xùn)練時(shí)效率不高,而 且還會(huì)由于過(guò)擬合(overfitting)造成網(wǎng)絡(luò)的性能脆弱,泛化能力(generalization ability)下

34、降;太小的網(wǎng)絡(luò)可能就根本不收斂??紤]到本研究的特點(diǎn),結(jié)合不同隱層 網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練結(jié)果,本文選擇了隱層數(shù) l=1 的網(wǎng)絡(luò)結(jié)構(gòu)模型。 2.4.2 隱層神經(jīng)元數(shù)的選擇 隱層神經(jīng)元數(shù)的選擇是一個(gè)十分復(fù)雜的問(wèn)題。因?yàn)闆](méi)有很好的解析式表示,可以 說(shuō)隱層神經(jīng)元數(shù)與問(wèn)題的要求、輸入層與輸出層神經(jīng)元的數(shù)量、訓(xùn)練樣本的數(shù)量等都 有直接關(guān)系。事實(shí)上隱層神經(jīng)元太少不可能將網(wǎng)絡(luò)訓(xùn)練出來(lái),但太多又使學(xué)習(xí)時(shí)間過(guò) 長(zhǎng),使網(wǎng)絡(luò)不“不強(qiáng)壯” ,泛化能力下降,即不能識(shí)別以前沒(méi)有直接接收到的樣本,容 錯(cuò)性差。 隱層神經(jīng)元數(shù)為 4,5 的訓(xùn)練結(jié)果如下: 圖 3 隱層神經(jīng)元為 4 的訓(xùn)練結(jié)果 圖 4 隱層神經(jīng)元為 5 的訓(xùn)練結(jié)果 同理比

35、較神經(jīng)元數(shù)為 6,9,10 等等,可得當(dāng)隱層神經(jīng)元數(shù)為 5 時(shí)最好,所以,隱 層節(jié)點(diǎn)為 5 個(gè)。 神經(jīng)網(wǎng)絡(luò)模型的各層節(jié)點(diǎn)數(shù)分別為:輸入層 3 個(gè);隱層 5 個(gè);輸出層 1 個(gè)。 綜合以上所述,建立空氣質(zhì)量檢測(cè)神經(jīng)網(wǎng)絡(luò)模型如圖 3 所示。 圖 5 空氣質(zhì)量檢測(cè)神經(jīng)網(wǎng)絡(luò)模型 2.4.3 學(xué)習(xí)率和動(dòng)量因子 bp 算法本質(zhì)上是優(yōu)化計(jì)算中的梯度下降法,利用誤差對(duì)于權(quán)、閥值的一階導(dǎo)數(shù)信 息來(lái)指導(dǎo)下一步的權(quán)值調(diào)整方向,以求最終得到誤差最小。為了保證算法的收斂性, 學(xué)習(xí)率必須小于某一上限,一般取 01,而且越接近極小值,由于梯度變化值 逐漸趨于零,算法的收斂就越來(lái)越慢。在網(wǎng)絡(luò)參數(shù)中,學(xué)習(xí)率和動(dòng)量因子是很重 要

36、的,它們的取值直接影響到網(wǎng)絡(luò)的性能,主要是收斂速度。為提高學(xué)習(xí)速度,應(yīng)采 用大的。但太大卻可能導(dǎo)致在穩(wěn)定點(diǎn)附近振蕩,乃至不收斂。針對(duì)具體的網(wǎng)絡(luò)結(jié)構(gòu) 模型和學(xué)習(xí)樣本,都存在一個(gè)最佳的學(xué)習(xí)率和動(dòng)量因子,它們的取值范圍一般 01 之間,視實(shí)際情況而定。 2.4.4 初始權(quán)值的選擇 在前饋多層神經(jīng)網(wǎng)絡(luò)的 bp 算法中,初始權(quán)、閾值一般是在一個(gè)固定范圍內(nèi)按均勻 分布隨機(jī)產(chǎn)生的。一般文獻(xiàn)認(rèn)為初始權(quán)值范圍為-11 之間,初始權(quán)值的選擇對(duì)于局 部極小點(diǎn)的防止和網(wǎng)絡(luò)收斂速度的提高均有一定程度的影響,如果初始權(quán)值范圍選擇 不當(dāng),學(xué)習(xí)過(guò)程一開(kāi)始就可能進(jìn)入“假飽和”現(xiàn)象,甚至進(jìn)入局部極小點(diǎn),網(wǎng)絡(luò)根本 不收斂。初始權(quán)、

37、閾值的選擇因具體的網(wǎng)絡(luò)結(jié)構(gòu)模式和訓(xùn)練樣本不同而有所差別,一 般應(yīng)視實(shí)際情況而定。本文采用 newff()函數(shù)自動(dòng)完成權(quán)值和閾值的初始化。 2.4.5 收斂誤差界值 emin 在網(wǎng)絡(luò)訓(xùn)練過(guò)程中應(yīng)根據(jù)實(shí)際情況預(yù)先確定誤差界值。誤差界值的選擇完全根據(jù) 網(wǎng)絡(luò)模型的收斂速度大小和具體樣本的學(xué)習(xí)精度來(lái)確定。當(dāng) emin 值選擇較小時(shí),學(xué)習(xí) 效果好,但收斂速度慢,訓(xùn)練次數(shù)增加。如果 emin 值取得較大時(shí)則相反。本文神經(jīng)網(wǎng) 絡(luò)的誤差界值 emin 為 0.001,即在迭代計(jì)算時(shí)誤差值 eemin0.001 時(shí),則認(rèn)為學(xué)習(xí) 完成,停止計(jì)算,輸出結(jié)果。 2.4.6 輸入數(shù)據(jù)的預(yù)處理 在 bp 算法中,神經(jīng)元具有

38、飽和非線性特征(如果神經(jīng)元的總輸入與閾值相距甚遠(yuǎn), 神經(jīng)元的實(shí)際輸出要么為最大值、要么為最小值) 。前饋型靜態(tài)網(wǎng)絡(luò)的神經(jīng)元作用函數(shù) 的總輸入是與其相連的其它神經(jīng)元輸出的加權(quán),在使用 bp 算法時(shí),要防止神經(jīng)元進(jìn)入 飽和狀態(tài),必須限制與其相連的其它神經(jīng)元的輸出幅值。由于輸入層只起數(shù)據(jù)傳送作 用,層中的神經(jīng)元是扇區(qū)單元,通常使用線性作用函數(shù)(輸出等于輸入),不存在飽和 狀態(tài)。第一隱層中的神經(jīng)元通常采用飽和非線性作用函數(shù),學(xué)習(xí)過(guò)程中會(huì)出現(xiàn)飽和現(xiàn) 象,因此要防止此層神經(jīng)元進(jìn)入飽和,必須限制網(wǎng)絡(luò)輸入的幅值。所以,為減少平臺(tái) 現(xiàn)象出現(xiàn)的可能,加快學(xué)習(xí),應(yīng)對(duì)網(wǎng)絡(luò)的輸入樣本進(jìn)行歸一化(或稱正則化)處理, 這也

39、是 bp 算法必須對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理的真正原因。本文使用的標(biāo)準(zhǔn)化方法如下: p,minp,maxp,t,mint,maxt=premnmx(p,t); 式中,p 為輸入量,t 為輸出量,p 和 t 為經(jīng)過(guò)歸一化處理后的實(shí)驗(yàn)數(shù)據(jù)。 3 matlab 實(shí)現(xiàn)和結(jié)果分析 3.1 matlab 神經(jīng)網(wǎng)絡(luò)工具箱的應(yīng)用 在網(wǎng)絡(luò)訓(xùn)練過(guò)程中使用的是 matlab 6.5 for windows 軟件,對(duì)于 bp 神經(jīng)元網(wǎng)絡(luò) 的訓(xùn)練使用了 neural networks toolbox for matlab。美國(guó)的 mathwork 公司推出的 matlab 軟件包既是一種非常實(shí)用有效的科研編程軟件環(huán)境,又是一

40、種進(jìn)行科學(xué)和工程 計(jì)算的交互式程序。matlab 中的神經(jīng)網(wǎng)絡(luò)工具箱以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),利用 matlab 腳本 語(yǔ)言構(gòu)造出典型的神經(jīng)網(wǎng)絡(luò)激活函數(shù),使設(shè)計(jì)者對(duì)所選網(wǎng)絡(luò)的計(jì)算變成對(duì)激活函數(shù)的 調(diào)用,可以大大方便權(quán)值訓(xùn)練,減少訓(xùn)練程序工作量,有效的提高工作效率,為用戶提 供了極大方便。 3.2 基于 matlab 的 bp 算法的實(shí)現(xiàn)過(guò)程 (1) 原始數(shù)據(jù)的預(yù)處理。 (2) 數(shù)據(jù)歸一化。為了適應(yīng)網(wǎng)絡(luò)的訓(xùn)練,以便與網(wǎng)絡(luò)向前傳播輸出值對(duì)比計(jì)算目 標(biāo)函數(shù)誤差,需要對(duì)數(shù)據(jù)進(jìn)行歸一化。通過(guò) premnmx()函數(shù)進(jìn)行歸一化處理,其數(shù)據(jù)分 布在-11之間。 (3) bp 網(wǎng)絡(luò)模型的建立。matlab 的神經(jīng)網(wǎng)絡(luò)

41、工具箱提供了最多 3 層向前網(wǎng)絡(luò),隱層神 經(jīng)元傳遞函數(shù)多為 s 型函數(shù),這種非線性傳遞函數(shù)神經(jīng)元可以學(xué)習(xí)輸入輸出之間的線 性和非線性關(guān)系;輸出層神經(jīng)元傳遞函 purelin(),這種純線性傳遞函數(shù)可以拓寬網(wǎng)絡(luò) 輸出。網(wǎng)絡(luò)輸入層和隱層節(jié)點(diǎn)數(shù)對(duì)網(wǎng)絡(luò)性能有較大影響。隱層節(jié)點(diǎn)數(shù)太多,網(wǎng)絡(luò)訓(xùn)練 時(shí)間長(zhǎng);節(jié)點(diǎn)太少,誤差精度又達(dá)不到要求。 (4)bp 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。在訓(xùn)練之前必須對(duì)權(quán)值和閾值的初始化,采用 matlab 中 newff 函數(shù)可自動(dòng)完成這一過(guò)程。newff 函數(shù)常用格式為: net=newff(pr,s1 s2 sn,tf1 tf2 tfn,btf); 式中,pr 為 r2 維矩陣,表示 r

42、 維輸入矢量中每維輸入的最小值與最大值之間的范圍; s1 s2 sn中各元素分別表示各層神經(jīng)元的數(shù)目;tf1 tf2 tfn中各元素分別 表示各層神經(jīng)元采用的傳遞函數(shù);btf 表示神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)采用的訓(xùn)練函數(shù)。應(yīng)用 minmax 函數(shù)可以求出樣本的輸入范圍,使用附加動(dòng)量法和自適應(yīng)學(xué)系速率相結(jié)合的技 術(shù)算法函數(shù) traingdx 為訓(xùn)練函數(shù),設(shè)定訓(xùn)練次數(shù)、要求精度、學(xué)習(xí)率等訓(xùn)練參數(shù),進(jìn) 行網(wǎng)絡(luò)訓(xùn)練,使網(wǎng)絡(luò)的學(xué)習(xí)值和期望值達(dá)到精度要求,保存權(quán)值和閾值。 (5) 網(wǎng)絡(luò)仿真。訓(xùn)練結(jié)束后,利用 sim 函數(shù)對(duì)訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)仿真,調(diào)用 postreg 函數(shù)對(duì)訓(xùn)練后網(wǎng)絡(luò)的仿真輸出和目標(biāo)輸出做線性回歸分

43、析,以檢驗(yàn)網(wǎng)絡(luò)的訓(xùn)練 效果。 3.3 訓(xùn)練神經(jīng)網(wǎng)絡(luò) 空氣質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)參照表 1,具體見(jiàn)附錄 1 中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)環(huán)境空氣質(zhì)量標(biāo)準(zhǔn) (gb3095-1996)各項(xiàng)污染物的濃度限值(1999 年) 表一 空氣質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)參照 濃度限度 concentration value 污染物名稱 pollutants 取值時(shí)間 time 一級(jí) level one 二級(jí) level two 三級(jí) level three 濃度單位 concentrention unit 二氧化硫(so2) 0.050.150.25 可吸入顆粒物 (pm10) 0.050.150.25 二氧化氮(no2) 日均值 dail

44、y average 0.040.080.12 mg/m3 (1)準(zhǔn)備工作訓(xùn)練樣本、檢測(cè)樣本及其期望目標(biāo)的生成。 訓(xùn)練樣本46:采用matlab 的rand()函數(shù)在各級(jí)評(píng)價(jià)標(biāo)準(zhǔn)內(nèi)按隨機(jī)均勻分布方式 內(nèi)插生成訓(xùn)練樣本,小于一級(jí)標(biāo)準(zhǔn)生成200 個(gè),一、二級(jí)標(biāo)準(zhǔn)之間生成200 個(gè),二、 三級(jí)標(biāo)準(zhǔn)之間生成200個(gè),共形成600個(gè)訓(xùn)練樣本。解決了過(guò)去僅用各級(jí)評(píng)價(jià)標(biāo)準(zhǔn)作為 訓(xùn)練樣本,導(dǎo)致訓(xùn)練樣本數(shù)過(guò)少和無(wú)法構(gòu)建檢測(cè)樣本的問(wèn)題。 步驟: 用matlab新建一個(gè)m文件,內(nèi)容如下: p1(1,:)=0+0.05.*rand(1,200); p1(2,:)=0+0.05.*rand(1,200); p1(3,:)

45、=0+0.04.*rand(1,200); p2(1,:)=0.05+0.1.*rand(1,200); p2(2,:)=0.05+0.05.*rand(1,200); p2(3,:)=0.04+0.04.*rand(1,200); p3(1,:)=0.15+0.1.*rand(1,200); p3(2,:)=0.1+0.05.*rand(1,200); p3(3,:)=0.08+0.04.*rand(1,200); p=p1 p2 p3; 運(yùn)行生成如下所示: 圖6 輸入變量生成結(jié)果 檢測(cè)樣本:用生成訓(xùn)練樣本同理的方法生成檢測(cè)樣本,小于一級(jí)標(biāo)準(zhǔn)生成50個(gè),一、 二級(jí)標(biāo)準(zhǔn)之間生成50個(gè),二、三級(jí)

46、標(biāo)準(zhǔn)之間生成50個(gè),共形成150個(gè)檢測(cè)樣本。 期望目標(biāo)(對(duì)于訓(xùn)練樣本與檢測(cè)樣本):采用一個(gè)輸出神經(jīng)元,小于一級(jí)標(biāo)準(zhǔn)的訓(xùn)練樣 本和檢測(cè)樣本的期望目標(biāo)輸出為 1;一、二級(jí)標(biāo)準(zhǔn)之間的訓(xùn)練樣本和檢測(cè)樣本的期望目 標(biāo)輸出為 2;同理,二、三級(jí)標(biāo)準(zhǔn)之間的訓(xùn)練樣本和檢測(cè)樣本的期望目標(biāo)輸出為 3。 步驟: 用matlab新建一個(gè)m文件,內(nèi)容如下: t1=ones(1,200); t2=1+ones(1,200); t3=2+ones(1,200); t=t1 t2 t3; 保存為 t.m,運(yùn)行生成如下所示: 圖 7 期望目標(biāo)生成結(jié)果 (2)空氣質(zhì)量評(píng)價(jià)等級(jí)的劃分界限 據(jù)上述生成訓(xùn)練樣本與檢測(cè)樣本目標(biāo)輸出的思路

47、可以確定一、二、三各級(jí)空氣的 網(wǎng)絡(luò)輸出范圍分別為: 1 2 3 (3) 原始數(shù)據(jù)的預(yù)處理 試驗(yàn)兩種預(yù)處理方案:其一,歸一化,利用premnmx函數(shù)將原始數(shù)據(jù)歸一化到-1與 1之間;其二,不歸一化,原始數(shù)據(jù)不進(jìn)行預(yù)處理。 (4) 構(gòu)建網(wǎng)絡(luò) bp網(wǎng)絡(luò)輸入神經(jīng)元數(shù)取決于空氣質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)的指標(biāo)數(shù),根據(jù)題意定為3,輸出層 神經(jīng)元數(shù)設(shè)定為1,利用matlab中的函數(shù)訓(xùn)練網(wǎng)絡(luò),確定所需隱層單元數(shù)。隱層激勵(lì)函 數(shù)為tansig()函數(shù),輸出層激勵(lì)函數(shù)為線性函數(shù)purelin() 網(wǎng)絡(luò)對(duì)象建立的主程序如下所示: r, q=size(p) ; s2, q=size(t) ;s1=5; p,minp,maxp,t,

48、mint,maxt=premnmx(p,t);%對(duì)數(shù)據(jù)進(jìn)行預(yù)處理 net=newff(minmax(p),5, 1, tansig,purelin, traingdx); 文中所構(gòu)建的bp網(wǎng)絡(luò)具有一個(gè)隱層和一個(gè)輸出層,其中隱層共有5個(gè)神經(jīng)元,輸出有1 個(gè)神經(jīng)元,隱層和輸出層的傳遞函數(shù)分別為tansig和purelin,采用的訓(xùn)練函數(shù)為 traingdx,其他均采用bp網(wǎng)絡(luò)的默認(rèn)設(shè)置。在調(diào)用該網(wǎng)絡(luò)程序時(shí),對(duì)所有作為輸入單 元的數(shù)據(jù)均要通過(guò)premnmx()函數(shù)進(jìn)行預(yù)處理。 程序運(yùn)行生成: 圖8 網(wǎng)絡(luò)net生成結(jié)果 (5)訓(xùn)練網(wǎng)絡(luò)如下: net.trainfcn=traingdx; net.tra

49、inparam.epochs=7000; net.trainparam.goal=1e-3; net.trainparam.lr=0.05; (net,tr)=train(net,p,t); 運(yùn)行結(jié)果如下: 圖 9 訓(xùn)練實(shí)現(xiàn) (6)訓(xùn)練樣本結(jié)果仿真 y=sim(net,p); y=postmnmx(y,mint,maxt); figure(1) x=1:600; plot(x,y,+b,x,t,or); xlabel(輸入); ylabel(輸出); text(200,1,一級(jí) 優(yōu)); text(400,2,二級(jí) 良好); text(400,3.3,三級(jí) 差); text(100,3,藍(lán)色+

50、實(shí)際輸出) text(100,2.7,紅色 o 目標(biāo)輸出) 運(yùn)行結(jié)果如下圖所示: 圖 10 訓(xùn)練樣本結(jié)果仿真 (7)調(diào)用 postreg 函數(shù)對(duì)訓(xùn)練后網(wǎng)絡(luò)的仿真輸出和目標(biāo)輸出做線性回歸分析,以檢驗(yàn) 網(wǎng)絡(luò)的訓(xùn)練效果。 m,b,r=postreg(y,t); 運(yùn)行如下圖所示: 圖 11 線性回歸分析圖 r 為輸出矢量和目標(biāo)矢量之間的相關(guān)系數(shù),當(dāng) r 為 1 時(shí),輸出和目標(biāo)矢量之間的相關(guān)性 最好,從圖上知 r=0.999,說(shuō)明相關(guān)性比較好。 檢驗(yàn)樣本輸出結(jié)果: 圖 12 檢驗(yàn)樣結(jié)果仿真本圖 由上圖可知:對(duì)訓(xùn)練樣本而言,當(dāng)輸入為小于一級(jí)標(biāo)準(zhǔn)的限值時(shí)輸出均在 1 左右;當(dāng) 輸入大于一級(jí)限值小于二級(jí)限值時(shí)

51、,輸出均在 2 左右;當(dāng)輸入大于二級(jí)限值小于三級(jí) 限值時(shí),輸出均在 3 左右。同樣,檢驗(yàn)樣本的檢測(cè)結(jié)果也比較符合目標(biāo)輸出。 表 2 部分樣本檢驗(yàn)結(jié)果和期望輸出比較表 檢測(cè)樣本 so2no2pm10 實(shí)際輸出期望輸出 10.045760.044560.034761.127821 20.065980.143610.075642.023542 30.032660.000980.012350.999661 40.098230.126940.069992.000362 50.216530.201430.103673.010403 60.042170.032570.032961.116231 70.182

52、650.192630.114572.986573 80.246380.187350.097893.041273 90.126740.100450.075462.014562 表 3 用物元評(píng)價(jià)法3、模糊綜合評(píng)判法3、灰色聚類法3和本文方法分別對(duì)部分樣本 的大氣環(huán)境質(zhì)量評(píng)價(jià)。結(jié)果比較表明:本文的方法與灰色聚類法的評(píng)價(jià)結(jié)果是相同的, 與物元評(píng)價(jià)法的評(píng)價(jià)結(jié)果也很接近。可見(jiàn), bp 人工神經(jīng)網(wǎng)絡(luò)用于大氣環(huán)境評(píng)價(jià)是可行 的, 能夠反映大氣環(huán)境質(zhì)量狀況。 表 3 結(jié)果比較 評(píng)價(jià)方法 123456789 物元評(píng)價(jià) 法 221231332 模糊綜合 評(píng)價(jià)法 221232332 bp 網(wǎng)絡(luò) 評(píng)價(jià)法 121231

53、332 灰色聚類 評(píng)價(jià)法 121231332 4 結(jié)語(yǔ) (1) 利用matlab的rand函數(shù)生成評(píng)價(jià)訓(xùn)練樣本、檢測(cè)樣本及其對(duì)應(yīng)目標(biāo)輸出的方法, 可以產(chǎn)生足夠數(shù)量的訓(xùn)練與檢測(cè)樣本,能較好地避免過(guò)去僅用評(píng)價(jià)標(biāo)準(zhǔn)作為訓(xùn) 練樣本帶來(lái)的訓(xùn)練樣本數(shù)少和不能構(gòu)建檢測(cè)樣本問(wèn)題,對(duì)提高網(wǎng)絡(luò)的泛化能力 具有較為顯著的效果。 (2) 在應(yīng)用matlab工具箱函數(shù)實(shí)現(xiàn)bp網(wǎng)絡(luò)功能時(shí),應(yīng)將原始數(shù)據(jù)進(jìn)行歸一化,否則, 網(wǎng)絡(luò)難以收斂。 致謝 伴著論文的即將完成,心情也開(kāi)始慢慢地輕松起來(lái)。從開(kāi)始進(jìn)入課題到搜集資料, 從寫稿到反復(fù)修改,期間經(jīng)歷了喜悅、煩躁、痛苦和彷徨,在寫作論文的過(guò)程中心情 是如此復(fù)雜。有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng) 摯的謝意! 最后感謝我的導(dǎo)師史麗紅老師。她為人隨和熱情

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論