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

        ?

        神經(jīng)網(wǎng)絡(luò)算法在函數(shù)逼近中的應(yīng)用*

        2021-02-05 08:47:02
        山西電子技術(shù) 2021年1期
        關(guān)鍵詞:權(quán)值神經(jīng)元閾值

        張 婷

        (山西大學(xué)商務(wù)學(xué)院,山西 太原 030001)

        0 引言

        在工程應(yīng)用中,有一些復(fù)雜問題需要解決時(shí),我們經(jīng)常會(huì)用簡(jiǎn)單的方法去替代它。在復(fù)雜計(jì)算中,也希望能有簡(jiǎn)單的函數(shù)來替代負(fù)載的函數(shù),并且能夠達(dá)到和復(fù)雜函數(shù)類似的效果,越類似稱為誤差越小。這種替代的方法稱之為函數(shù)逼近,很多應(yīng)用場(chǎng)合,比如人工智能,再比如圖像處理等領(lǐng)域都會(huì)用到函數(shù)逼近算法。隨著人工智能和計(jì)算機(jī)技術(shù)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)又迎來了它的春天。神經(jīng)網(wǎng)絡(luò)算法根據(jù)人體大腦結(jié)構(gòu)的復(fù)雜神經(jīng)元結(jié)構(gòu),進(jìn)行層層傳導(dǎo)而建立。依靠神經(jīng)元和神經(jīng)元之間的相互連接,實(shí)現(xiàn)信息的傳遞處理。神經(jīng)網(wǎng)絡(luò)算法應(yīng)用廣泛,比如生物領(lǐng)域、圖像處理、信號(hào)處理、模式識(shí)別、人工智能等。隨著其廣泛應(yīng)用,各種實(shí)現(xiàn)方法較多,比如python編程實(shí)現(xiàn),MATLAB編程實(shí)現(xiàn)等,都能快速調(diào)用函數(shù)或者工具解決函數(shù)逼近問題。本文利用MATLAB工具箱,快速方便地實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)算法。神經(jīng)網(wǎng)絡(luò)和別的技術(shù)結(jié)合,比如小波分析、混沌神經(jīng)網(wǎng)絡(luò)、粗糙集理論、分形理論等,也是其發(fā)展方向。其中BP神經(jīng)網(wǎng)絡(luò)有較強(qiáng)的映射能力,主要用于函數(shù)逼近、函數(shù)壓縮等。本文通過MATLAB仿真來分析BP網(wǎng)絡(luò)在函數(shù)逼近中的應(yīng)用。通過調(diào)節(jié)信號(hào)的頻率、隱含節(jié)點(diǎn)的層數(shù),分析它們對(duì)函數(shù)逼近的影響。

        1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及學(xué)習(xí)

        BP神經(jīng)網(wǎng)絡(luò)的信息傳導(dǎo)主要是兩個(gè)方向:一是正向傳導(dǎo),是指信號(hào)的傳導(dǎo),從輸入到輸出。另一方面是反向傳導(dǎo),是指誤差的傳播,方向從輸出到輸入。BP網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱含層和輸出層組成。圖1所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖,一共有3層。圖中可以看出,只有相鄰層的神經(jīng)元之間會(huì)直接連接,同一層神經(jīng)元節(jié)點(diǎn)之間沒有連接[1]。神經(jīng)元網(wǎng)絡(luò)也可以包含多層隱含層。

        圖1 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

        圖1中,xj表示輸入層的節(jié)點(diǎn);Φ表示隱含層的激勵(lì)函數(shù);Ψ表示輸出層的激勵(lì)函數(shù);wi,j表示隱含層到輸出層的權(quán)值,其中i表示隱含層的節(jié)點(diǎn)位置,j表示輸出層的節(jié)點(diǎn)位置;wk,i表示輸出層到隱含層之間的權(quán)值,其中k表示輸出層的節(jié)點(diǎn)位置,i表示隱含層的節(jié)點(diǎn)位置;θi表示隱藏層的第i個(gè)節(jié)點(diǎn)的閾值;ak表示輸出層第k個(gè)節(jié)點(diǎn)的閾值[2]。

        神經(jīng)網(wǎng)絡(luò)需要不斷地訓(xùn)練、學(xué)習(xí)才能有更強(qiáng)的適應(yīng)性。根據(jù)實(shí)際環(huán)境的變化,對(duì)權(quán)值進(jìn)行調(diào)整,從而改善系統(tǒng)的性能。最初由于計(jì)算機(jī)發(fā)展技術(shù)的局限性,神經(jīng)網(wǎng)絡(luò)的層數(shù)復(fù)雜度以及訓(xùn)練程度、學(xué)習(xí)時(shí)間等較為不理想,導(dǎo)致算法最終效果并不太離想?,F(xiàn)在隨著計(jì)算機(jī)技術(shù)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)算法可以通過長時(shí)間、高精度的訓(xùn)練學(xué)習(xí)、以及增加節(jié)點(diǎn)數(shù)、層數(shù)等方法來提高計(jì)算的精度。

        根據(jù)圖1標(biāo)示,BP神經(jīng)網(wǎng)絡(luò)算法的計(jì)算過程如下[3]:

        1) 信號(hào)的正向傳導(dǎo)

        隱含層的每個(gè)節(jié)點(diǎn)輸入輸出以及輸出層的每個(gè)節(jié)點(diǎn)輸入輸出如何計(jì)算。

        隱含層輸入Hi:

        隱含層輸出Oi:

        (2)

        輸出層的輸入Hk:

        輸出層的輸出Ok:

        (4)

        2) 誤差的反向傳導(dǎo)

        首先,輸出層計(jì)算輸出誤差,然后隱藏層開始計(jì)算輸出誤差,直到輸入層。通過不斷計(jì)算誤差,并不斷調(diào)整各層的權(quán)值和閾值,直到最終的計(jì)算輸出和原始目標(biāo)在誤差范圍內(nèi)。

        對(duì)每一個(gè)訓(xùn)練樣本p來計(jì)算它們的二次型誤差準(zhǔn)則函數(shù)Ep:

        (5)

        因此,總誤差準(zhǔn)則函數(shù)如下:

        (6)

        根據(jù)誤差梯度下降法,依次修正,輸出層權(quán)值的修正量Δwki:

        (7)

        輸出層閾值的修正量Δak:

        (8)

        隱藏層權(quán)值的修正量Δwij:

        (9)

        隱含層閾值的修正量Δθi:

        (10)

        BP神經(jīng)算法,首先對(duì)權(quán)值、閾值進(jìn)行初始化,接著提出訓(xùn)練樣本,分別依次計(jì)算隱含層、輸出層、各個(gè)神經(jīng)元的輸入和輸出;再計(jì)算誤差,分別依次計(jì)算輸出層、隱含層誤差。修正從輸出層到隱含層的權(quán)值、閾值。接著判斷樣本是否全部訓(xùn)練完成,如果沒有則接著從輸入訓(xùn)練樣本開始進(jìn)一步訓(xùn)練。如果訓(xùn)練完成判斷誤差是否小于某個(gè)值,如果不小于則跟新訓(xùn)練總步長,重新從輸入訓(xùn)練樣本開始新一輪循環(huán),如果小于則本輪訓(xùn)練結(jié)束。

        2 BP神經(jīng)網(wǎng)絡(luò)函數(shù)逼近的MATLAB實(shí)現(xiàn)

        2.1 構(gòu)建BP網(wǎng)絡(luò)函數(shù)逼近

        利用MATLAB工具箱或者編程都可以構(gòu)建BP神經(jīng)網(wǎng)絡(luò)函數(shù)算法。本文利用MATLAB編寫m文件來實(shí)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)函數(shù)以及各個(gè)參數(shù)屬性值的修改。并通過MATLAB基本圖形可視化語句來實(shí)現(xiàn)函數(shù)逼近效果曲線的顯示。從而可以十分簡(jiǎn)單直觀地看到各個(gè)參數(shù)對(duì)于函數(shù)逼近效果的影響,是非常方便的研究學(xué)習(xí)方法。相對(duì)于完全編程方法來說,更加簡(jiǎn)單直觀的了解利用不同函數(shù)建立網(wǎng)絡(luò)的效果,而不需花費(fèi)大量的時(shí)間在公式編輯上。而是利用更多的精力去尋找合適參數(shù),合適方法,合適函數(shù)對(duì)不同目標(biāo)進(jìn)行擬合,甚至尋找不同算法結(jié)合出新的算法。本文通過MATLAB對(duì)簡(jiǎn)單函數(shù)的擬合逼近來掌握BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),并了解哪些參數(shù)會(huì)對(duì)函數(shù)逼近效果產(chǎn)生影響。

        設(shè)計(jì)一個(gè)BP神經(jīng)網(wǎng)絡(luò),來逼近函數(shù)(11):

        首先,設(shè)參數(shù)k=2。用newff函數(shù)來建立BP網(wǎng)絡(luò)結(jié)構(gòu)。利用newff函數(shù)建立的神經(jīng)網(wǎng)絡(luò)為一個(gè)隱含層。隱含層的神經(jīng)元數(shù)目為n,是可以改變的。暫設(shè)設(shè)置為n=3,輸出層有一個(gè)神經(jīng)元。設(shè)置隱含層的傳遞函數(shù)為tansig函數(shù),輸出層的傳遞函數(shù)為purelin函數(shù),網(wǎng)絡(luò)訓(xùn)練采用Levenberg-Marquardt算法trainlm,關(guān)鍵代碼如下:

        n=5;

        net=newff(minmax(p),[n,1],{' tansig' 'purelin'},' trainlm');

        結(jié)果如圖2所示,網(wǎng)絡(luò)一開始建立的函數(shù),權(quán)值、閾值的值是隨機(jī)變化的,所以導(dǎo)致網(wǎng)絡(luò)輸出的結(jié)果很差,基本上不能實(shí)現(xiàn)原函數(shù)的逼近,而且會(huì)發(fā)現(xiàn)每次在MATLAB里運(yùn)行程序時(shí)輸出的曲線也不一樣,正是由于在此過程中權(quán)值、閾值是隨機(jī)變化的。

        圖2 網(wǎng)絡(luò)輸出曲線與原函數(shù)的比較

        2.2 訓(xùn)練BP網(wǎng)絡(luò)

        由于只建立網(wǎng)絡(luò)并不能達(dá)到函數(shù)逼近的效果,所以需要選擇訓(xùn)練方式來對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。本例利用MATLAB例的train()來對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。將訓(xùn)練的時(shí)間設(shè)為200,訓(xùn)練精度設(shè)為0.2,其余參數(shù)采用默認(rèn)值。

        經(jīng)過設(shè)定參數(shù)的訓(xùn)練后,得到了如圖3所示的結(jié)果。從圖中可以看出,和沒有訓(xùn)練之前的曲線相比,訓(xùn)練之后的曲線和原函數(shù)的逼近效果更好。

        圖3 k=2,n=3網(wǎng)絡(luò)輸出

        2.3 改變參數(shù)和隱含層神經(jīng)元數(shù)目

        函數(shù)中的k為頻率,改變k和神經(jīng)網(wǎng)絡(luò)中隱含層的節(jié)點(diǎn)數(shù)目,會(huì)對(duì)神經(jīng)網(wǎng)絡(luò)對(duì)函數(shù)的逼近效果產(chǎn)生一定的影響。

        假設(shè)參數(shù)k=2,n=10時(shí),用之前同樣的參數(shù)進(jìn)行訓(xùn)練。輸出結(jié)果如圖4所示。

        圖4 k=2,n=10網(wǎng)絡(luò)輸出

        從圖4可以看出,當(dāng)n=10時(shí),經(jīng)過訓(xùn)練后的曲線基本和目標(biāo)曲線重合。和圖3相比效果明顯。說明增加隱含層的神經(jīng)元數(shù)可以增加BP神經(jīng)網(wǎng)絡(luò)函數(shù)逼近的準(zhǔn)確性[4]。

        假設(shè)參數(shù)k=3時(shí),隱含層神經(jīng)網(wǎng)絡(luò)數(shù)分別取值n=3、n=10,用同樣的方法進(jìn)行訓(xùn)練。假設(shè)參數(shù)k=6時(shí),隱含層神經(jīng)網(wǎng)絡(luò)數(shù)分別取值n=3、n=10,用同樣的方法進(jìn)行訓(xùn)練。各個(gè)輸出結(jié)果如圖5所示。

        圖5 不同參數(shù)網(wǎng)絡(luò)輸出

        通過觀察仿真結(jié)果,可知,相同頻率時(shí)n=10時(shí)BP神經(jīng)網(wǎng)絡(luò)對(duì)于n=3時(shí)對(duì)函數(shù)的逼近效果較好。相同BP神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)時(shí),k值越小對(duì)目標(biāo)函數(shù)的逼近效果越好[5]。

        3 結(jié)束語

        本文通過構(gòu)建BP神經(jīng)網(wǎng)絡(luò),并對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí)。研究了不同參數(shù)變化對(duì)神經(jīng)網(wǎng)絡(luò)對(duì)函數(shù)逼近的影響。通過MATLAB編寫程序,對(duì)基本的BP神經(jīng)網(wǎng)絡(luò)逼近函數(shù)進(jìn)行了仿真,通過結(jié)果圖顯然可見,神經(jīng)網(wǎng)絡(luò)通過訓(xùn)練之后的曲線比沒有訓(xùn)練的曲線對(duì)原始函數(shù)的逼近效果好。改變函數(shù)的頻率和隱含層神經(jīng)元數(shù)目會(huì)影響函數(shù)逼近的結(jié)果。網(wǎng)絡(luò)非線性程度越高,對(duì)于BP網(wǎng)絡(luò)的要求就越高,也就是如果采用相同的網(wǎng)絡(luò),逼近效果就要差一些。一般來說,BP神經(jīng)網(wǎng)絡(luò)中,隱含層神經(jīng)元數(shù)目越多,則逼近非線性函數(shù)的效果就會(huì)越好。

        BP神經(jīng)網(wǎng)絡(luò)算法,其實(shí)是讓誤差盡可能地變小。由于此種算法中采用的下降方法會(huì)導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)效率較低、收斂速度也不夠快,可以采用一些別的比如RBF、自適應(yīng)學(xué)習(xí)等方法來改進(jìn)算法。這也是后續(xù)函數(shù)逼近時(shí)需要進(jìn)一步改進(jìn)的地方。

        猜你喜歡
        權(quán)值神經(jīng)元閾值
        一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
        《從光子到神經(jīng)元》書評(píng)
        自然雜志(2021年6期)2021-12-23 08:24:46
        CONTENTS
        小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
        基于自適應(yīng)閾值和連通域的隧道裂縫提取
        躍動(dòng)的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
        比值遙感蝕變信息提取及閾值確定(插圖)
        河北遙感(2017年2期)2017-08-07 14:49:00
        基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
        室內(nèi)表面平均氡析出率閾值探討
        基于二次型單神經(jīng)元PID的MPPT控制
        精品国产三级在线观看| 无色码中文字幕一本久道久| 久久久精品国产性黑人| 国产做爰又粗又大又爽动漫| 中国丰满大乳乳液| 在线看片国产免费不卡| 少妇又色又爽又刺激的视频 | 婷婷久久亚洲中文字幕| 亚洲精品一区久久久久一品av| 国产xxxx99真实实拍| 级毛片免费看无码| 亚洲中文字幕免费精品| 亚洲熟女精品中文字幕| 天躁夜夜躁狼狠躁| 成人无码网www在线观看| 草青青视频手机免费观看| 国产av久久久久精东av| 国产精品va在线播放我和闺蜜| 亚洲国产成a人v在线观看 | 久久精品一区午夜视频| 无码人妻精品丰满熟妇区| 综合激情网站| 射进去av一区二区三区| 无码人妻丰满熟妇区bbbbxxxx| 97久久超碰国产精品2021| 精品久久免费一区二区三区四区 | 久久精品一区二区三区av| 天堂AV无码AV毛片毛| 女优av一区二区在线观看| 免费va国产高清大片在线| 热99精品| 精品一区二区三区老熟女少妇| 日韩精品无码一区二区三区四区 | 无码人妻精品一区二区三18禁 | 护士的小嫩嫩好紧好爽| 成人天堂资源www在线| 亚洲啊啊啊一区二区三区| 日本视频一区二区三区一| 伊伊人成亚洲综合人网香| 久久精品成人亚洲另类欧美| 日本a爱视频二区三区|