国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
03_反向傳播算法(BP算法)· 原理+演算
userphoto

2023.10.17 江蘇

關(guān)注

反向傳播算法(Backpropagation Algorithm,BP算法)是深度學(xué)習(xí)的重要思想基礎(chǔ)

 

目錄

一、BP算法的推導(dǎo)

1、前向傳播的計算

第一層隱藏層的計算

第二層隱藏層的計算

輸出層計算

 

2、反向傳播計算

 

計算偏導(dǎo)數(shù)

二、實際數(shù)據(jù)代入推導(dǎo)BP算法

1、前向傳播計算

第一層隱藏層的計算

第二層隱藏層的計算

輸出層計算

2、誤差反向傳播

輸出層誤差計算

第二層隱藏層誤差計算

第一層隱藏層誤差計算

3、更新參數(shù)


其實,大概意思就是在輸入和輸出之間構(gòu)造神經(jīng)網(wǎng)絡(luò)(像人的大腦神經(jīng)網(wǎng)絡(luò)一樣),當(dāng)然這個神經(jīng)網(wǎng)絡(luò)里面會有很多的神經(jīng)節(jié)點和節(jié)點之間相連的邊(就想神經(jīng)元由前到后相連)。然后,這個神經(jīng)網(wǎng)絡(luò)作為一個計算的網(wǎng)絡(luò),里面會有一些參數(shù),要是參數(shù)選的好的話,那么這個模型就可以拿去用了,比如說,看到一張狗的照片,就知道這個是狗了。而反向傳播算法就是從結(jié)果出發(fā)一步步去約束其中的參數(shù),然后使得參數(shù)達到最優(yōu)的狀態(tài)。

看一看神經(jīng)元,這里的:

a1、a2、a3指的是輸入

w1、w2、w3指的是權(quán)重(對應(yīng)輸入的)

b 表示偏置(這里沒有呢)

f 表示激活函數(shù)(你可以想成是平時數(shù)學(xué)課上的函數(shù),一般都是比較簡單的函數(shù),表現(xiàn)出輸入和輸出的關(guān)系)

z 指的是輸出

 

一、BP算法的推導(dǎo)

這個是一個簡單的三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(兩個隱藏層,一個輸出層)

比如我們來解決一個二分類問題,給一個樣本輸入,通過前向運算得到輸出

輸出值域為(0,1),輸出的結(jié)果越靠近0,就代表樣本是0類的可能性越大,反之,1類的可能性越大

 

1、前向傳播的計算

基本上都是矩陣運算

  • 第一層隱藏層的計算

  • 第二層隱藏層的計算

  • 輸出層計算

 

2、反向傳播計算

假設(shè)我們使用隨機梯度下降的方式來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù):

損失函數(shù)(loss function)或代價函數(shù)(cost function),通常作為學(xué)習(xí)準(zhǔn)則與優(yōu)化問題相聯(lián)系,即通過最小化損失函數(shù)求解和評估模

型。定義為

,其中 y 定義為該樣本的真實類標(biāo),而 
 是模型的輸出。

這里有一些損失函數(shù),我們一般用的是第二個平方損失函數(shù):

當(dāng)損失函數(shù)的值為0時,那么表示模型參數(shù)訓(xùn)練的炒雞好的!因為沒有損失了。

使用梯度下降法進行參數(shù)的學(xué)習(xí),必須計算出損失函數(shù)關(guān)于神經(jīng)網(wǎng)絡(luò)中各層參數(shù)(權(quán)重w和偏置b)的偏導(dǎo)數(shù)。

 

  • 計算偏導(dǎo)數(shù)

BP算法基本就是這些

 

二、實際數(shù)據(jù)代入推導(dǎo)BP算法

我們對上述的神經(jīng)網(wǎng)絡(luò)代值進行計算驗證,所有的參數(shù)的初始值如下:

注意:這里面的所有的權(quán)值w和所有的偏置b的具體的值都是初始值,當(dāng)然也可以換成其他數(shù)字

 

1、前向傳播計算

  • 第一層隱藏層的計算

  • 第二層隱藏層的計算

  • 輸出層計算

 

2、誤差反向傳播

  • 輸出層誤差計算

  • 第二層隱藏層誤差計算

  • 第一層隱藏層誤差計算

3、更新參數(shù)

我們已經(jīng)計算出每一層的誤差了,現(xiàn)在我們要利用每一層的誤差和梯度來更新每一層的參數(shù)

權(quán)重w和偏置b的更新公式如下:

一般來說,權(quán)重w的更新會在前面加上一個正則化項來避免過擬合,這里為了簡化運算,我們省去正則化項。

正則化:必須有一種自動的東西來告訴我們哪種程度將最適合所提供的數(shù)據(jù),同時告訴我們需要把那些特征的影響降低至最低,以獲得最好的預(yù)測。

是學(xué)習(xí)率:為了能夠使得梯度下降法有較好的性能,我們需要把學(xué)習(xí)率的值設(shè)定在合適的范圍內(nèi)。學(xué)習(xí)率決定了參數(shù)移動到最優(yōu)值的速度快慢。如果學(xué)習(xí)率過大,很可能會越過最優(yōu)值;反而如果學(xué)習(xí)率過小,優(yōu)化的效率可能過低,長時間算法無法收斂。所以學(xué)習(xí)率對于算法性能的表現(xiàn)至關(guān)重要。

在每次迭代中去調(diào)整學(xué)習(xí)率的值是另一種很好的學(xué)習(xí)率自適應(yīng)方法。此類方法的基本思路是當(dāng)你離最優(yōu)值越遠,你需要朝最優(yōu)值移動的就越多,即學(xué)習(xí)率就應(yīng)該越大;反之亦反。我們這里設(shè)置為0.1。

每一層的參數(shù)更新的計算方法都是一樣的,這里只給出第一層隱藏層的參數(shù)更新:

 

 

哈哈哈哈,具體還有很多東西,大家可以看看mooc復(fù)旦大學(xué)的商務(wù)數(shù)據(jù)教程!

 

 

 

 

 

 

 

 

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何理解神經(jīng)網(wǎng)絡(luò)里面的反向傳播算法?
DL之BP:神經(jīng)網(wǎng)絡(luò)算法簡介之BP算法簡介(鏈?zhǔn)椒▌t/計算圖解釋)、案例應(yīng)用之詳細攻略
深度學(xué)習(xí)算法之BP神經(jīng)網(wǎng)絡(luò)詳細公式推導(dǎo)
神經(jīng)網(wǎng)絡(luò)-全連接層(2)
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服