亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BP神經(jīng)網(wǎng)絡(luò)數(shù)字識(shí)別的Matlab實(shí)現(xiàn)

        2019-11-16 06:01:46羅莉
        電子技術(shù)與軟件工程 2019年20期
        關(guān)鍵詞:隱層測(cè)試數(shù)據(jù)結(jié)點(diǎn)

        文/羅莉

        1 引言

        BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),已廣泛應(yīng)用于模式識(shí)別、函數(shù)逼近、信號(hào)處理和自動(dòng)控制等領(lǐng)域,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)。

        在目前數(shù)學(xué)和工程計(jì)算領(lǐng)域較為通用的軟件Matlab中,針對(duì)神經(jīng)網(wǎng)絡(luò)系統(tǒng)的分析與設(shè)計(jì),提供了大量可供直接調(diào)用的工具箱函數(shù)、圖形用戶界面和Simulink仿真工具,是進(jìn)行神經(jīng)網(wǎng)絡(luò)系統(tǒng)分析與設(shè)計(jì)的一個(gè)很好的工具。

        在使用Matlab建模BP神經(jīng)網(wǎng)絡(luò)過(guò)程中,需要調(diào)用函數(shù)newff建立一個(gè)可訓(xùn)練的前饋網(wǎng)絡(luò),此函數(shù)存在新舊兩個(gè)版本,而現(xiàn)在文獻(xiàn)介紹的都是舊版本的使用,對(duì)于新版本如何使用卻鮮有介紹。導(dǎo)致現(xiàn)在很多用戶使用新版本訓(xùn)練函數(shù)newff時(shí),遇到訓(xùn)練結(jié)果不理想的問(wèn)題,苦于找不到原因。本文即以數(shù)字識(shí)別為例,一方面指出新老版本newff使用上的區(qū)別,另一方面對(duì)常見(jiàn)的訓(xùn)練函數(shù)進(jìn)行對(duì)比實(shí)驗(yàn),找到了適用于本文案例的最佳訓(xùn)練函數(shù)。

        2 基于數(shù)字識(shí)別的BP神經(jīng)網(wǎng)絡(luò)構(gòu)建

        現(xiàn)需要設(shè)計(jì)一個(gè)三層BP神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)字0至9進(jìn)行分類(lèi)識(shí)別,訓(xùn)練數(shù)據(jù)如圖1所示,測(cè)試數(shù)據(jù)如圖2所示,文獻(xiàn)[5]中有描述。

        該分類(lèi)問(wèn)題有10類(lèi),由此可設(shè)計(jì)出BP網(wǎng)絡(luò)的輸出層有10個(gè)結(jié)點(diǎn),可采用如圖3所示的輸出目標(biāo)矩陣。

        圖3中的第1列向量代表數(shù)字0的目標(biāo)輸出,第2列向量代表數(shù)字1的目標(biāo)輸出,第3列向量代表數(shù)字2的目標(biāo)輸出,以此類(lèi)推……

        由圖1可知訓(xùn)練數(shù)據(jù)的每個(gè)數(shù)字可用9×7的網(wǎng)格表示,用白色像素代表0,灰色像素代表1,可將網(wǎng)格表示為0或者1的長(zhǎng)位串。位映射由左上角開(kāi)始向下直到網(wǎng)格的整個(gè)一列,然后重復(fù)其他列。如數(shù)字“1”的網(wǎng)格的數(shù)字串表示為{0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,1,0;0,0,1,0,0,0,0,1,0;0,1,1,1,1,1,1,1,0;0,0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,0,0}。由此可確定輸入層有9×7=63個(gè)結(jié)點(diǎn),對(duì)應(yīng)上述網(wǎng)格的映射。

        輸入與輸出層的結(jié)點(diǎn)個(gè)數(shù)已確定,分別是63和10,對(duì)于此類(lèi)比較簡(jiǎn)單的分類(lèi)問(wèn)題,選用一個(gè)隱層即可。隱層結(jié)點(diǎn)數(shù)如何確定?對(duì)于BP網(wǎng)絡(luò)結(jié)構(gòu)中隱層結(jié)點(diǎn)數(shù)的選取沒(méi)有完善的理論可以利用,目前均是進(jìn)行摸索試驗(yàn)。一般地,確定三層BP網(wǎng)絡(luò)的隱層結(jié)點(diǎn)數(shù)的經(jīng)驗(yàn)公式有如下幾個(gè):(m為隱層結(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);l為輸出層結(jié)點(diǎn)數(shù);α為1~10之間的常數(shù))?;谏厦?個(gè)經(jīng)驗(yàn)公式,我們又經(jīng)過(guò)多次摸索試驗(yàn),最終決定隱層結(jié)點(diǎn)數(shù)設(shè)置為20比較優(yōu),于是構(gòu)造出網(wǎng)絡(luò)結(jié)構(gòu)為63-20-10的BP神經(jīng)網(wǎng)絡(luò),如圖4所示。

        圖1:數(shù)字分類(lèi)訓(xùn)練數(shù)據(jù)

        圖2:數(shù)字分類(lèi)測(cè)試數(shù)據(jù)

        3 Matlab實(shí)現(xiàn)

        3.1 newff函數(shù)新舊版本區(qū)別及實(shí)現(xiàn)

        使用Matlab創(chuàng)建神經(jīng)網(wǎng)絡(luò)時(shí),需要用到newff函數(shù)建立網(wǎng)絡(luò)對(duì)象,但若使用舊版本的newff函數(shù),會(huì)出現(xiàn)警告信息,這是由于使用了舊版本的newff參數(shù)列表。解決方法很簡(jiǎn)單,就是改為新版本形式的參數(shù)列表。舊版本中第一個(gè)參數(shù)需要結(jié)合minmax()函數(shù)使用,新版本不需要了;另外新版本中不需要指定輸出層的神經(jīng)元個(gè)數(shù),改為由輸入?yún)?shù)output決定,其他參數(shù)不變。這是新舊版本創(chuàng)建神經(jīng)網(wǎng)絡(luò)方法的不同,但存在另外一個(gè)問(wèn)題,即使相同的數(shù)據(jù)和參數(shù)下,新舊版本的計(jì)算結(jié)果總是不一樣,而且二者偏差很大,通常新版本的newff方法的識(shí)別率總是偏低。造成此問(wèn)題的原因是新版本的神經(jīng)網(wǎng)絡(luò)函數(shù)把訓(xùn)練集分成了3份,即訓(xùn)練集train set,驗(yàn)證集validation set和測(cè)試集test set,默認(rèn)比例為7:1.5:1.5。

        而在類(lèi)似本文案例的BP網(wǎng)絡(luò)構(gòu)建中,由于訓(xùn)練數(shù)據(jù)少,訓(xùn)練集必須要完全保留進(jìn)行訓(xùn)練,否則訓(xùn)練的效果會(huì)出現(xiàn)很大的偏差。通過(guò)仔細(xì)比較新舊兩個(gè)子函數(shù),發(fā)現(xiàn)新版設(shè)置了net.divideFcn屬性,其值為'dividerand',解決辦法是在新版net中再添加一條語(yǔ)句:net.divideFcn=''。示例語(yǔ)句如下(其中X是輸入向量集,Y是目標(biāo)輸出向量集,數(shù)字20是隱層結(jié)點(diǎn)數(shù)):

        圖3:BP網(wǎng)絡(luò)輸出目標(biāo)值

        圖4:BP神經(jīng)網(wǎng)絡(luò)(63-20-10)結(jié)構(gòu)

        上述代碼中,X是訓(xùn)練數(shù)據(jù)(如圖1所示),Y是目標(biāo)輸出值(如圖3所示),T是測(cè)試數(shù)據(jù)(如圖2所示),Sim_T是測(cè)試數(shù)據(jù)識(shí)別輸出結(jié)果。

        3.2 訓(xùn)練函數(shù)實(shí)驗(yàn)比較

        確定了BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)以及在Matlab中的實(shí)現(xiàn)方法,還需要確定的是訓(xùn)練函數(shù)。本文選取了幾種常用的訓(xùn)練算法進(jìn)行實(shí)驗(yàn),有traingd(基本梯度下降法)、traingdm(帶有動(dòng)量項(xiàng)的梯度下降法)、traingdx(帶有動(dòng)量項(xiàng)的自適應(yīng)學(xué)習(xí)算法)、trainlm(L-M優(yōu)化算法)、trainbr(貝葉斯正則法)。

        表1:不同訓(xùn)練函數(shù)實(shí)驗(yàn)結(jié)果比較

        圖5:trainbr測(cè)試輸出結(jié)果

        設(shè)定訓(xùn)練目標(biāo)(goal)的值為1e-05,最小性能梯度(min_grad)的值為1e-025,學(xué)習(xí)步長(zhǎng)(lr)的值為1,隱層和輸出層的傳遞函數(shù)都設(shè)置為“tansig”,其它為默認(rèn)值,可參考文獻(xiàn)[8][9][10]。針對(duì)本文的要求進(jìn)行多次實(shí)驗(yàn),下面給出實(shí)驗(yàn)結(jié)果對(duì)照表1。

        本文實(shí)驗(yàn)所采用的Matlab版本為R2016b,實(shí)驗(yàn)電腦CPU配置為Intel Pentium G2030 3.0GHz。

        表1中的實(shí)驗(yàn)數(shù)據(jù)是對(duì)各種訓(xùn)練函數(shù)連續(xù)運(yùn)行20次后取的平均值。

        從表1中“測(cè)試數(shù)據(jù)識(shí)別成功率”一項(xiàng)可看出,只有trainbr的識(shí)別成功率非常高,幾乎100%準(zhǔn)確,其它幾種訓(xùn)練函數(shù)的識(shí)別成功率都在50%左右,效果不理想。圖5 給出了trainbr某一次訓(xùn)練后測(cè)試數(shù)據(jù)識(shí)別輸出結(jié)果,圖6為trainbr訓(xùn)練數(shù)據(jù)均方誤差曲線。

        由圖5可見(jiàn),trainbr的測(cè)試輸出結(jié)果符合分類(lèi)識(shí)別要求。圖2所示測(cè)試數(shù)據(jù)都有一個(gè)或者多個(gè)位丟失。測(cè)試結(jié)果表明,除了8以外,所有被測(cè)數(shù)字都能夠被正確地識(shí)別。圖5數(shù)據(jù)所示,對(duì)于測(cè)試數(shù)字8,對(duì)應(yīng)數(shù)字6的結(jié)點(diǎn)上的輸出值為0.4513,而對(duì)應(yīng)數(shù)字8的結(jié)點(diǎn)上的輸出值為0.3971,表明第8個(gè)測(cè)試數(shù)據(jù)是模糊的,可能是數(shù)字6,也可能是數(shù)字8。實(shí)際上,人識(shí)別這個(gè)數(shù)字時(shí)也會(huì)發(fā)生這種錯(cuò)誤;對(duì)于測(cè)試數(shù)字9,丟失的像素點(diǎn)較多,但人眼識(shí)別出來(lái)還是數(shù)字9的可能性最大,測(cè)試輸出的結(jié)果也是符合的,在對(duì)應(yīng)數(shù)字9的結(jié)點(diǎn)上的輸出值為0.9441,而對(duì)應(yīng)數(shù)字8的結(jié)點(diǎn)上的輸出值為0.3646,說(shuō)明數(shù)字8的可能性,但是沒(méi)有數(shù)字9的可能性大。

        經(jīng)過(guò)多次試驗(yàn)比對(duì),trainbr最符合本文所述識(shí)別訓(xùn)練算法,識(shí)別結(jié)果高度符合且準(zhǔn)確,和其它幾種算法相比,雖然多占一些運(yùn)行內(nèi)存,但訓(xùn)練收斂時(shí)間卻是相對(duì)比較短的。

        4 結(jié)論

        在Matlab中使用newff函數(shù)創(chuàng)建神經(jīng)網(wǎng)絡(luò)對(duì)象時(shí),對(duì)于如本文類(lèi)似的識(shí)別問(wèn)題(訓(xùn)練數(shù)據(jù)少),要注意將divideFcn置于空,不對(duì)訓(xùn)練集進(jìn)行劃分。通過(guò)對(duì)多種常見(jiàn)的訓(xùn)練函數(shù)進(jìn)行實(shí)驗(yàn)和比較,最后確定了trainbr(貝葉斯規(guī)則法)作為本文的數(shù)字分類(lèi)的訓(xùn)練方法效果最優(yōu),識(shí)別準(zhǔn)確率高,另外通過(guò)本文實(shí)驗(yàn)也驗(yàn)證了trainbr算法的泛化能力強(qiáng)的特點(diǎn)。

        圖6:trainbr訓(xùn)練數(shù)據(jù)均方誤差曲線

        猜你喜歡
        隱層測(cè)試數(shù)據(jù)結(jié)點(diǎn)
        基于RDPSO結(jié)構(gòu)優(yōu)化的三隱層BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)模型及應(yīng)用
        人民珠江(2019年4期)2019-04-20 02:32:00
        測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個(gè)數(shù)估計(jì)
        基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
        空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
        體育科技(2016年2期)2016-02-28 17:06:21
        基于近似結(jié)構(gòu)風(fēng)險(xiǎn)的ELM隱層節(jié)點(diǎn)數(shù)優(yōu)化
        最優(yōu)隱層BP神經(jīng)網(wǎng)絡(luò)的滾動(dòng)軸承故障診斷
        基于Raspberry PI為結(jié)點(diǎn)的天氣云測(cè)量網(wǎng)絡(luò)實(shí)現(xiàn)
        BP神經(jīng)網(wǎng)絡(luò)隱層單元數(shù)確定方法
        影響《標(biāo)準(zhǔn)》測(cè)試數(shù)據(jù)真實(shí)性的因素及破解策略
        體育師友(2011年5期)2011-03-20 15:29:51
        日本一本久道| 天堂中文а√在线| 俺去俺来也在线www色官网| 亚洲天堂在线播放| 免费国人成人自拍视频| 国产精品国产三级国产剧情| 久久亚洲av午夜福利精品一区| 精品人妻系列无码人妻免费视频| 在线成人tv天堂中文字幕| 丝袜美腿亚洲综合一区| 日韩内射美女片在线观看网站| 好大好深好猛好爽视频免费| 午夜影视啪啪免费体验区入口| 少妇久久一区二区三区| 亚洲av无码一区东京热久久| 日韩a无v码在线播放| 亚洲AⅤ樱花无码| 精品久久人妻av中文字幕| 青娱乐极品视觉盛宴国产视频| 国产精品视频一区国模私拍| 国产不卡一区二区av| 有坂深雪中文字幕亚洲中文| 中文乱码字慕人妻熟女人妻| 久久久久亚洲AV无码专| av网站韩日在线观看免费| 小雪好紧好滑好湿好爽视频| 精品成人乱色一区二区| 国产日韩AV无码免费一区二区 | 97人伦色伦成人免费视频| 国产精品女同一区二区| 农村国产毛片一区二区三区女| 美女脱了内裤露出奶头的视频| 日本亚洲色大成网站www久久| 欧美日韩中文亚洲另类春色| 国产精品伦理久久一区| 特级精品毛片免费观看| 在线视频你懂的国产福利| 久久亚洲精品中文字幕蜜潮 | 岛国av无码免费无禁网站| 亚洲欧洲高潮| 国产青春草在线观看视频|