1. 程式人生 > 實用技巧 >BP反向傳播演算法

BP反向傳播演算法

  1. 關於BP反向傳播演算法自己的一些理解,便於日後回顧。
    BP演算法是神經網路(Nueral Network)的核心思想。其主要的作用是,根據實際輸出(output)與期望輸出(target)的誤差(Error)來調整權重(weight)。使得實際輸出更好的貼合期望輸出。

  2. BP演算法的英文全稱是Error Back Propagation,即誤差反向傳播演算法。
    下面以兩層神經網路為例,說明BP演算法。即輸入層(input)、隱藏層(hidden)和輸出層(output)。一般輸入層不算做一層。因此是兩層神經網路。

    2.1 正向傳播
    在進行誤差反向傳播之間,先進行正向傳播,將權重和節點值相乘。再將結果通過啟用函式(例如:sigmoid函式)。作為下層節點的輸入。

    2.2 反向傳播
    反向傳播時,將輸出誤差以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有單元, 使各層單元獲得誤差訊號作為修正各單元權值的依據
    反向傳播示意圖如下:
    反向傳播示意圖

  3. BP演算法-學習目的和學習方法
    3.1 學習目的—使得誤差(Error)最小,即最小化(target-output)
    在這裡插入圖片描述
    3.2學習方法—梯度下降
    即通過求導的方法,沿著誤差變小的方向移動。
    在這裡插入圖片描述

  4. 證明過程
    在這裡插入圖片描述
    在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
對於以上的證明,沒有理解也沒關係。記住下圖中的公式即可。
在這裡插入圖片描述
以上便是我對BP演算法的理解。如有錯誤,敬請指正!