文章目錄
- @[TOC](文章目錄)
- 一、基本概念
- 二、 網絡結構
- 三、BP神經網絡的原理
- 總結
- 特點:
- 應用場景
- 優缺點
文章目錄
- @[TOC](文章目錄)
- 一、基本概念
- 二、 網絡結構
- 三、BP神經網絡的原理
- 總結
- 特點:
- 應用場景
- 優缺點
一、基本概念
BP 神經網絡(Backpropagation Neural Network)是一種基于誤差反向傳播算法的多層前饋神經網絡,由輸入層、隱藏層(一層或多層)和輸出層組成。其核心思想是通過前向傳播計算預測值,再通過反向傳播將誤差逐層傳遞,利用梯度下降調整權重和偏置,從而最小化損失函數。
BP 網絡是深度學習的基礎,能夠處理非線性問題,廣泛應用于分類、回歸、圖像識別、自然語言處理等領域。
二、 網絡結構
輸入層:接收原始數據(如特征向量),節點數由輸入數據維度決定。
隱藏層:包含多層神經元,每層神經元通過權重與前一層連接,引入非線性激活函數(如 Sigmoid、Tanh、ReLU),使網絡具備擬合復雜非線性關系的能力。
輸出層:根據任務類型(分類或回歸)選擇激活函數(分類常用 Softmax,回歸常用線性函數),輸出預測結果。
v,w分別的輸入層到隱藏層,隱藏層到輸出層的是權重
對于上圖的只含一個隱層的神經網絡模型:BP神經網絡的過程主要分為兩個階段,第一階段是信號的正向傳播,從輸入層經過隱含層,最后到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。
三、BP神經網絡的原理
BP(Back-propagation,反向傳播)前向傳播得到誤差,反向傳播調整誤差,再前向傳播,再反向傳播一輪一輪得到最優解的。
反向傳播的目標是計算損失函數對每個權重和偏置的梯度,從而通過梯度下降更新參數。過程分為兩步:前向傳播和反向傳播。
1、前向傳播(Forward Propagation)
從輸入層開始,逐層計算加權和與激活值,直到輸出層得到預測值y^。
2、反向傳播(Backward Propagation)
損失函數:常用均方誤差(MSE,回歸任務)或交叉熵損失(分類任務)。
步驟:
1、計算正向傳播輸出的結果。
2、計算損失函數
3、計算w值的梯度下降
4、誤差反向傳播
將每個維度偏導數導入本次的w值,初次w值為隨機初始化,并乘以步長,即得到新的w值。
5、循環調整w的值,直到損失值小于允許的范圍。
總結
特點:
處理非線性問題:通過多層隱藏層和非線性激活函數,BP 網絡可擬合任意復雜的非線性映射(萬能近似定理)。
梯度消失問題:早期 BP 網絡使用 Sigmoid/Tanh 激活函數時,深層網絡的梯度會隨著反向傳播逐漸衰減,導致底層參數更新緩慢(可通過 ReLU 激活函數、批量歸一化、殘差連接等緩解)。
監督學習:需標注數據訓練,依賴損失函數的梯度計算。
應用場景
分類任務:圖像分類(如手寫數字識別)、文本分類、語音識別。
回歸任務:房價預測、時間序列分析。
復雜問題:深度神經網絡(如 CNN、RNN)均基于 BP 算法進行訓練。
優缺點
優點:
強大的擬合能力,適用于非線性數據。
理論成熟,可通過反向傳播高效計算梯度。
缺點:
易過擬合:需結合正則化(L2、Dropout)、早停等策略。
計算復雜度高:深層網絡訓練耗時,需優化算法(如 Adam 優化器)或硬件加速(GPU)。
依賴初始參數:隨機初始化可能導致局部最優解。