
深入淺出BP神經(jīng)網(wǎng)絡(luò)算法的原理
相信每位剛接觸神經(jīng)網(wǎng)絡(luò)的時(shí)候都會(huì)先碰到BP算法的問題,如何形象快速地理解BP神經(jīng)網(wǎng)絡(luò)就是我們學(xué)習(xí)的高級(jí)樂趣了(畫外音:樂趣?你在跟我談樂趣?)
本篇博文就是要簡單粗暴地幫助各位童鞋快速入門采取BP算法的神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)是怎樣的一種定義?看這句話:一種按“誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練”的多層前饋網(wǎng)絡(luò)。
BP的思想就是:利用輸出后的誤差來估計(jì)輸出層前一層的誤差,再用這層誤差來估計(jì)更前一層誤差,如此獲取所有各層誤差估計(jì)。這里的誤差估計(jì)可以理解為某種偏導(dǎo)數(shù),我們就是根據(jù)這種偏導(dǎo)數(shù)來調(diào)整各層的連接權(quán)值,再用調(diào)整后的連接權(quán)值重新計(jì)算輸出誤差。直到輸出的誤差達(dá)到符合的要求或者迭代次數(shù)溢出設(shè)定值。
說來說去,“誤差”這個(gè)詞說的很多嘛,說明這個(gè)算法是不是跟誤差有很大的關(guān)系?
沒錯(cuò),BP的傳播對(duì)象就是“誤差”,傳播目的就是得到所有層的估計(jì)誤差。
它的學(xué)習(xí)規(guī)則是:使用最速下降法,通過反向傳播(就是一層一層往前傳)不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,最后使全局誤差系數(shù)最小。
它的學(xué)習(xí)本質(zhì)就是:對(duì)各連接權(quán)值的動(dòng)態(tài)調(diào)整。
拓?fù)浣Y(jié)構(gòu)如上圖:輸入層(input),隱藏層(hide layer),輸出層(output)
BP網(wǎng)絡(luò)的優(yōu)勢就是能學(xué)習(xí)和儲(chǔ)存大量的輸入輸出的關(guān)系,而不用事先指出這種數(shù)學(xué)關(guān)系。那么它是如何學(xué)習(xí)的?
BP利用處處可導(dǎo)的激活函數(shù)來描述該層輸入與該層輸出的關(guān)系,常用S型函數(shù)δ來當(dāng)作激活函數(shù)。
我們現(xiàn)在開始有監(jiān)督的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法:
1、正向傳播得到輸出層誤差e
=>輸入層輸入樣本=>各隱藏層=>輸出層
2、判斷是否反向傳播
=>若輸出層誤差與期望不符=>反向傳播
3、誤差反向傳播
=>誤差在各層顯示=>修正各層單元的權(quán)值,直到誤差減少到可接受程度。
算法闡述起來比較簡單,接下來通過數(shù)學(xué)公式來認(rèn)識(shí)BP的真實(shí)面目。
假設(shè)我們的網(wǎng)絡(luò)結(jié)構(gòu)是一個(gè)含有N個(gè)神經(jīng)元的輸入層,含有P個(gè)神經(jīng)元的隱層,含有Q個(gè)神經(jīng)元的輸出層。
這些變量分別如下:
認(rèn)識(shí)好以上變量后,開始計(jì)算:
一、用(-1,1)內(nèi)的隨機(jī)數(shù)初始化誤差函數(shù),并設(shè)定精度ε,最多迭代次數(shù)M
二、隨機(jī)選取第k個(gè)輸入樣本及對(duì)應(yīng)的期望輸出
重復(fù)以下步驟至誤差達(dá)到要求:
三、計(jì)算隱含層各神經(jīng)元的輸入和輸出
四、計(jì)算誤差函數(shù)e對(duì)輸出層各神經(jīng)元的偏導(dǎo)數(shù),根據(jù)輸出層期望輸出和實(shí)際輸出以及輸出層輸入等參數(shù)計(jì)算。
五、計(jì)算誤差函數(shù)對(duì)隱藏層各神經(jīng)元的偏導(dǎo)數(shù),根據(jù)后一層(這里即輸出層)的靈敏度(稍后介紹靈敏度)δo(k),后一層連接權(quán)值w,以及該層的輸入值等參數(shù)計(jì)算
六、利用第四步中的偏導(dǎo)數(shù)來修正輸出層連接權(quán)值
七、利用第五步中的偏導(dǎo)數(shù)來修正隱藏層連接權(quán)值
八、計(jì)算全局誤差(m個(gè)樣本,q個(gè)類別)
比較具體的計(jì)算方法介紹好了,接下來用比較簡潔的數(shù)學(xué)公式來大致地概括這個(gè)過程,相信看完上述的詳細(xì)步驟都會(huì)有些了解和領(lǐng)悟。
假設(shè)我們的神經(jīng)網(wǎng)絡(luò)是這樣的,此時(shí)有兩個(gè)隱藏層。
我們先來理解靈敏度是什么?
看下面一個(gè)公式:
這個(gè)公式是誤差對(duì)b的一個(gè)偏導(dǎo)數(shù),這個(gè)b是怎么?它是一個(gè)基,靈敏度δ就是誤差對(duì)基的變化率,也就是導(dǎo)數(shù)。
因?yàn)?u/?b=1,所以?E/?b=?E/?u=δ,也就是說bias基的靈敏度?E/?b=δ等于誤差E對(duì)一個(gè)節(jié)點(diǎn)全部輸入u的導(dǎo)數(shù)?E/?u。
也可以認(rèn)為這里的靈敏度等于誤差E對(duì)該層輸入的導(dǎo)數(shù),注意了,這里的輸入是上圖U級(jí)別的輸入,即已經(jīng)完成層與層權(quán)值計(jì)算后的輸入。
每一個(gè)隱藏層第l層的靈敏度為:
這里的“?”表示每個(gè)元素相乘,不懂的可與上面詳細(xì)公式對(duì)比理解
而輸出層的靈敏度計(jì)算方法不同,為:
而最后的修正權(quán)值為靈敏度乘以該層的輸入值,注意了,這里的輸入可是未曾乘以權(quán)值的輸入,即上圖的Xi級(jí)別。
對(duì)于每一個(gè)權(quán)值(W)ij都有一個(gè)特定的學(xué)習(xí)率ηIj,由算法學(xué)習(xí)完成。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03