




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、bp算法的實(shí)現(xiàn)performing bp caculation摘要:bp算法采用廣義的學(xué)習(xí)規(guī)則,是一種有導(dǎo)師的學(xué)習(xí)算法。它分兩個(gè)階段:正向傳播階段和反向傳播階段。誤差反向傳播算法簡(jiǎn)稱算法 ,現(xiàn)在成為人工神經(jīng)網(wǎng)絡(luò)中最引人注意應(yīng)用最廣泛的算法之一。該算法是一種有教師示教的訓(xùn)練算法。關(guān)鍵詞:bp算法; 權(quán)值 ; 學(xué)習(xí)步長(zhǎng) ; 學(xué)習(xí)樣本(the information engineering school of yantai nanshan college longkou shandong 265708)abstract:bp caculation adopts broadsense tearning
2、 rinciphes,which is guided by instructors.it falls into two stasces.direct propagation and back propagation,error back propagation is shorttormed bp caculation,which has become one of the most actractrue and popular caculations.it is a training caculation demonstrated by teachers.keywords: bp cacula
3、tion ;studying sample ;limit value time-length ; trequeucy for studying 一、bp算法思想及實(shí)現(xiàn) bp算法采用廣義的學(xué)習(xí)規(guī)則,是一種有導(dǎo)師的學(xué)習(xí)算法。它分兩個(gè)階段:正向傳播階段和反向傳播階段。正向傳播階段,將學(xué)習(xí)樣本的輸入信息輸入前饋網(wǎng)絡(luò)的輸入層,輸入層單元接受到輸入信號(hào),計(jì)算權(quán)重合,然后根據(jù)神經(jīng)元的激活函數(shù)將信息傳到隱含層(1層或2層),同樣根據(jù)隱含層的輸出計(jì)算輸出層的輸出。反向傳播階段,將網(wǎng)絡(luò)的實(shí)際輸出與期望輸出相比較,如果誤差不滿足要求,將誤差向后傳播,即從輸出層到輸入層逐層求其誤差(實(shí)際上是等效誤差),然后相應(yīng)地修改
4、權(quán)值。誤差反向傳播算法簡(jiǎn)稱算法 ,現(xiàn)在成為人工神經(jīng)網(wǎng)絡(luò)中最引人注意應(yīng)用最廣泛的算法之一。該算法是一種有教師示教的訓(xùn)練算法 ,它通過對(duì)個(gè)輸入輸出對(duì) (即樣本 ) (1,1) , (2,2) , , (,)的學(xué)習(xí)訓(xùn)練 ,得到神經(jīng)元之間的連接權(quán)、和閾值收稿日期:2004-11-10作者簡(jiǎn)介:田華(1980-)女,山東德州人,煙臺(tái)南山學(xué)院軟件工程學(xué)院教師、,使維空間對(duì)維空間的映射獲得成功訓(xùn)練后得到的連接權(quán)和閾值 ,對(duì)其它不屬于1=1, 2, ,的子集進(jìn)行測(cè)試 ,其結(jié)果仍能滿足正確的映射 。 1.bp網(wǎng)絡(luò)的學(xué)習(xí)結(jié)構(gòu)。在神經(jīng)網(wǎng)絡(luò)中 ,對(duì)外部環(huán)境提供的模式樣本進(jìn)行學(xué)習(xí)訓(xùn)練 ,并能存儲(chǔ)這種模式 ,則稱為感知器
5、 ;對(duì)外部環(huán)境有適用能力 ,能自動(dòng)提取外部環(huán)境變化特征 ,則稱為認(rèn)知器。一個(gè)有教師的學(xué)習(xí)系統(tǒng)分成三個(gè)部分 :輸入部、訓(xùn)練部和輸出部。如圖 1所示:輸入部接收外來樣本x,由訓(xùn)練部進(jìn)行網(wǎng)絡(luò)的權(quán)系數(shù) w調(diào)整 ,然后輸出部輸出結(jié)果。多層神經(jīng)網(wǎng)絡(luò) 1-4-6-4-1的學(xué)習(xí)機(jī)構(gòu)用圖 2表示 :x是輸入樣本信號(hào) ,可取任意值。輸入樣本信號(hào)通過每一層的權(quán)系數(shù)作用 ,最終在輸出部產(chǎn)生結(jié)果 :y = e-x圖2 1-4-6-4-1的學(xué)習(xí)機(jī)構(gòu) 再把期望輸出信號(hào) y與 u進(jìn)行比較 ,從而產(chǎn)生誤差 e。權(quán)值調(diào)整機(jī)構(gòu)根據(jù)誤差 e對(duì)學(xué)習(xí)系統(tǒng)的各層權(quán)系數(shù)進(jìn)行修改 ,修改方向使用負(fù)梯度方向 ,即達(dá)到最速下降法 ,不斷進(jìn)行下去
6、,使誤差 e滿足給定精度要求 0.003,這時(shí)實(shí)際輸出值 u和期望輸出值 y的誤差符合要求 ,則學(xué)習(xí)過程結(jié)束。 2.bp網(wǎng)絡(luò)的數(shù)學(xué)模型。從第一節(jié)神經(jīng)元的討論可知 ,神經(jīng)元是一個(gè)多輸入單輸出的信息處理單元。它對(duì)信息處理是非線性的??砂焉窠?jīng)元抽象為一個(gè)簡(jiǎn)單的數(shù)學(xué)模型 ,如圖 3所示。 圖 3中 , x1, x2, , xn是神經(jīng)元的輸入 ,即來自前級(jí) n個(gè)神經(jīng)元的軸突信息 ;i 是 i神經(jīng)元的閥值 , wi1, wi2, , win分別是 i神經(jīng)元對(duì) x1, x2, , xn的權(quán)系數(shù) ,也即突觸的傳遞效率 ; yi是 i神經(jīng)元受到輸出 ; f 是激發(fā)函數(shù) ,它決定 i神經(jīng)元受到輸入 x1, x2,
7、 , xn的共同刺激達(dá)到閥值時(shí)以何種方式輸出。數(shù)學(xué)模型表達(dá)式為 : 取激發(fā)函數(shù)為s型: 是對(duì)應(yīng)第i個(gè)樣本xi的實(shí)際輸出;yi是對(duì)應(yīng)第i個(gè)樣本xi的期望輸出。求令e最小時(shí)w: 其中: 則: 取負(fù)梯度修改權(quán)系數(shù),可獲得最速下降法即: 3bp算法推導(dǎo) 定義誤差函數(shù)e為期望輸出與實(shí)際輸出之差和平方和:其中:y為期望值,即教師信號(hào);x為實(shí)際輸出??疾鞕?quán)系數(shù)wij的修改量,與e的負(fù)梯度有關(guān)。即: 其中k為網(wǎng)絡(luò)層數(shù),由于: 從而有: 從修改系數(shù)角度出發(fā),有令: 則: 因d非顯式,要進(jìn)行變換: 因: 故:即: 分兩種情況求:(1) 當(dāng)k=m時(shí),即最后一層,則: 由于: 故有:(2)當(dāng)km時(shí),則該層為隱層,這時(shí)
8、考慮上一層對(duì)它的作用: 由于: 故:最后有: 按負(fù)梯度方向修改權(quán)系數(shù),采用加速算法,則有: 4 .bp算法的執(zhí)行。 bp算法執(zhí)行分兩個(gè)過程 : ( 1)正向傳播 :輸入的樣本從輸入層經(jīng)過隱單元一層一層進(jìn)行處理 ,通過第二層 ,第三層 ,第四層之后 ,傳出第五層輸出層 ;在逐層處理過程中 ,每一層神經(jīng)元的狀態(tài)只對(duì)下一層神經(jīng)元的狀態(tài)產(chǎn)生影響。在輸出層把現(xiàn)行輸出和期望輸出進(jìn)行比較,如果現(xiàn)行輸出不等于期望輸出,則進(jìn)入反向傳播過程。( 2)反向傳播 :反向傳播時(shí) ,把誤差信號(hào)按原來正向傳播的通路反向傳回 ,并對(duì)每一隱層各個(gè)神經(jīng)元的權(quán)系數(shù)進(jìn)行修改 ,以使誤差信號(hào)趨向最小。根據(jù) bp算法的兩個(gè)過程 ,采用
9、s型激發(fā)函數(shù)時(shí) ,可用下列步驟對(duì)網(wǎng)絡(luò)的權(quán)系數(shù) wij進(jìn)行遞歸求取。注意如果輸入 ( x1, x2, , xn)對(duì)于該層的第 i個(gè)神經(jīng)元 ,則有 n個(gè)權(quán)系數(shù) wi1, wi2, , win,另外多取一個(gè) win+ 1,用于表示閥值;并將輸入樣本 x取 ( x1, x2, , xn, 1)。根據(jù) bp算法的兩個(gè)過程 ,采用 s型激發(fā)函數(shù)時(shí) ,可用下列步驟對(duì)網(wǎng)絡(luò)的權(quán)系數(shù) wij進(jìn)行遞歸求取。注意如果輸入 ( x1, x2, , xn)對(duì)于該層的第 i個(gè)神經(jīng)元 ,則有 n個(gè)權(quán)系數(shù) wi1, wi2, , win,另外多取一個(gè) win+ 1,用于表示閥值 ;并將輸入樣本 x取 ( x1, x2, , x
10、n, 1)。算法的執(zhí)行步驟如下 :( 1)權(quán)系數(shù) wij置初值 :對(duì)各層的權(quán)系數(shù) wij置一個(gè)較小的非零隨機(jī)數(shù) ,但其中win + 1=-。 ( 2)輸入一個(gè)樣本 x0,以及對(duì)應(yīng)期望值 : (3)計(jì)算各層的輸出: 第一層: 第二層其中i=1,2,3,4第三層: 其中i=1,2,3,4,5,6(4)計(jì)算: 如e0.003則轉(zhuǎn)(8),否則轉(zhuǎn)(5)執(zhí)行;(5) 求各層的學(xué)習(xí)誤差:k=3; j=1,2,3,4,5,6 k=2; j=1,2,3,4 (6) 修正權(quán)系數(shù)和閥值: 當(dāng)k=1時(shí): 當(dāng)k=2時(shí):i=1,2,3,4; j=1,2 當(dāng)k=3時(shí):i=1,2,3,4,5,6; j=1,2,3,4(7)
11、返回(3)執(zhí)行:.(8) 輸出各層權(quán)系數(shù)。實(shí)驗(yàn)結(jié)果表明 : ( 1)如改變精度要求 ,將影響 bp算法的計(jì)算次數(shù) ,當(dāng)精度提高時(shí) ,計(jì)算量明顯加大 ;當(dāng)精度降低時(shí) ,計(jì)算量減小。 ( 2)當(dāng)改變神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)時(shí) ,意味著整個(gè)計(jì)算過程將變化。( 3)當(dāng)取不同樣本點(diǎn)組時(shí) ,有的收斂較快 ,有的計(jì)算非常多。( 4)當(dāng)取不同加速因子時(shí) ,加速效果不同。有的較快 ,有的較慢。( 5) bp算法求函數(shù)逼近有一定的實(shí)用性。二、使用 bp算法時(shí)應(yīng)考慮的若干問題 歸納總結(jié)了使用 bp算法時(shí)可能涉及到的問題和一些技巧。尤其對(duì)學(xué)習(xí)方法的選擇、隱層數(shù)和隱層單元數(shù)的選擇、學(xué)習(xí)步長(zhǎng)的選擇、避免局部最小的方法、學(xué)習(xí)樣本的選
12、擇、激活函數(shù)的選擇等都作了詳細(xì)的介紹 。1學(xué)習(xí)方法的選擇1)單樣本學(xué)習(xí)法根據(jù)每一個(gè)學(xué)習(xí)樣本的誤差 ,求權(quán)值修正值 ,更新權(quán)值 ;成批學(xué)習(xí)法根據(jù)所有學(xué)習(xí)樣本的總誤差 ,求權(quán)值修正值 ,更新權(quán)值。一般來說 ,學(xué)習(xí)樣本中噪聲較小時(shí) ,用單樣本學(xué)習(xí)法較合適 ,否則用成批學(xué)習(xí)法較合適。2)單樣本學(xué)習(xí)法的缺點(diǎn)是每次迭代的梯度值受學(xué)習(xí)樣本中的噪聲影響較大 ,而成批學(xué)習(xí)法的缺點(diǎn)是忽略了學(xué)習(xí)樣本的個(gè)體差異而降低學(xué)習(xí)的靈敏度。通常 ,可以將上述兩種方法進(jìn)行折衷 ,即將學(xué)習(xí)樣本集分成若干個(gè)子塊分別進(jìn)行以子塊為單位的成批學(xué)習(xí) ,當(dāng)誤差收斂到一預(yù)定數(shù)值 ,再以此時(shí)權(quán)值為初值 ,轉(zhuǎn)入下一個(gè)子塊進(jìn)行學(xué)習(xí) ,在所有的子塊學(xué)習(xí)
13、完后 ,如果總的誤差滿足要求 ,學(xué)習(xí)結(jié)束。否則 ,轉(zhuǎn)入下一個(gè)循環(huán)繼續(xù)學(xué)習(xí) 。3)規(guī)模較大的 bp網(wǎng)絡(luò) ,學(xué)習(xí)時(shí) ,可以將它以一定的比例縮小成較小的 bp網(wǎng)絡(luò) ,先訓(xùn)練這個(gè)較小的bp網(wǎng)絡(luò) ,將學(xué)習(xí)的結(jié)果以同樣的比例提升到原來較大規(guī)模的網(wǎng)絡(luò) ,再訓(xùn)練較大規(guī)模的網(wǎng)絡(luò)。實(shí)驗(yàn)證明對(duì)于大規(guī)模 bp網(wǎng)絡(luò)這種學(xué)習(xí)方法速度快 ,特征抽取能力強(qiáng)。2 隱層數(shù)和隱層單元數(shù)的選擇1) 一般總是先選擇一個(gè)隱層的 bp網(wǎng)絡(luò) ,但如果選擇一個(gè)隱層時(shí) ,隱層單元數(shù)目較大 ,可以考慮選用兩個(gè)隱層 ,而每個(gè)隱層的單元數(shù)取較小值 。2) 隱層單元數(shù)目 hn的選擇是否合適是應(yīng)用 bp網(wǎng)絡(luò)成功與失敗的關(guān)鍵因素之一 , hn值太小 ,學(xué)習(xí)
14、過程可能不收斂 ; hn值越大 ,網(wǎng)絡(luò)映射能力越強(qiáng) ,局部最小點(diǎn)越少 ,越容收斂到全局最小點(diǎn)。但 hn過大 ,不但使學(xué)習(xí)時(shí)間過長(zhǎng) ,而且網(wǎng)絡(luò)容易訓(xùn)練過渡 ,這時(shí)網(wǎng)絡(luò)不但記住了學(xué)習(xí)樣本的一般特征 ,而且記住了學(xué)習(xí)樣本中的個(gè)別特征 (包括隨機(jī)噪聲 )。這樣也會(huì)使網(wǎng)絡(luò)的容錯(cuò)性降低。因?yàn)槿绻W(wǎng)絡(luò)對(duì)學(xué)習(xí)樣本的學(xué)習(xí)太“精確”,即使檢測(cè)樣本與學(xué)習(xí)樣本之間有很小的畸變 ,網(wǎng)絡(luò)也會(huì)判為非。目前 ,最佳隱層單元數(shù)的選擇尚無理論指導(dǎo)。實(shí)際應(yīng)用中 ,可以先取較小的 hn,訓(xùn)練并檢驗(yàn)網(wǎng)絡(luò)的性能 。然后稍增大 hn,再重試。試驗(yàn)確定合適的。試驗(yàn)時(shí) ( 1) ( 3)式可以作為大致的參考 ( bp網(wǎng)絡(luò)作為分類器時(shí) )(1)
15、(2)(3)式 ( 1) ( 3)中 , j表示隱層單元數(shù)目 hn, k為樣本數(shù) , n為輸入單元數(shù) ,對(duì)于組合數(shù) ,如果 i j, =0, m為輸出單元數(shù) , a為 1 10之間的常數(shù)。也可以在開始時(shí)選擇足夠大的 hn,然后把學(xué)習(xí)后那些不起作用的隱層單元去掉。3學(xué)習(xí)步長(zhǎng)的選擇學(xué)習(xí)步長(zhǎng) (或稱學(xué)習(xí)速率 )的取值較大時(shí) ,學(xué)習(xí)速度快 ,但會(huì)引起權(quán)值振蕩 ,太大將引起權(quán)值發(fā)散 ;的取值較小時(shí) ,網(wǎng)絡(luò)學(xué)習(xí)速度慢 ,訓(xùn)練時(shí)間長(zhǎng) 。步長(zhǎng)的取值應(yīng)在學(xué)習(xí)速度與權(quán)值的穩(wěn)定性之間折衷選擇 ,但最好是用變步長(zhǎng)的方法 。討論變步長(zhǎng)方法的文獻(xiàn)很多 ,文獻(xiàn) 1給出一種方法 ,先設(shè)一初始步長(zhǎng) ,若一次迭代后誤差增大 ,則
16、將步長(zhǎng)乘以小于 1的正數(shù) ,否則步長(zhǎng)乘以大于 1的正數(shù)。文獻(xiàn) 2令步長(zhǎng)隨學(xué)習(xí)的進(jìn)展而逐步減小 。文獻(xiàn) 3根據(jù)連續(xù)兩次迭代時(shí) ,梯度方向的相似或相反 ,來增加或減小步長(zhǎng) 。應(yīng)該注意的是 ,學(xué)習(xí)步長(zhǎng)的選擇與 2.4中的動(dòng)量因子的選擇不是孤立的 ,它們之間有一定的等效性。4避免局部最小的方法1)增加動(dòng)量項(xiàng) (或稱慣性項(xiàng)、矩項(xiàng)等 )并適當(dāng)選擇動(dòng)量因子 (或稱慣性系數(shù) ) ,可以抑制學(xué)習(xí)過程中的振蕩和有助于擺脫局部最小 。動(dòng)量因子一般選在 0.9左右。文獻(xiàn) 3根據(jù)連續(xù)兩次迭代時(shí) ,梯度方向的相似或相反 ,來增加或減小動(dòng)量因子 (與學(xué)習(xí)步長(zhǎng)同時(shí)考慮 ) 。2)給權(quán)值加小的隨機(jī)擾動(dòng) ,有助于網(wǎng)絡(luò)擺脫局部最小
17、 。3)將 bp算法與模擬退火算法或遺傳算法結(jié)合起來 ,可以避免陷入局部最小 ,但要影響學(xué)習(xí)速度 。5學(xué)習(xí)樣本的選擇1)選擇學(xué)習(xí)樣本時(shí) ,不僅要包括所有的模式類別 ,而且每種類別所具有的學(xué)習(xí)樣本數(shù)要平衡 ,不能偏重某一類型 .但如果事先明確類型 a出現(xiàn)的機(jī)會(huì)比類型 b大一倍 ,這時(shí)可以選擇類型 a的學(xué)習(xí)樣本比類型b的學(xué)習(xí)樣本多一倍 。2)學(xué)習(xí)時(shí) ,在學(xué)習(xí)樣本中適當(dāng)加些噪聲 ,可以提高網(wǎng)絡(luò)的抗噪聲能力。3)學(xué)習(xí)樣本應(yīng)盡可能相互獨(dú)立而沒有相關(guān)關(guān)系 ,盡可能用正交設(shè)計(jì)方法來獲得足夠多的學(xué)習(xí)樣本 。6激活函數(shù)的選擇bp算法的激活函數(shù)一般采用s型函數(shù) : ,可用帶形狀因子的 s型函數(shù)來代替 。大 , s型函數(shù)的形狀平坦 ,識(shí)別率高 ,但學(xué)習(xí)速度下降 ;小 ,網(wǎng)絡(luò)收斂快 ,但識(shí)別率降低 ??梢栽陂_始學(xué)習(xí)時(shí)取較小值 ,以后逐漸增大 。文獻(xiàn) 4用作為激活函數(shù) ,實(shí)驗(yàn)證明可以提高學(xué)習(xí)速度 。 7其它技巧1) 初始權(quán)值最好設(shè)置為較小 (單極 s型函數(shù)時(shí) ,可選 -0.3 0.3之間 )的隨機(jī)數(shù) 。2) 激活函數(shù)采用單極 s型函數(shù)時(shí) ,學(xué)習(xí)樣本期望輸出設(shè)置為 0.1或 0.9較合適 。3)給定一定的允許誤差 ,當(dāng)網(wǎng)絡(luò)的輸出與樣本之間的差小于給定的允許誤差時(shí) ,則停止學(xué)習(xí)。對(duì)網(wǎng)絡(luò)學(xué)習(xí)采取這種寬容的做法 ,可加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于酒店轉(zhuǎn)讓合同范本
- 2025年GPPS項(xiàng)目建議書
- 買車預(yù)售合同范本
- 合同范例專用條款
- 個(gè)人演出勞務(wù)合同范例
- 攤位出兌合同范本
- 賣家解除合同范本
- 取送車合同范本
- 2025年特種用途鋼絲及鋼絲繩項(xiàng)目合作計(jì)劃書
- 籃球場(chǎng)地租賃合同范本
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫含答案
- 工藝技術(shù)人員工作總結(jié)
- 醫(yī)院護(hù)理人文關(guān)懷實(shí)踐規(guī)范專家共識(shí)課件
- DeepSeek在自然災(zāi)害預(yù)警中的潛力
- 2025年專利技術(shù)保密協(xié)議書模板
- 個(gè)人合伙開店合同范本
- 《研學(xué)旅行課程設(shè)計(jì)》課件-研學(xué)課程設(shè)計(jì)計(jì)劃
- 中醫(yī)痹癥-課件
- 茶葉揉捻機(jī)總體設(shè)計(jì)方案的擬定
- 蘇州大學(xué)應(yīng)用技術(shù)學(xué)院財(cái)務(wù)管理
- 粱、柱、板截面取值原則最終
評(píng)論
0/150
提交評(píng)論