深度學習(三)Backpropagation算法過程

總結4個公式

首先介紹BP1


  • BP1:輸出層的delta 也就是?C/?z
    根據鏈接法則,?C/?z = ?C/?a * ?a/?z 注意這個*指的是點乘 也就是對應的元素相乘,而不是矩陣乘法
  • 對于不同Cost函數 有不同的?C/?a
  • 對于不同的a函數 也有不同的?a/?z
  • 算完該輸出層的delta 再求該層的BP3和BP4

  • ?C/?b=delta
  • ?C/?w = delta與前一層的輸出值也就是a進行點乘

為什么:
這是因為根據鏈接法則
?C/?w =?C/?z * ?z/?w
z= wx + b
?z/?w = x 也就是上一層的a
'nabla_b[-1] = delta
nabla_w[-1] = np.dot(delta,activations[-2].transpose()) '

隱藏層的遍歷

  • 首先算出該層的delta
  • 非輸出層的誤差依賴于其下一層誤差

計算該層delta需要 下一層的W 與 下一層的delta進行點乘

  • 然后在計算BP3和BP4
        for l in xrange(2,self.num_layers):
            z = zs[-l]
            sp = sigmoid_prime[z]
            delta = np.dot(self.weights[-l+1].transpose(),delta) * sp
            nabla_b[-l] = delta
            nabla_w[-l]= np.dot(delta,activations[-l-1].transpose())
        return(nabla_b,nabla_w)

num_layers:神經網絡的層數

Backpropagation算法總結

    def backprop(self,x,y):
        activation = x 
        activations = [x]
        zs = []
        for b,w in zip(self.biases,self.weights):
            z = np.dot(w,activation)+b
            zs.append(z)
            activation = sigmoid(zs)
            activations.append(activation)
        #backward pass
        delta = self.cost_derivatice(activations[-1],y) * sigmoid_prime(zs[-1])
        nabla_b[-1] = delta
        nabla_w[-1] = np.dot(delta,activations[-2].transpose()) 
        for l in xrange(2,self.num_layers):
            z = zs[-l]
            sp = sigmoid_prime[z]
            delta = np.dot(self.weights[-l+1].transpose(),delta) * sp
            nabla_b[-l] = delta
            nabla_w[-l]= np.dot(delta,activations[-l-1].transpose())
        return(nabla_b,nabla_w)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 轉載自:CSDN極客頭條作者:李理 目前就職于環(huán)信,即時通訊云平臺和全媒體智能客服平臺,在環(huán)信從事智能客服和智能機...
    wang_shaochun閱讀 1,301評論 0 1
  • 需求描述: API服務器,采用異步IO實現并發(fā),故每個API的執(zhí)行需要非阻塞,否則會造成整個服務會不可用。有若干A...
    hmisty閱讀 1,860評論 0 0
  • 本文由達叔品股發(fā)布,申請入駐企鵝自媒體。 2017年2月7日
    達叔品股閱讀 249評論 0 0
  • 人有時侯會孤獨,寂寞,但不是每個人都有的。 在我心中,小時候是最孤獨不過了。在我上一年級的時候,媽媽為了賺錢,...
    米雪兔閱讀 267評論 0 0

友情鏈接更多精彩內容