作家
登录

一文详解神经网络 BP 算法原理及 Python 实现

作者: 来源: 2017-07-07 08:50:32 阅读 我要评论

 
  •         # 所以 eta 要除于小样本的长度 
  •         self.weights = [w-(eta/len(mini_batch))*nw 
  •                         for w, nw in zip(self.weights, nabla_w)] 
  •         self.biases = [b-(eta/len(mini_batch))*nb 
  •                        for b, nb in zip(self.biases, nabla_b)] 
  • 下面这块代码是源码最核心的部分,也即 BP 算法的实现,包含了前向传输和逆向反馈,前向传输在 Network 里有零丁一个办法(膳绫擎提到的 feedforward 办法),那个办法是用于验证练习好的神经收集的精确度的,鄙人面有提到该办法。

    1. def backprop(self, x, y): 
    2.         """ 
    3.         :param x: 
    4.         :param y: 
    5.         :return: 
    6.         """ 
    7.         nabla_b = [np.zeros(b.shape) for b in self.biases] 
    8.         nabla_w = [np.zeros(w.shape) for w in self.weights] 
    9.         # 前向传输 
    10.         activation = x 
    11.         # 储存每层的神经元的值的矩阵,下面轮回会 append 每层的神经元的值 
    12.         activations = [x]  
    13.         # 储存每个未经由 sigmoid 计算的神经元的值 
    14.         zs = []  
    15.         for b, w in zip(self.biases, self.weights): 
    16.             z = np.dot(w, activation)+b 
    17.             zs.append(z) 
    18.             activation = sigmoid(z) 
    19.             activations.append(activation) 
    20.         # 求 δ 的值 
    21.         delta = self

        推荐阅读

        大数据环境下该如何优雅地设计数据分层

      发个牢骚,搞大年夜数据的也得扶植数据仓库吧。并且不管是传统行业照样如今的互联网公司,都须要对数据仓库有必定的看重,而不是谈一句本身是搞大年夜数据的就很厉害了。数据仓库更多代表>>>详细阅读


      本文标题:一文详解神经网络 BP 算法原理及 Python 实现

      地址:http://www.17bianji.com/lsqh/36072.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)