ML Backpropagation算法实现的过程举例
Backpropagation算法實現的過程:
輸入x:設置輸入層activation a (輸入層a等于x)
正向更新:對于l=1, 2, 3,…L,計算(由前一層的值計算得到下一層的值)
計算出輸出層error: (偏導數▽aC就是計算出的值a與真實值y之間的差(Tj-Oj);而對于sigmoid 函數的導數σ’就等于Oj(1-Oj))
C要看實際所使用的 cost函數為何種
反向更新error (backpropagate error):
前面的w和delta相乘用dot,后面與σ’卷積用*(實際計算發現dot運算時可能要進行一定的轉置使數組的維度能對上,dot運算滿足的條件可以參照:https://blog.csdn.net/Moelimoe/article/details/100004920
輸出: (權重和偏向的偏導)
Backpropagation算法舉例
初始權重(initialize weights)是隨機產生的(如-1~1之間)
X為實例,θ為偏向(bias),對于input layer是沒有偏向的,偏向可以定在
-0.5~0.5之間
如下圖
由node4對應所有實例計算出的結果(0.332)即是node4對應的的值
最開始所有層w,b都會初始化一個值
以下[3,2,1]的神經元結構為例:input layer為所有x值,每一個結點代表一個x的值
如:node4 = x1 * w14 + x2 * w24 + x3 * w34 + θ4 =0.2+0+(-0.5)+(-0.4)=-0.7(相當于中間變量Z或activation a)
θ為偏向bias,算出來node4=-0.7也就是node4對于output的輸入值
利用隱藏層error公式計算每一個結點的error:(node6由輸出層計算,5和4由公式weight*error計算)
更新weight和bias:
總結
以上是生活随笔為你收集整理的ML Backpropagation算法实现的过程举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智慧交通day04-特定目标车辆追踪02
- 下一篇: linux中断处理体系结构分析(一),L