国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率研究

2018-04-25 05:50李卉孫偉
價(jià)值工程 2018年12期
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò)球面

李卉 孫偉

摘要:為了對(duì)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率進(jìn)行研究,利用一個(gè)特定的半球面方程案例,對(duì)隱層單元數(shù)、傳遞函數(shù)、測(cè)試集樣本點(diǎn)數(shù)這三個(gè)變量對(duì)BP網(wǎng)絡(luò)學(xué)習(xí)效率影響程度進(jìn)行分析。通過3次實(shí)驗(yàn),實(shí)驗(yàn)一只改變一個(gè)變量、實(shí)驗(yàn)二同時(shí)改變兩個(gè)變量,實(shí)驗(yàn)三同時(shí)改變?nèi)齻€(gè)變量來比較實(shí)驗(yàn)的運(yùn)行時(shí)間,實(shí)驗(yàn)誤差,記錄實(shí)驗(yàn)結(jié)果,并進(jìn)行了實(shí)驗(yàn)分析,得出BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率最佳時(shí)的參數(shù)取值。結(jié)果表明當(dāng)隱層單元數(shù)為8、傳遞函數(shù)為tansig、測(cè)試集樣本點(diǎn)數(shù)為16時(shí),BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率最佳。

Abstract: In order to study the learning efficiency of BP neural network, a specific case of hemispherical equation was used to analyze the impact of three variables, ie, the number of hidden layer units, the transfer function and the number of test sample points on the learning efficiency of BP network. After three experiments, one variable was changed in experiment one, two variables were changed in experiment two and three variables were changed in experiment three at the same time to compare the running time and experimental error of the experiment. The experimental results were recorded and analyzed experimentally to get BP The parameter value of the neural network to learn the best efficiency. The results show that BP neural network has the best learning efficiency when the number of hidden layer units is 8, the transfer function is tansig, and the number of test samples is 16.

關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò);球面;效率分析

Key words: BP neural network;sphere;efficiency analysis

中圖分類號(hào):TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)12-0183-04

0 引言

人工神經(jīng)網(wǎng)絡(luò)是一個(gè)數(shù)學(xué)模型,它通過模擬真實(shí)的人腦神經(jīng)網(wǎng)絡(luò)來進(jìn)行信息處理。人工神經(jīng)網(wǎng)絡(luò)具有以下四個(gè)基本特征:非線性、非局限性、非常定性和非凸性[1]。相比于其他數(shù)學(xué)模型,它的優(yōu)點(diǎn)在于:①具有自學(xué)功能。例如只需要將所有識(shí)別的對(duì)象及結(jié)果輸入進(jìn)去,通過自學(xué)習(xí)功能,則會(huì)具備識(shí)別該類對(duì)象的能力。②具有聯(lián)想儲(chǔ)存功能。③能夠快速地尋找到最優(yōu)解[2]。

BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種比較典型的學(xué)習(xí)算法,是一種多層前向神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的神經(jīng)元采用的傳遞函數(shù)可以實(shí)現(xiàn)輸入與輸出間的任意非線性映射,在模式識(shí)別、風(fēng)險(xiǎn)評(píng)價(jià)、自適應(yīng)控制等方面有著最為廣泛的應(yīng)用[3]。而效率問題是BP神經(jīng)網(wǎng)絡(luò)的一個(gè)重要的問題,基于此,本文對(duì)BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效率影響因素研究具有一定的意義。

1 BP神經(jīng)網(wǎng)絡(luò)原理

BP算法作為人工神經(jīng)網(wǎng)絡(luò)的一種比較典型的學(xué)習(xí)算法由一個(gè)輸入層、多個(gè)隱含層和一個(gè)輸出層組成。各層由若干個(gè)神經(jīng)元(節(jié)點(diǎn))構(gòu)成。每一個(gè)節(jié)點(diǎn)的輸出值由輸入值、作用函數(shù)和閾值決定[4]。BP網(wǎng)絡(luò)的學(xué)習(xí)過程包括信息正向傳播和誤差反向傳播兩個(gè)過程,在正向傳播過程中,輸入信息從輸入層經(jīng)隱含層傳到輸出層經(jīng)作用函數(shù)運(yùn)算后得到輸出值與期望值比較,若有誤差則誤差反向傳播,沿原先的連接通路返回,通過逐層修改各層神經(jīng)元的權(quán)值減少誤差[5]。如此循環(huán)直到輸出的結(jié)果符合精度要求為止。

BP網(wǎng)絡(luò)的存儲(chǔ)信息主要體現(xiàn)在兩個(gè)方面,一是網(wǎng)絡(luò)的體系結(jié)構(gòu),即網(wǎng)絡(luò)輸入層-隱含層和輸出層節(jié)點(diǎn)的個(gè)數(shù),二是相鄰層節(jié)點(diǎn)之間的連接權(quán)值。影響網(wǎng)絡(luò)結(jié)構(gòu)的主要參數(shù)是隱含層的節(jié)點(diǎn)個(gè)數(shù)、學(xué)習(xí)率和系統(tǒng)誤差。輸入層和輸出層節(jié)點(diǎn)個(gè)數(shù)由系統(tǒng)應(yīng)用決定(一般來說是確定的)而隱含層節(jié)點(diǎn)個(gè)數(shù)由用戶憑經(jīng)驗(yàn)決定,個(gè)數(shù)過少將影響到網(wǎng)絡(luò)的有效性,過多會(huì)大幅度增加網(wǎng)絡(luò)訓(xùn)練的時(shí)間。學(xué)習(xí)率通常在0.01-0.9之間。一般來說,學(xué)習(xí)率越小,訓(xùn)練次數(shù)越多。但學(xué)習(xí)率過大,會(huì)影響網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定性。

通過BP定理可知,只要用一個(gè)三層BP神經(jīng)網(wǎng)絡(luò)就可在任意希望的精度上實(shí)現(xiàn)任意的連續(xù)函數(shù)。Funahashi進(jìn)一步對(duì)每層神經(jīng)元函數(shù)的選取進(jìn)行研究后指出,在三層網(wǎng)絡(luò)中,只要對(duì)隱層采用非線性遞增映射函數(shù)。輸入輸出層采用線性映射函數(shù),就可以用該網(wǎng)絡(luò)對(duì)任意連續(xù)函數(shù) Y=H(X)進(jìn)行逼近。

本文利用 Matlab的神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行系統(tǒng)仿真,通過改變系統(tǒng)的隱層單元數(shù)、傳遞函數(shù)和測(cè)試集樣本點(diǎn)數(shù),分別比較系統(tǒng)在不同變量發(fā)生改變后在實(shí)現(xiàn)函數(shù)逼近性能方面的差異 。

2 BP神經(jīng)網(wǎng)絡(luò)模型建立步驟

①確定BP神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)的個(gè)數(shù)并設(shè)定好權(quán)值和閾值的初始值。②將樣本和對(duì)應(yīng)的結(jié)果輸入進(jìn)去,利用網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。③將所輸入樣本對(duì)應(yīng)的期望輸出值計(jì)算出來并與實(shí)際輸出值對(duì)比。④計(jì)算兩者之間的差值,并求出誤差。⑤根據(jù)步驟4得出的誤差來更新連接權(quán)值。⑥求誤差函數(shù)判斷是否收斂到給定的學(xué)習(xí)精度以內(nèi)。

3 實(shí)例仿真和結(jié)果

本文利用BP神經(jīng)網(wǎng)絡(luò)逼近球面方程:

z=,(0?燮x?燮10,0?燮y?燮10)

構(gòu)造一個(gè)三層BP神經(jīng)網(wǎng)絡(luò),分析不同變量的效率問題。隱層到輸出層傳遞函數(shù)選用 “purelin”,其中變量分為以下三個(gè):①隱層單元個(gè)數(shù)5-8;②輸入層到隱層傳遞函數(shù)選用“l(fā)ogsig”,“tansig”;③產(chǎn)生測(cè)試樣本集坐標(biāo)點(diǎn)數(shù):5-30。

由于X的范圍為0-10,Y的范圍為0-10,則將X和Y等分成10等分,產(chǎn)生11*11的網(wǎng)格,共121個(gè)點(diǎn),即為模型的訓(xùn)練集。

由于測(cè)試集為變量,所以本文隨機(jī)選取了3個(gè)測(cè)試集,第一個(gè)測(cè)試集有9個(gè)點(diǎn),其產(chǎn)生程序?yàn)閤1=1:4:10;y1=1:4:10;[X,Y]=meshgrid(x1,y1);第二個(gè)測(cè)試集有16個(gè)點(diǎn),其產(chǎn)生程序?yàn)閤1=1:3:10;y1=1:3:10;[X,Y]=meshgrid(x1,y1);第三個(gè)測(cè)試集有25個(gè)點(diǎn),測(cè)試集產(chǎn)生程序?yàn)閤1=1:2:10;y1=1:2:10;[X,Y]=meshgrid(x1,y1)。

3.1 matlab實(shí)驗(yàn)代碼

表1為實(shí)驗(yàn)過程的實(shí)驗(yàn)代碼,分為了6段代碼。

3.2 實(shí)驗(yàn)一:改變一個(gè)變量

變量共有三個(gè)即隱層單元數(shù)、輸入層到輸出層的傳遞函數(shù)和測(cè)試集的坐標(biāo)點(diǎn)數(shù)。為了找出各變量變化對(duì)實(shí)驗(yàn)結(jié)果的影響,先進(jìn)行實(shí)驗(yàn)一,每次只改變一個(gè)變量,固定另外兩個(gè)變量,分別記錄下Matlab軟件下實(shí)驗(yàn)的運(yùn)行時(shí)間,實(shí)驗(yàn)誤差,并在Matlab軟件中計(jì)算出模型的訓(xùn)練誤差和測(cè)試誤差。其中實(shí)驗(yàn)一設(shè)立對(duì)照組,其變量選取為隱層單元數(shù)為5、傳遞函數(shù)為tansig、測(cè)試樣本點(diǎn)數(shù)為16個(gè)點(diǎn)。為了盡量消除軟件的隨機(jī)誤差,本文每次改變變量都會(huì)先將程序運(yùn)行20次左右,然后記錄連續(xù)5次的實(shí)驗(yàn)結(jié)果,并取平均值,實(shí)驗(yàn)結(jié)果如表2所示。

由表2可以看出,當(dāng)改變測(cè)試集點(diǎn)數(shù)時(shí),測(cè)試集為9個(gè)點(diǎn)時(shí),平均測(cè)試誤差為0.67%,平均運(yùn)行時(shí)間為7.8秒,平均模型誤差為0.67%;當(dāng)測(cè)試集為16個(gè)點(diǎn)時(shí),平均測(cè)試誤差為0.52%,平均運(yùn)行時(shí)間為9.6秒,平均模型誤差為0.45%;當(dāng)測(cè)試集為25個(gè)點(diǎn)時(shí),平均測(cè)試誤差為0.59%,平均運(yùn)行時(shí)間為9.2秒,平均模型誤差為0.62%.從這些結(jié)果可以看出,測(cè)試集為16個(gè)點(diǎn)時(shí)其測(cè)試誤差和模型誤差最小,運(yùn)行時(shí)間稍有提升,三個(gè)測(cè)試集的實(shí)驗(yàn)誤差都很小達(dá)到了0.01。故從改變測(cè)試集的角度來看,16點(diǎn)的效果最好,25點(diǎn)次之,9個(gè)點(diǎn)最差。故實(shí)驗(yàn)一的實(shí)驗(yàn)以測(cè)試集為25點(diǎn)、隱層單元數(shù)為5、傳遞函數(shù)為tansig作為對(duì)照組。

與對(duì)照組相比,當(dāng)隱層單元數(shù)由5分別變化為6、7、8時(shí),平均測(cè)試誤差從0.52%依次變化為0.30%、0.23%、0.20%,平均運(yùn)行時(shí)間從9.6秒依次變化為8.8、9.4、7,模型誤差從0.45%依次變化為0.30%、0.28%、0.21%,可以看出測(cè)試誤差和模型誤差隨著隱層單元數(shù)的增加呈遞減,運(yùn)行時(shí)間小有波動(dòng),8層時(shí)效果達(dá)到最好。且平均實(shí)驗(yàn)誤差很小不超過0.01。因此,增加隱層單元數(shù)可以提高模型的精度。

與對(duì)照組相比,當(dāng)輸入層到隱含層的傳遞函數(shù)由tansig變化為logsig時(shí),平均測(cè)試誤差從0.52%變化為0.53%,平均運(yùn)行時(shí)間從9.6秒依次變化為9.8,模型誤差從0.45%依次變化為0.62%,可以看出測(cè)試誤差和模型誤差稍有升高,運(yùn)行時(shí)間稍微增加,平均實(shí)驗(yàn)誤差很小不超過0.01。所以傳遞函數(shù)tansig的效果要稍微比logsig好。

綜上所述,當(dāng)改變單個(gè)變量時(shí),選擇的隱層單元數(shù)越多模型效果越好,測(cè)試集為16點(diǎn)最好、輸入層到傳遞層函數(shù)tansig較好。因此,可以猜想按實(shí)驗(yàn)一的結(jié)論向?qū)δP陀欣姆较蚋淖兏淖內(nèi)我?個(gè)變量時(shí),模型會(huì)得以改進(jìn),這將在實(shí)驗(yàn)二得以證明。還可以猜想向?qū)δP陀欣姆较蚋淖內(nèi)齻€(gè)變量時(shí)模型會(huì)達(dá)到最優(yōu),這將在實(shí)驗(yàn)三得以證明。

3.3 實(shí)驗(yàn)二:改變兩個(gè)變量

實(shí)驗(yàn)二的目的是為了找出同時(shí)改變哪兩個(gè)變量對(duì)模型改進(jìn)的效果最好。因?yàn)橛蓪?shí)驗(yàn)一得出的結(jié)論,改變單個(gè)變量時(shí),隱層單元數(shù)為5、傳遞函數(shù)為logsig、測(cè)試集樣本點(diǎn)為9時(shí)效果最不好,因此實(shí)驗(yàn)二以隱層單元數(shù)5、傳遞函數(shù)logsig、測(cè)試樣本點(diǎn)數(shù)9為對(duì)照組,有3個(gè)變量,改變兩個(gè)變量的排列組合共為3,則共有3個(gè)實(shí)驗(yàn)組。實(shí)驗(yàn)操作與結(jié)果記錄與實(shí)驗(yàn)一相同,實(shí)驗(yàn)結(jié)果如表3所示。

由表3可以看出,與對(duì)照組相比,改變隱層單元數(shù)和傳遞函數(shù)時(shí)(即隱層單元由5變?yōu)?、傳遞函數(shù)由logsig變?yōu)閠ansig)、改變隱層單元數(shù)和測(cè)試集(即隱層單元由5變?yōu)?、測(cè)試集點(diǎn)數(shù)由9變?yōu)?6)和改變傳遞函數(shù)和測(cè)試集(即傳遞函數(shù)由logsig變?yōu)閠ansig、測(cè)試集點(diǎn)數(shù)由9點(diǎn)變?yōu)?6點(diǎn))平均測(cè)試誤差從0.70%分別變化為0.24%、0.29%、0.66%,平均運(yùn)行時(shí)間從9秒依次變化為6、7、8.8,模型誤差從0.71%依次變化為0.21%、0.22%、0.54%,平均實(shí)驗(yàn)誤差很小不超過0.01??梢钥闯龈淖兏淖冸[層單元數(shù)和傳遞函數(shù)時(shí)模型的平均測(cè)試誤差和平均模型訓(xùn)練誤差達(dá)到最低、時(shí)間也是最少,改進(jìn)效果最好,效果此好時(shí)改變隱層單元數(shù)和測(cè)試集、最后是改變傳遞函數(shù)和測(cè)試集。

3.4 實(shí)驗(yàn)三:改變?nèi)齻€(gè)變量

實(shí)驗(yàn)室三的目的在實(shí)驗(yàn)一和實(shí)驗(yàn)二得出的結(jié)論基礎(chǔ)上找出最佳BP神經(jīng)網(wǎng)絡(luò)逼近球面方程的變量取值,并驗(yàn)證實(shí)驗(yàn)一的猜想。實(shí)驗(yàn)結(jié)果如表4所示。由表4可以看出,當(dāng)隱層單元數(shù)變?yōu)?、傳遞函數(shù)變?yōu)閠ansig、測(cè)試集樣本點(diǎn)數(shù)為16時(shí),測(cè)試誤差為0.20%、訓(xùn)練誤差為0.21%達(dá)到了該研究報(bào)告的最低點(diǎn),平均運(yùn)行時(shí)間為7s相對(duì)來說較短,實(shí)驗(yàn)誤差不超過0.01。因此,可以總結(jié)出,這是模型建立的最佳變量取值,這也驗(yàn)證了實(shí)驗(yàn)一的猜想。

猜你喜歡
BP神經(jīng)網(wǎng)絡(luò)球面
轉(zhuǎn)體橋大直徑球面平鉸底部混凝土密實(shí)度控制
球面檢測(cè)量具的開發(fā)
深孔內(nèi)球面鏜刀裝置的設(shè)計(jì)
Heisenberg群上移動(dòng)球面法的應(yīng)用——一類半線性方程的Liouville型定理
球面穩(wěn)定同倫群中的ξn-相關(guān)元素的非平凡性
拉伸筋在球面拉伸件拉伸模具中的應(yīng)用