欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)BackPropagation算法

 更新時(shí)間:2017年12月14日 10:51:40   作者:芳草碧連天lc  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)BackPropagation算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置更新,很重要的一部就是使用BackPropagation(反向傳播)算法。具體來說,反向傳播算法就是用誤差的反向傳播來計(jì)算w(權(quán)重)和b(偏置)相對(duì)于目標(biāo)函數(shù)的導(dǎo)數(shù),這樣就可以在原來的w,b的基礎(chǔ)上減去偏導(dǎo)數(shù)來更新。其中我上次寫的python實(shí)現(xiàn)梯度下降中有一個(gè)函數(shù)backprop(x,y)就是用來實(shí)現(xiàn)反向傳播的算法。(注:代碼并非自己總結(jié),github上有這個(gè)代碼的實(shí)現(xiàn)https://github.com/LCAIZJ/neural-networks-and-deep-learning

def backprop(self,x,y):
  nabla_b = [np.zeros(b.shape) for b in self.biases]
  nabla_w = [np.zeros(w.shape) for w in self.weights]
  # 通過輸入x,前向計(jì)算輸出層的值
  activation = x
  activations = [x]# 存儲(chǔ)的是所以的輸出層
  zs = []
  for b,w in zip(self.biases,self.weights):
    z = np.dot(w,activation)+b
    zs.append(z)
    activation = sigmoid(z)
    activations.append(activation)
  # 計(jì)算輸出層的error
  delta = self.cost_derivative(activations[-1],y)*sigmoid_prime(zs[:-1])
  nabla_b[-1] = delta
  nabla_w[-1] = np.dot(delta,activations[-2].transpose())
  #反向更新error
  for l in xrange(2,self.num_layers):
    z = zs[-l]
    sp = sigmoid_prime(z)
    delta = np.dot(self.weight[-l+1].transpose(),delta)*sp
    nabla_b[-l] = delta
    nabla_w[-l] = np.dot(delta,activations[-l-1].transpose())
  return (nabla_b,nabla_w)

其中,傳入的x和y是一個(gè)單獨(dú)的實(shí)例。

def cost_derivative(self,output_activation,y):
  return (output_activation-y)
def sigmoid(z):
  return 1.0/(1.0+np.exp(z))
def sigmoid_prime(z):
  return sigmoid(z)*(1-sigmoid(z))

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pygame代碼?制作一個(gè)貪吃蛇小游戲

    Pygame代碼?制作一個(gè)貪吃蛇小游戲

    這篇文章主要介紹了100行Pygame代碼?制作一個(gè)貪吃蛇小游戲,相信我們大家都玩過貪吃蛇游戲,今天我們就從頭一起來寫一個(gè)貪吃蛇小游戲,只需要100多行的代碼就完成了,需要的朋友可以參考一下
    2021-12-12
  • 運(yùn)用PyTorch動(dòng)手搭建一個(gè)共享單車預(yù)測器

    運(yùn)用PyTorch動(dòng)手搭建一個(gè)共享單車預(yù)測器

    這篇文章主要介紹了運(yùn)用PyTorch動(dòng)手搭建一個(gè)共享單車預(yù)測器,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python實(shí)現(xiàn)簡單的HttpServer服務(wù)器示例

    Python實(shí)現(xiàn)簡單的HttpServer服務(wù)器示例

    本篇文章主要介紹了Python實(shí)現(xiàn)簡單的HttpServer服務(wù)器示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • 快速進(jìn)修Python指南之簡易跳表

    快速進(jìn)修Python指南之簡易跳表

    這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之簡易跳表示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 一文搞懂Python的hasattr()、getattr()、setattr()?函數(shù)用法

    一文搞懂Python的hasattr()、getattr()、setattr()?函數(shù)用法

    python中的getattr()、setattr()、hasattr()函數(shù)均是對(duì)類屬性或方法的操作,其中g(shù)etattr()用于獲取類或?qū)嵗兄付ǚ椒ǐ@取屬性的值,setattr()用于設(shè)置類或?qū)嵗袑傩曰蚍椒?hasattr()用于判斷類或?qū)嵗惺欠翊嬖谥付ǖ膶傩曰蚍椒?本文通過例子給大家詳解,一起看看吧
    2022-04-04
  • Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解

    Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解

    這篇文章主要介紹了Python利用pandas處理Excel數(shù)據(jù)的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python圖像處理之圖像的灰度線性變換

    Python圖像處理之圖像的灰度線性變換

    這篇文章主要介紹了Python圖像處理之圖像的灰度線性變換,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • tensorflow實(shí)現(xiàn)將ckpt轉(zhuǎn)pb文件的方法

    tensorflow實(shí)現(xiàn)將ckpt轉(zhuǎn)pb文件的方法

    這篇文章主要介紹了tensorflow實(shí)現(xiàn)將ckpt轉(zhuǎn)pb文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法示例

    python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法示例

    這篇文章主要介紹了python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法,結(jié)合實(shí)例形式分析了Python使用chain合并多個(gè)list以及合并Django中多個(gè)QuerySet的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python?異步如何使用等待有時(shí)間限制協(xié)程

    Python?異步如何使用等待有時(shí)間限制協(xié)程

    這篇文章主要為大家介紹了Python?異步如何使用等待有時(shí)間限制協(xié)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論