日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BP神经网络的理解

發(fā)布時間:2024/4/15 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BP神经网络的理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

BP神經(jīng)網(wǎng)絡(luò)的理解

? ? 【文章轉(zhuǎn)至】http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.html ? ? ?BP 神經(jīng)網(wǎng)絡(luò)中的 BP 為 Back ?Propagation 的簡寫,最早它是由Rumelhart、McCelland等科學(xué)家于 1986 年提出來的,Rumelhart 并在Nature 上發(fā)表了一篇非常著名的文章 《Learning representations by back-propagating errors》 。隨著時代的遷移,BP神經(jīng)網(wǎng)絡(luò)理論不斷的得到改進、更新,現(xiàn)在無疑已成為了應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。讓我們一起來探索下 BP神經(jīng)網(wǎng)絡(luò)最初的 基本模型和概念!
從神經(jīng)網(wǎng)絡(luò)的生物模型說起
? ? ?我們知道人大腦信息的傳遞、對外界刺激產(chǎn)生反應(yīng)都由神經(jīng)元控制的,人腦就是由上百億個的這樣神經(jīng)元構(gòu)成。這些神經(jīng)元之間并不孤立而且聯(lián)系很密切,每個神經(jīng)元平均與幾千個神經(jīng)元相連接,因此構(gòu)成了人腦的神經(jīng)網(wǎng)絡(luò)。刺激在神經(jīng)網(wǎng)絡(luò)中的傳播是遵循一定的規(guī)則的,一個神經(jīng)元并非每次接到其他神經(jīng)傳遞過來的刺激都產(chǎn)生反應(yīng)。它首先會將與其相鄰的神經(jīng)元傳來的刺激進行積累,到一定的時候產(chǎn)生自己的刺激將其傳遞給一些與它相鄰的神經(jīng)元。這樣工作的百億個的神經(jīng)元構(gòu)成了人腦對外界進行的反應(yīng)。而人腦對外界刺激的學(xué)習(xí)的機制就是通過調(diào)節(jié)這些神經(jīng)元之間聯(lián)系以及其強度。當(dāng)然,實際上以上說的是對人腦真正神經(jīng)工作的一種簡化的生物模型,利用這種簡化的生物模型可以將它推廣至機器學(xué)習(xí)中來,并把它描述成人工神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)就是其中的一種,來看看具體對神經(jīng)元的分析。



圖1 ?神經(jīng)網(wǎng)絡(luò)中神經(jīng)元示意圖

???????? 神經(jīng)元的積累的刺激是由其他神經(jīng)元傳遞過來的刺激量和對應(yīng)的權(quán)重之和,用?Xj?表示這種積累,Yi?表示某個神經(jīng)元傳遞過來的刺激量,Wi?表示鏈接某個神經(jīng)元刺激的權(quán)重,得到公式:

?????????Xj?= (y1?* W1)+(y2?* W2)+...+(yi?* Wi)+...+ (yn?* Wn)

???????? 而當(dāng)?Xj?完成積累后,完成積累的神經(jīng)元本身對周圍的一些神經(jīng)元傳播刺激,將其表示為??yj? 得到如下所示:

???????? yj?= f(Xj

???????? 神經(jīng)元根據(jù)積累后?Xj?的結(jié)果進行處理后,對外傳遞刺激?yj?。用?f?函數(shù)映射來表示這種處理,將它稱之為?激活函數(shù)

?

BP神經(jīng)網(wǎng)絡(luò)的構(gòu)成

???????? 分析完單個的神經(jīng)元后,再來看看它們組成網(wǎng)絡(luò)后的情形,用圖形來說明是最直觀的方法,如圖2所示:

?

圖2 ?BP神經(jīng)網(wǎng)絡(luò)示意圖

???????? 第一區(qū)域的來說,它們相當(dāng)于外界的刺激,是刺激的來源并且將刺激傳遞給神經(jīng)元,因此把第一區(qū)域命名為輸入層。第二區(qū)域,表示神經(jīng)元相互之間傳遞刺激相當(dāng)于人腦里面,因此把第二區(qū)命名為隱藏層。第三區(qū)域,表示神經(jīng)元經(jīng)過多層次相互傳遞后對外界的反應(yīng),因此把第三區(qū)域命名為輸出層

??? 簡單的描述就是,輸入層將刺激傳遞給隱藏層,隱藏層通過神經(jīng)元之間聯(lián)系的強度(權(quán)重)和傳遞規(guī)則(激活函數(shù))將刺激傳到輸出層,輸出層整理隱藏層處理的后的刺激產(chǎn)生最終結(jié)果。若有正確的結(jié)果,那么將正確的結(jié)果和產(chǎn)生的結(jié)果進行比較,得到誤差,再逆推對神經(jīng)網(wǎng)中的鏈接權(quán)重進行反饋修正,從而來完成學(xué)習(xí)的過程。這就是BP神經(jīng)網(wǎng)的反饋機制,也正是BP(Back? Propagation)名字的來源:運用向后反饋的學(xué)習(xí)機制,來修正神經(jīng)網(wǎng)中的權(quán)重,最終達到輸出正確結(jié)果的目的!

?

BP神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)推導(dǎo)

? ? ? ? ?從數(shù)學(xué)上對BP神經(jīng)網(wǎng)絡(luò)模型進行分析,本文第一部分神經(jīng)網(wǎng)的生物模型中可以得到關(guān)于BP神經(jīng)網(wǎng)絡(luò)的第一個公式(1)

?

? ? ? ? ?對于神經(jīng)元本身的輸出的激活函數(shù),一般來說選取?Sigmoid 函數(shù),那么可以得到第二個公式(2)

?

?

???????? 通過以上兩個公式,可以分析出來BP神經(jīng)網(wǎng)絡(luò)中輸出結(jié)果的計算過程。每個神經(jīng)元收到刺激?yi? 然后加權(quán)積累(權(quán)重?Wji??)完成后產(chǎn)生?xj?,再通過激活函數(shù)產(chǎn)生刺激?yj?,向下一層與它相連的神經(jīng)元傳遞,依次類推最終輸出結(jié)果。

???????? 我們再來分析如何利用向后反饋機制來修正神經(jīng)元權(quán)重?Wji,這一部分?jǐn)?shù)學(xué)推導(dǎo)需要運用到多元微分的數(shù)學(xué)內(nèi)容。要修正?Wji ?就需要得到誤差量。具體來看,首先用?dj? 來表示真實的正確結(jié)果,并且設(shè)誤差為?E?,那么( yj?- dj?對應(yīng)的就是?E?對于?yj?的微分增量,即?yj??減去( yj?- dj?后就能得到正確值,得到公式(3)

?

???????? 然后,明確目標(biāo),需要知道的是對于權(quán)重?Wji?的誤差量是多少也就是 ?? ?的值。而由公式(1)中知道?Wji??xj?相關(guān), 那么可以推導(dǎo)出公式(4)

?

? ? ? ? ?需要求得?Wji?的誤差量,轉(zhuǎn)換為需要求 ?? 的值了。它的推導(dǎo)如下:

?

???????? 其中 ?? 的值,可以通過公式(2)求導(dǎo)得出來:

?

???????? 所以最終得到的的誤差量的值為:

?

???????? 以上公式需要注意下標(biāo):最后一個是?yi?,前面的都是?yj?。推到這里可以算是完成了運用神經(jīng)網(wǎng)絡(luò)的輸出值?yj?和正確值?dj??對最后一層隱藏層?Wji?的修正,那么對其他隱藏層呢? 接著往下看。

? ? ? ? ?上面的推導(dǎo)過程由公式(3)開始,如果我們知道 ??(注意是?yi?公式(3)中是?yj?),就可以 同理 推導(dǎo)求出其對應(yīng)其他隱藏層需要修正的權(quán)重值誤差量了。推導(dǎo)如下:

?

? ? ? ? ?這樣所有的誤差量的都可以 同理 推導(dǎo)完成!

? ? ? ? ?最后一步修正?Wji?,就是加上下面變量了,設(shè)置一個?l?(0 到 1 之間)學(xué)習(xí)率。

?

???????? 至此,BP神經(jīng)網(wǎng)絡(luò)反饋部分的數(shù)學(xué)推導(dǎo)算完成了,可以在自己的草稿紙上畫畫~

總結(jié)

以上是生活随笔為你收集整理的BP神经网络的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。