bp網路學習演算法
㈠ 什麼是BP神經網路
BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。
㈡ BP人工神經網路方法
(一)方法原理
人工神經網路是由大量的類似人腦神經元的簡單處理單元廣泛地相互連接而成的復雜的網路系統。理論和實踐表明,在信息處理方面,神經網路方法比傳統模式識別方法更具有優勢。人工神經元是神經網路的基本處理單元,其接收的信息為x1,x2,…,xn,而ωij表示第i個神經元到第j個神經元的連接強度或稱權重。神經元的輸入是接收信息X=(x1,x2,…,xn)與權重W={ωij}的點積,將輸入與設定的某一閾值作比較,再經過某種神經元激活函數f的作用,便得到該神經元的輸出Oi。常見的激活函數為Sigmoid型。人工神經元的輸入與輸出的關系為
地球物理勘探概論
式中:xi為第i個輸入元素,即n維輸入矢量X的第i個分量;ωi為第i個輸入與處理單元間的互聯權重;θ為處理單元的內部閾值;y為處理單元的輸出。
常用的人工神經網路是BP網路,它由輸入層、隱含層和輸出層三部分組成。BP演算法是一種有監督的模式識別方法,包括學習和識別兩部分,其中學習過程又可分為正向傳播和反向傳播兩部分。正向傳播開始時,對所有的連接權值置隨機數作為初值,選取模式集的任一模式作為輸入,轉向隱含層處理,並在輸出層得到該模式對應的輸出值。每一層神經元狀態隻影響下一層神經元狀態。此時,輸出值一般與期望值存在較大的誤差,需要通過誤差反向傳遞過程,計算模式的各層神經元權值的變化量
(二)BP神經網路計算步驟
(1)初始化連接權值和閾值為一小的隨機值,即W(0)=任意值,θ(0)=任意值。
(2)輸入一個樣本X。
(3)正向傳播,計算實際輸出,即根據輸入樣本值、互聯權值和閾值,計算樣本的實際輸出。其中輸入層的輸出等於輸入樣本值,隱含層和輸出層的輸入為
地球物理勘探概論
輸出為
地球物理勘探概論
式中:f為閾值邏輯函數,一般取Sigmoid函數,即
地球物理勘探概論
式中:θj表示閾值或偏置;θ0的作用是調節Sigmoid函數的形狀。較小的θ0將使Sigmoid函數逼近於閾值邏輯單元的特徵,較大的θ0將導致Sigmoid函數變平緩,一般取θ0=1。
(4)計算實際輸出與理想輸出的誤差
地球物理勘探概論
式中:tpk為理想輸出;Opk為實際輸出;p為樣本號;k為輸出節點號。
(5)誤差反向傳播,修改權值
地球物理勘探概論
式中:
地球物理勘探概論
地球物理勘探概論
(6)判斷收斂。若誤差小於給定值,則結束,否則轉向步驟(2)。
(三)塔北雅克拉地區BP神經網路預測實例
以塔北雅克拉地區S4井為已知樣本,取氧化還原電位,放射性元素Rn、Th、Tc、U、K和地震反射
S4井位於測區西南部5線25點,是區內唯一已知井。該井在5390.6m的侏羅系地層獲得40.6m厚的油氣層,在5482m深的震旦系地層中獲58m厚的油氣層。取S4井周圍9個點,即4~6線的23~25 點作為已知油氣的訓練樣本;由於區內沒有未見油的鑽井,只好根據地質資料分析,選取14~16線的55~57點作為非油氣的訓練樣本。BP網路學習迭代17174次,總誤差為0.0001,學習效果相當滿意。以學習後的網路進行識別,得出結果如圖6-2-4所示。
圖6-2-4 塔北雅克拉地區BP神經網路聚類結果
(據劉天佑等,1997)
由圖6-2-4可見,由預測值大於0.9可得5個大封閉圈遠景區,其中測區南部①號遠景區對應著已知油井S4井;②、③號油氣遠景區位於地震勘探所查明的托庫1、2號構造,該兩個構造位於沙雅隆起的東段,其西段即為1984年鑽遇高產油氣流的Sch2井,應是含油氣性好的遠景區;④、⑤號遠景區位於大澇壩構造,是yh油田的組成部分。
㈢ bp是什麼
電子游戲競技里的一種專業比賽術語。
b指的是ban,p指的是pick,對於不同游戲,會引申到不同的細節含義,一般是禁止和選擇。
在電子游戲競技中,bp是一種戰略意義上的博弈,通過好的bp,能獲得優勢的贏面。
ban:
一、如果對手隊伍中有一名選手對某個英雄非常擅長,對手拿到後將會對自己隊伍產生非常大的威脅或者在比賽中很難以處理,那麼這個英雄就必定要Ban。
二、對手有一套非常擅長的戰術體系自己暫時還不能破解這套戰術,然後知道某個英雄是他們那個戰術的核心,那麼Ban掉這個英雄就可以破掉對手的那套戰術。
三、針對某個選手的英雄池來Ban人,如果對手隊伍中有個選手存在英雄池太淺這個明顯短板問題,Ban掉那名選手僅僅能用的那幾個英雄,這也等於廢掉了對手一根手指。
四、當前比賽版本最強勢可以扭轉比賽局勢的英雄,這種不用說一定要Ban。
五、Ban人時候故意放出某個英雄,然後誘惑對手先搶,但是自己Ban掉這個英雄最好搭配的英雄,或者Pick的時候再來進行針對。
pick:
進入Pick階段,藍色方隊伍擁有優先首選權,那麼無論是任何一支隊伍在藍色方都會首先選擇自己最心儀的那個英雄,也就是比賽版本最強勢未被Ban掉的TOP1英雄。
接下來紅色方首選的兩個英雄是對手首選其他四個位置當中的兩個最佳選擇的英雄,這四個位置中的英雄如果有一個位置是可以搭配對方首選的英雄,那麼一定要先拿到自己手中不能給對手接下來拿到,比如像ADC和輔助這兩個位置復仇之矛和牛頭的搭配,或者中野聯動的關鍵搭配。
藍色方第二選一般會是先選擇拿打野和輔助,因為這個兩個點拿出來不會暴露太多自己之後戰術上的東西,而對手接下來第二選必將暴露出他們完整大致的戰術形態。
而紅色方第二選一般不會先選擇中單這個位置,而是選擇Counter對手已經暴露的位置,或者選擇兩個同類型的英雄放出一個煙霧彈讓對手分不清自己是用來打什麼位置。
第三選,藍色方將會根據對方四個已經選擇的英雄來做出自己大致的判斷,然後選擇自己有信心可以拿出的一套陣容,而紅色方第三選一般情況下是Counter對手中單的位置。
㈣ bp神經網路用啥演算法
自己找個例子算一下,推導一下,這個回答起來比較復雜
神經網路對模型的表達能力依賴於優化演算法,優化是一個不斷計算梯度並調整可學習參數的過程,Fluid中的優化演算法可參考優化器。
在網路的訓練過程中,梯度計算分為兩個步驟:前向計算與反向傳播。
前向計算會根據您搭建的網路結構,將輸入單元的狀態傳遞到輸出單元。
反向傳播藉助鏈式法則,計算兩個或兩個以上復合函數的導數,將輸出單元的梯度反向傳播回輸入單元,根據計算出的梯度,調整網路的可學習參數。
BP演算法
隱層的引入使網路具有很大的潛力。但正像Minskey和Papert當時所指出的.雖然對所有那些能用簡單(無隱層)網結解決的問題有非常簡單的學習規則,即簡單感知器的收斂程序(主要歸功於Widrow和HMf於1960年提出的Delta規剛),
BP演算法
但當時並沒有找到同樣有技的含隱層的同培的學習規則。對此問題的研究有三個基本的結果。一種是使用簡單無監督學習規則的競爭學習方法.但它缺乏外部信息.難以確定適台映射的隱層結構。第二條途徑是假設一十內部(隱層)的表示方法,這在一些先約條件下是台理的。另一種方法是利用統計手段設計一個學習過程使之能有技地實現適當的內部表示法,Hinton等人(1984年)提出的Bolzmann機是這種方法的典型例子.它要求網路在兩個不同的狀態下達到平衡,並且只局限於對稱網路。Barto和他的同事(1985年)提出了另一條利用統計手段的學習方法。但迄今為止最有教和最實用的方瑤是Rumelhart、Hinton和Williams(1986年)提出的一般Delta法則,即反向傳播(BP)演算法。Parter(1985年)也獨立地得出過相似的演算法,他稱之為學習邏輯。此外, Lecun(1985年)也研究出大致相似的學習法則。
㈤ bp代表什麼呀
BP神經網路 BP (Back Propagation)神經網路是一種神經網路學習演算法,全稱基於誤差反向傳播演算法的人工神經網路。
如圖所示拓撲結構的單隱層前饋網路,一般稱為三層前饋網或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。它的特點是:各層神經元僅與相鄰層神經元之間相互全連接,同層內神經元之間無連接,各層神經元之間無反饋連接,夠成具有層次結構的前饋型神經網路系統。單計算層前饋神經網路只能求解線性可分問題,能夠求解非線性問題的網路必須是具有隱層的多層神經網路。
在人工神經網路發展歷史中,很長一段時間里沒有找到隱層的連接權值調整問題的有效演算法。直到誤差反向傳播演算法(BP演算法)的提出,成功地解決了求解非線性連續函數的多層前饋神經網路權重調整問題。
BP (Back Propagation)神經網路,即誤差反傳誤差反向傳播演算法的學習過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。輸入層各神經元負責接收來自外界的輸入信息,並傳遞給中間層各神經元;中間層是內部信息處理層,負責信息變換,根據信息變化能力的需求,中間層可以設計為單隱層或者多隱層結構;最後一個隱層傳遞到輸出層各神經元的信息,經進一步處理後,完成一次學習的正向傳播處理過程,由輸出層向外界輸出信息處理結果。當實際輸出與期望輸出不符時,進入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權值,向隱層、輸入層逐層反傳。周而復始的信息正向傳播和誤差反向傳播過程,是各層權值不斷調整的過程,也是神經網路學習訓練的過程,此過程一直進行到網路輸出的誤差減少到可以接受的程度,或者預先設定的學習次數為止。
神經網路
神經網路是:
思維學普遍認為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串列模式進行邏輯推理;這一過程可以寫成串列的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:1.信息是通過神經元上的興奮模式分布儲在網路上;2.信息處理是通過神經元之間同時相互作用的動態過程來完成的。
人工神經網路就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網路系統所能實現的行為卻是極其豐富多彩的。
神經網路的研究內容相當廣泛,反映了多學科交叉技術領域的特點。目前,主要的研究工作集中在以下幾個方面:
(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網路、神經系統的生物原型結構及其功能機理。
(2)建立理論模型。根據生物原型的研究,建立神經元、神經網路的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。
(3)網路模型與演算法研究。在理論模型研究的基礎上構作具體的神經網路模型,以實現計算機饃擬或准備製作硬體,包括網路學習演算法的研究。這方面的工作也稱為技術模型研究。
(4)人工神經網路應用系統。在網路模型與演算法研究的基礎上,利用人工神經網路組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構作專家系統、製成機器人等等。
縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網路的研究將伴隨著重重困難的克服而日新月異。
【人工神經網路的工作原理】
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對手寫「A」、「B」兩個字母的識別為例進行說明,規定當「A」輸入網路時,應該輸出「1」,而當輸入為「B」時,輸出為「0」。
所以網路學習的准則應該是:如果網路作出錯誤的的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「A」所對應的圖象模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「A」模式輸入時,仍然能作出正確的判斷。
如果輸出為「0」(即結果錯誤),則把網路連接權值朝著減小綜合輸入加權值的方向調整,其目的在於使網路下次再遇到「A」模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給網路輪番輸入若干個手寫字母「A」、「B」後,經過網路按以上學習方法進行若干次學習後,網路判斷的正確率將大大提高。這說明網路對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網路的各個連接權值上。當網路再次遇到其中任何一個模式時,能夠作出迅速、准確的判斷和識別。一般說來,網路中所含的神經元個數越多,則它能記憶、識別的模式也就越多。
「人腦是如何工作的?」
「人類能否製作模擬人腦的人工神經元?」
多少年以來,人們從醫學、生物學、生理學、哲學、信息學、計算機科學、認知學、組織協同學等各個角度企圖認識並解答上述問題。在尋找上述問題答案的研究過程中,近年來逐漸形成了一個新興的多學科交叉技術領域,稱之為「神經網路」。神經網路的研究涉及眾多學科領域,這些領域互相結合、相互滲透並相互推動。不同領域的科學家又從各自學科的興趣與特色出發,提出不同的問題,從不同的角度進行研究。
心理學家和認知科學家研究神經網路的目的在於探索人腦加工、儲存和搜索信息的機制,弄清人腦功能的機理,建立人類認知過程的微結構理論。
生物學、醫學、腦科學專家試圖通過神經網路的研究推動腦科學向定量、精確和理論化體系發展,同時也寄希望於臨床醫學的新突破;信息處理和計算機科學家研究這一問題的目的在於尋求新的途徑以解決目前不能解決或解決起來有極大困難的大量問題,構造更加逼近人腦功能的新一代計算機。
人工神經網路是由大量的簡單基本元件——神經元相互聯接而成的自適應非線性動態系統。每個神經元的結構和功能比較簡單,但大量神經元組合產生的系統行為卻非常復雜。
人工神經網路反映了人腦功能的若干基本特性,但並非生物系統的逼真描述,只是某種模仿、簡化和抽象。
與數字計算機比較,人工神經網路在構成原理和功能特點等方面更加接近人腦,它不是按給定的程序一步一步地執行運算,而是能夠自身適應環境、總結規律、完成某種運算、識別或過程式控制制。
人工神經元的研究起源於腦神經元學說。19世紀末,在生物、生理學領域,Waldeger等人創建了神經元學說。人們認識到復雜的神經系統是由數目繁多的神經元組合而成。大腦皮層包括有100億個以上的神經元,每立方毫米約有數萬個,它們互相聯結形成神經網路,通過感覺器官和神經接受來自身體內外的各種信息,傳遞至中樞神經系統內,經過對信息的分析和綜合,再通過運動神經發出控制信息,以此來實現機體與內外環境的聯系,協調全身的各種機能活動。
神經元也和其他類型的細胞一樣,包括有細胞膜、細胞質和細胞核。但是神經細胞的形態比較特殊,具有許多突起,因此又分為細胞體、軸突和樹突三部分。細胞體內有細胞核,突起的作用是傳遞信息。樹突是作為引入輸入信號的突起,而軸突是作為輸出端的突起,它只有一個。
樹突是細胞體的延伸部分,它由細胞體發出後逐漸變細,全長各部位都可與其他神經元的軸突末梢相互聯系,形成所謂「突觸」。在突觸處兩神經元並未連通,它只是發生信息傳遞功能的結合部,聯系界面之間間隙約為(15~50)×10米。突觸可分為興奮性與抑制性兩種類型,它相應於神經元之間耦合的極性。每個神經元的突觸數目正常,最高可達10個。各神經元之間的連接強度和極性有所不同,並且都可調整、基於這一特性,人腦具有存儲信息的功能。利用大量神經元相互聯接組成人工神經網路可顯示出人的大腦的某些特徵。下面通過人工神經網路與通用的計算機工作特點來對比一下:
若從速度的角度出發,人腦神經元之間傳遞信息的速度要遠低於計算機,前者為毫秒量級,而後者的頻率往往可達幾百兆赫。但是,由於人腦是一個大規模並行與串列組合處理系統,因而,在許多問題上可以作出快速判斷、決策和處理,其速度則遠高於串列結構的普通計算機。人工神經網路的基本結構模仿人腦,具有並行處理特徵,可以大大提高工作速度。
人腦存貯信息的特點為利用突觸效能的變化來調整存貯內容,也即信息存貯在神經元之間連接強度的分布上,存貯區與計算機區合為一體。雖然人腦每日有大量神經細胞死亡 (平均每小時約一千個),但不影響大腦的正常思維活動。
普通計算機是具有相互獨立的存貯器和運算器,知識存貯與數據運算互不相關,只有通過人編出的程序使之溝通,這種溝通不能超越程序編制者的預想。元器件的局部損壞及程序中的微小錯誤都可能引起嚴重的失常。
人類大腦有很強的自適應與自組織特性,後天的學習與訓練可以開發許多各具特色的活動功能。如盲人的聽覺和觸覺非常靈敏;聾啞人善於運用手勢;訓練有素的運動員可以表現出非凡的運動技巧等等。
普通計算機的功能取決於程序中給出的知識和能力。顯然,對於智能活動要通過總結編製程序將十分困難。
人工神經網路也具有初步的自適應與自組織能力。在學習或訓練過程中改變突觸權重值,以適應周圍環境的要求。同一網路因學習方式及內容不同可具有不同的功能。人工神經網路是一個具有學習能力的系統,可以發展知識,以致超過設計者原有的知識水平。通常,它的學習訓練方式可分為兩種,一種是有監督或稱有導師的學習,這時利用給定的樣本標准進行分類或模仿;另一種是無監督學習或稱無為導師學習,這時,只規定學習方式或某些規則,則具體的學習內容隨系統所處環境 (即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似人腦的功能。
人工神經網路早期的研究工作應追溯至本世紀40年代。下面以時間順序,以著名的人物或某一方面突出的研究成果為線索,簡要介紹人工神經網路的發展歷史。
1943年,心理學家W·Mcculloch和數理邏輯學家W·Pitts在分析、總結神經元基本特性的基礎上首先提出神經元的數學模型。此模型沿用至今,並且直接影響著這一領域研究的進展。因而,他們兩人可稱為人工神經網路研究的先驅。
1945年馮·諾依曼領導的設計小組試製成功存儲程序式電子計算機,標志著電子計算機時代的開始。1948年,他在研究工作中比較了人腦結構與存儲程序式計算機的根本區別,提出了以簡單神經元構成的再生自動機網路結構。但是,由於指令存儲式計算機技術的發展非常迅速,迫使他放棄了神經網路研究的新途徑,繼續投身於指令存儲式計算機技術的研究,並在此領域作出了巨大貢獻。雖然,馮·諾依曼的名字是與普通計算機聯系在一起的,但他也是人工神經網路研究的先驅之一。
50年代末,F·Rosenblatt設計製作了「感知機」,它是一種多層的神經網路。這項工作首次把人工神經網路的研究從理論探討付諸工程實踐。當時,世界上許多實驗室仿效製作感知機,分別應用於文字識別、聲音識別、聲納信號識別以及學習記憶問題的研究。然而,這次人工神經網路的研究高潮未能持續很久,許多人陸續放棄了這方面的研究工作,這是因為當時數字計算機的發展處於全盛時期,許多人誤以為數字計算機可以解決人工智慧、模式識別、專家系統等方面的一切問題,使感知機的工作得不到重視;其次,當時的電子技術工藝水平比較落後,主要的元件是電子管或晶體管,利用它們製作的神經網路體積龐大,價格昂貴,要製作在規模上與真實的神經網路相似是完全不可能的;另外,在1968年一本名為《感知機》的著作中指出線性感知機功能是有限的,它不能解決如異感這樣的基本問題,而且多層網路還不能找到有效的計算方法,這些論點促使大批研究人員對於人工神經網路的前景失去信心。60年代末期,人工神經網路的研究進入了低潮。
另外,在60年代初期,Widrow提出了自適應線性元件網路,這是一種連續取值的線性加權求和閾值網路。後來,在此基礎上發展了非線性多層自適應網路。當時,這些工作雖未標出神經網路的名稱,而實際上就是一種人工神經網路模型。
隨著人們對感知機興趣的衰退,神經網路的研究沉寂了相當長的時間。80年代初期,模擬與數字混合的超大規模集成電路製作技術提高到新的水平,完全付諸實用化,此外,數字計算機的發展在若干應用領域遇到困難。這一背景預示,向人工神經網路尋求出路的時機已經成熟。美國的物理學家Hopfield於1982年和1984年在美國科學院院刊上發表了兩篇關於人工神經網路研究的論文,引起了巨大的反響。人們重新認識到神經網路的威力以及付諸應用的現實性。隨即,一大批學者和研究人員圍繞著 Hopfield提出的方法展開了進一步的工作,形成了80年代中期以來人工神經網路的研究熱潮。
㈥ (1)BP演算法的學習過程中有兩個過程是什麼(2)寫出BP神經網路的數學模型,並以20
bp(back propagation)網路是1986年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。bp網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。bp神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。
人工神經網路就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網路系統所能實現的行為卻是極其豐富多彩的。
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對手寫「a」、「b」兩個字母的識別為例進行說明,規定當「a」輸入網路時,應該輸出「1」,而當輸入為「b」時,輸出為「0」。
所以網路學習的准則應該是:如果網路作出錯誤的的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「a」所對應的圖象模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「a」模式輸入時,仍然能作出正確的判斷。
如果輸出為「0」(即結果錯誤),則把網路連接權值朝著減小綜合輸入加權值的方向調整,其目的在於使網路下次再遇到「a」模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給網路輪番輸入若干個手寫字母「a」、「b」後,經過網路按以上學習方法進行若干次學習後,網路判斷的正確率將大大提高。這說明網路對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網路的各個連接權值上。當網路再次遇到其中任何一個模式時,能夠作出迅速、准確的判斷和識別。一般說來,網路中所含的神經元個數越多,則它能記憶、識別的模式也就越多。
如圖所示拓撲結構的單隱層前饋網路,一般稱為三層前饋網或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。它的特點是:各層神經元僅與相鄰層神經元之間相互全連接,同層內神經元之間無連接,各層神經元之間無反饋連接,構成具有層次結構的前饋型神經網路系統。單計算層前饋神經網路只能求解線性可分問題,能夠求解非線性問題的網路必須是具有隱層的多層神經網路。
神經網路的研究內容相當廣泛,反映了多學科交叉技術領域的特點。主要的研究工作集中在以下幾個方面:
(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網路、神經系統的生物原型結構及其功能機理。
(2)建立理論模型。根據生物原型的研究,建立神經元、神經網路的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。
(3)網路模型與演算法研究。在理論模型研究的基礎上構作具體的神經網路模型,以實現計算機模擬或准備製作硬體,包括網路學習演算法的研究。這方面的工作也稱為技術模型研究。
(4)人工神經網路應用系統。在網路模型與演算法研究的基礎上,利用人工神經網路組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構作專家系統、製成機器人等等。
縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網路的研究將伴隨著重重困難的克服而日新月異。
神經網路可以用作分類、聚類、預測等。神經網路需要有一定量的歷史數據,通過歷史數據的訓練,網路可以學習到數據中隱含的知識。在你的問題中,首先要找到某些問題的一些特徵,以及對應的評價數據,用這些數據來訓練神經網路。
雖然bp網路得到了廣泛的應用,但自身也存在一些缺陷和不足,主要包括以下幾個方面的問題。
首先,由於學習速率是固定的,因此網路的收斂速度慢,需要較長的訓練時間。對於一些復雜問題,bp演算法需要的訓練時間可能非常長,這主要是由於學習速率太小造成的,可採用變化的學習速率或自適應的學習速率加以改進。
其次,bp演算法可以使權值收斂到某個值,但並不保證其為誤差平面的全局最小值,這是因為採用梯度下降法可能產生一個局部最小值。對於這個問題,可以採用附加動量法來解決。
再次,網路隱含層的層數和單元數的選擇尚無理論上的指導,一般是根據經驗或者通過反復實驗確定。因此,網路往往存在很大的冗餘性,在一定程度上也增加了網路學習的負擔。
最後,網路的學習和記憶具有不穩定性。也就是說,如果增加了學習樣本,訓練好的網路就需要從頭開始訓練,對於以前的權值和閾值是沒有記憶的。但是可以將預測、分類或聚類做的比較好的權值保存。
㈦ 如何理解BP學習演算法 追加懸賞
又稱為BP網路.BP學習演算法是一種有效的學習方法,但由於在權值調整上採用梯度下降法作為優化演算法,容易陷入局部最小,不能保證得到全局最優解。
㈧ BP學習演算法是什麼類型的學習演算法它主要有哪些不足
BP演算法是由學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。由於多層前饋網路的訓練經常採用誤差反向傳播演算法,人們也常把將多層前饋網路直接稱為BP網路。
雖然BP演算法得到廣泛的應用,但它也存在不足,其主要表現在訓練過程不確定上,具體如下。
1,訓練時間較長。對於某些特殊的問題,運行時間可能需要幾個小時甚至更長,這主要是因為學習率太小所致,可以採用自適應的學習率加以改進。
2,完全不能訓練。訓練時由於權值調整過大使激活函數達到飽和,從而使網路權值的調節幾乎停滯。為避免這種情況,一是選取較小的初始權值,二是採用較小的學習率。
3,易陷入局部極小值。BP演算法可以使網路權值收斂到一個最終解,但它並不能保證所求為誤差超平面的全局最優解,也可能是一個局部極小值。
這主要是因為BP演算法所採用的是梯度下降法,訓練是從某一起始點開始沿誤差函數的斜面逐漸達到誤差的最小值,故不同的起始點可能導致不同的極小值產生,即得到不同的最優解。如果訓練結果未達到預定精度,常常採用多層網路和較多的神經元,以使訓練結果的精度進一步提高,但與此同時也增加了網路的復雜性與訓練時間。
4,「喜新厭舊」。訓練過程中,學習新樣本時有遺忘舊樣本的趨勢。
(8)bp網路學習演算法擴展閱讀:
BP演算法最早由Werbos於1974年提出,1985年Rumelhart等人發展了該理論。BP網路採用有指導的學習方式,其學習包括以下4個過程。
1,組成輸入模式由輸入層經過隱含層向輸出層的「模式順傳播」過程。
2,網路的期望輸出與實際輸出之差的誤差信號由輸出層經過隱含層逐層休整連接權的「誤差逆傳播」過程。
3,由「模式順傳播」與「誤差逆傳播」的反復進行的網路「記憶訓練」過程。
4,網路趨向收斂即網路的總體誤差趨向極小值的「學習收斂」過程。
㈨ BP神經網路演算法的介紹
BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。
㈩ 深入淺出BP神經網路演算法的原理
深入淺出BP神經網路演算法的原理
相信每位剛接觸神經網路的時候都會先碰到BP演算法的問題,如何形象快速地理解BP神經網路就是我們學習的高級樂趣了(畫外音:樂趣?你在跟我談樂趣?)
本篇博文就是要簡單粗暴地幫助各位童鞋快速入門採取BP演算法的神經網路。
BP神經網路是怎樣的一種定義?看這句話:一種按「誤差逆傳播演算法訓練」的多層前饋網路。
BP的思想就是:利用輸出後的誤差來估計輸出層前一層的誤差,再用這層誤差來估計更前一層誤差,如此獲取所有各層誤差估計。這里的誤差估計可以理解為某種偏導數,我們就是根據這種偏導數來調整各層的連接權值,再用調整後的連接權值重新計算輸出誤差。直到輸出的誤差達到符合的要求或者迭代次數溢出設定值。
說來說去,「誤差」這個詞說的很多嘛,說明這個演算法是不是跟誤差有很大的關系?
沒錯,BP的傳播對象就是「誤差」,傳播目的就是得到所有層的估計誤差。
它的學習規則是:使用最速下降法,通過反向傳播(就是一層一層往前傳)不斷調整網路的權值和閾值,最後使全局誤差系數最小。
它的學習本質就是:對各連接權值的動態調整。
拓撲結構如上圖:輸入層(input),隱藏層(hide layer),輸出層(output)
BP網路的優勢就是能學習和儲存大量的輸入輸出的關系,而不用事先指出這種數學關系。那麼它是如何學習的?
BP利用處處可導的激活函數來描述該層輸入與該層輸出的關系,常用S型函數δ來當作激活函數。
我們現在開始有監督的BP神經網路學習演算法:
1、正向傳播得到輸出層誤差e
=>輸入層輸入樣本=>各隱藏層=>輸出層
2、判斷是否反向傳播
=>若輸出層誤差與期望不符=>反向傳播
3、誤差反向傳播
=>誤差在各層顯示=>修正各層單元的權值,直到誤差減少到可接受程度。
演算法闡述起來比較簡單,接下來通過數學公式來認識BP的真實面目。
假設我們的網路結構是一個含有N個神經元的輸入層,含有P個神經元的隱層,含有Q個神經元的輸出層。
這些變數分別如下:
認識好以上變數後,開始計算:
一、用(-1,1)內的隨機數初始化誤差函數,並設定精度ε,最多迭代次數M
二、隨機選取第k個輸入樣本及對應的期望輸出
重復以下步驟至誤差達到要求:
三、計算隱含層各神經元的輸入和輸出
四、計算誤差函數e對輸出層各神經元的偏導數,根據輸出層期望輸出和實際輸出以及輸出層輸入等參數計算。
五、計算誤差函數對隱藏層各神經元的偏導數,根據後一層(這里即輸出層)的靈敏度(稍後介紹靈敏度)δo(k),後一層連接權值w,以及該層的輸入值等參數計算
六、利用第四步中的偏導數來修正輸出層連接權值
七、利用第五步中的偏導數來修正隱藏層連接權值
八、計算全局誤差(m個樣本,q個類別)
比較具體的計算方法介紹好了,接下來用比較簡潔的數學公式來大致地概括這個過程,相信看完上述的詳細步驟都會有些了解和領悟。
假設我們的神經網路是這樣的,此時有兩個隱藏層。
我們先來理解靈敏度是什麼?
看下面一個公式:
這個公式是誤差對b的一個偏導數,這個b是怎麼?它是一個基,靈敏度δ就是誤差對基的變化率,也就是導數。
因為?u/?b=1,所以?E/?b=?E/?u=δ,也就是說bias基的靈敏度?E/?b=δ等於誤差E對一個節點全部輸入u的導數?E/?u。
也可以認為這里的靈敏度等於誤差E對該層輸入的導數,注意了,這里的輸入是上圖U級別的輸入,即已經完成層與層權值計算後的輸入。
每一個隱藏層第l層的靈敏度為:
這里的「?」表示每個元素相乘,不懂的可與上面詳細公式對比理解
而輸出層的靈敏度計算方法不同,為:
而最後的修正權值為靈敏度乘以該層的輸入值,注意了,這里的輸入可是未曾乘以權值的輸入,即上圖的Xi級別。
對於每一個權值(W)ij都有一個特定的學習率ηIj,由演算法學習完成。