作家
登录

神经网络理论基础及Python实现

作者: 来源: 2017-07-18 11:59:52 阅读 我要评论

  •   
  •  
  •             for i in range(len(self.weights)): 
  •  
  •                 layer = np.atleast_2d(a[i]) 
  •  
  •                 delta = np.atleast_2d(deltas[i]) 
  •  
  •                 self.weights[i] += learning_rate * layer.T.dot(delta)  
  • 实现猜测

    离散型变量可以被编码成每一个输入单位对应一个特点值可能赋的值

    1. def predict(self, x): 
    2.  
    3.        x = np.array(x) 
    4.  
    5.        temp = np.ones(x.shape[0]+1) 
    6.  
    7.        temp[0:-1] = x 
    8.  
    9.        a = temp 
    10.  
    11.        for l in range(0, len(self.weights)): 
    12.  
    13.            a = self.activation(np.dot(a, self.weights[l])) 
    14.  
    15.        return a  

    我们给出一组数进行猜测,我们膳绫擎的法度榜样文件保存名称为BP

    1. from BP import NeuralNetwork 
    2.  
    3. import numpy as np 
    4.  
    5.   
    6.  
    7. nn = NeuralNetwork([2,2,1], 'tanh'
    8.  
    9. x = np.array([[0,0], [0,1], [1,0], [1,1]]) 
    10.  
    11. y = np.array([1,0,0,1]) 
    12.  
    13. nn.fit(x,y,0.1,10000) 
    14.  
    15. for i in [[0,0], [0,1], [1,0], [1,1]]: 
    16.  
    17.     print(i, nn.predict(i))  

    结不雅如下:

    1. ([0, 0], array([ 0.99738862])) 
    2. ([0, 1], array([ 0.00091329])) 
    3.  
    4. ([1, 0], array([ 0.00086846])) 
    5.  
    6. ([1, 1], array([ 0.99751259]))   

    【编辑推荐】

    1. 四个Python库,实现超实用的敕令行功能
    2. Python解惑:整数比较
    3. 一件有趣的事:我用 Python 爬了爬本身的微信同伙
    4. 详解基于朴实贝叶斯的情感分析及 Python 实现
    5. Python调用C模块以及机能分析
    【义务编辑:枯木 TEL:(010)68476606】

      推荐阅读

      开发者自述:我是这样理解强化学习的

    【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 定义强化进修是机械进修的一个重要分支,是多学科多范畴交叉的一个产品,它的本质是解决 decision making>>>详细阅读


    本文标题:神经网络理论基础及Python实现

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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