具有三層或三層以上的階層型神經(jīng)網(wǎng)絡(luò)术奖。簡單的至少有三層采记,輸入曾、輸出層唧龄、隱含層(中間層)。其學(xué)習(xí)的過程是一種有監(jiān)督式機器學(xué)習(xí)掖鱼,首先需要對每一種輸入模式設(shè)定一個期望輸出值,對網(wǎng)絡(luò)輸入實際的學(xué)習(xí)記憶模式芍瑞,并由輸入層經(jīng)過中間層向輸出層傳播(“模式順傳播”),而實際輸出與期望輸出的差即是誤差拆檬。按照誤差平方最小的規(guī)則竟贯,由輸出層往中間層逐層修正連接權(quán)值,其過程為(“誤差逆?zhèn)鞑ァ保┕案洹kS著“模式順傳播”和“誤差逆?zhèn)鞑ァ边^程的交替反復(fù)進行持际,神經(jīng)網(wǎng)絡(luò)的實際輸出逐漸向個字對應(yīng)的期望輸出逼近,對輸入模式的響應(yīng)正確率也不斷地上升益眉。在此過程中姥份,反復(fù)確定下來各層之間的連接權(quán)值之后就可以過做了澈歉。
BP神經(jīng)網(wǎng)絡(luò)通常采用梯度法修正權(quán)值,并要求輸出函數(shù)可微分娱颊,通常采用S型函數(shù)(也叫Sigmoid型函數(shù))作為輸出函數(shù),比如對數(shù)S型函數(shù):
y=f(x)=1/(1+e^-x)
S型函數(shù)作為輸出函數(shù)是由于其具有非線性箱硕,單調(diào)性,無限次可微性等特點栓拜。
步驟:
1幕与、分別確定輸入層節(jié)點數(shù)镇防、輸出層節(jié)點數(shù)、隱含層層數(shù)以及節(jié)點數(shù)来氧、初始化權(quán)重、期望誤差中狂、學(xué)習(xí)率胃榕、最大學(xué)習(xí)次數(shù)瞄摊、初始化迭代次數(shù)、學(xué)習(xí)實例序號初始值泉褐;
2膜赃、取第k個學(xué)習(xí)實例(X,Y)進行正向傳播,得出各個節(jié)點的輸入值以及輸出值端铛,計算出輸出層各個節(jié)點的輸出誤差;
3疲眷、對于N個節(jié)點,假如輸出層每個節(jié)點的誤差值都<=期望誤差换淆,或者是迭代次數(shù)達到最大迭代次數(shù),那么學(xué)習(xí)結(jié)束讯屈。
4涮母、進行誤差反向計算躁愿,根據(jù)公式得出每次權(quán)重調(diào)整量,根據(jù)權(quán)值調(diào)整公式進行權(quán)值調(diào)整来候;
5逸雹、進行下一輪迭代吠勘,計算下一個實例,如果實例全部計算完成峡眶,那么重新頭開始計算實例,轉(zhuǎn)到步驟2繼續(xù)迭代植锉。