本文主要使用下面的网络结构来完成 异或运算
异或运算 :
0^0 = 0,
1^0 = 1,
0^1 = 1,
1^1 = 0 。

上图的公式推导可以参考博文: 三层神经网络前向后向传播示意图

import numpy as npdef nonlin(x, deriv = False):if(deriv == True):return x*(1-x)else:return 1/(1+np.exp(-x))#input dataset
X = np.array([[0,0],[1,0],[0,1],[1,1]])#output dataset
y = np.array([[0,1,1,0]]).T1 #the first-hidden layer weight value
syn0 = 2*np.random.random((2,3)) - #the hidden-hidden layer weight value
syn1 = 2*np.random.random((3,2)) - 1 #the hidden-output layer weight value
syn2 = 2*np.random.random((2,1)) - 1 for j in range(60000):#the first layer,and the input layer l0 = X     # the first hidden layer                      l1 = nonlin(np.dot(l0,syn0)) # the second hidden layer        l2 = nonlin(np.dot(l1,syn1)) # the output layer l3 = nonlin(np.dot(l2,syn2)) l3_error = y-l3       #the hidden-output layer errorif(j%10000) == 0:print ("Error:"+str(np.mean(l3_error)))l3_delta = l3_error*nonlin(l3,deriv = True)l2_error = l3_delta.dot(syn2.T)  l2_delta = l2_error*nonlin(l2,deriv = True)#the first-hidden layer errorl1_error = l2_delta.dot(syn1.T)     l1_delta = l1_error*nonlin(l1,deriv = True)syn2 += l2.T.dot(l3_delta)syn1 += l1.T.dot(l2_delta)syn0 += l0.T.dot(l1_delta)print( "outout after Training:")
print (l3)

训练三层BP神经网络实现异或运算 Python 代码实现相关推荐

  1. 机器学习——BP神经网络详细介绍及案例Python代码实现

    哒哒!来咯!来喽! BP(Back Propagation)称误差反向传播,1985年由Rumelhart 和 McCelland提出.神经元函数如图: (一).举个通俗易懂的例子:假如,我说的是假如 ...

  2. 模式识别八--三层BP神经网络的设计与实现

    文章转自:http://www.kancloud.cn/digest/prandmethod/102850 本文的目的是学习和掌握BP神经网络的原理及其学习算法.在MATLAB平台上编程构造一个3-3 ...

  3. 模式识别:三层BP神经网络的设计与实现

    本文的目的是学习和掌握BP神经网络的原理及其学习算法.在MATLAB平台上编程构造一个3-3-1型的singmoid人工神经网络,并使用随机反向传播算法和成批反向传播算法来训练这个网络,这里设置不同的 ...

  4. BP神经网络实现异或功能

    环境介绍 语言:Py,版本3.6 环境:Anaconda3 (64-bit), 编译器:Spyder,Jupyter Notebook等 实现功能:使用BP神经网络实现异或功能 神经网络搭建的思想 一 ...

  5. bp神经网络训练流程图,BP神经网络训练过程

    (1)BP算法的学习过程中有两个过程是什么?(2)写出BP神经网络的数学模型,并以20 bp(backpropagation)网络是1986年由rumelhart和mccelland为首的科学家小组提 ...

  6. 基于三层BP神经网络的人脸识别

    实验四.基于三层BP神经网络的人脸识别 一. 实验要求 采用三层前馈BP神经网络实现标准人脸YALE数据库的识别,编程语言为C系列语言. 二.BP神经网络的结构和学习算法 实验中建议采用如下最简单的三 ...

  7. BP神经网络求解异或算法

    BP神经网络求解异或算法 目录 BP神经网络求解异或算法 一.BP神经网络 二.激活函数 三.异或求解 一.BP神经网络 BP算法包括信号的前向传播和误差的反向传播两个过程.即计算误差输出时按从输入到 ...

  8. Python实现三层BP神经网络

    题外话 看论文,仿真实现,最基本的能力!研一的时候定要多看看论文,提升自己的代码能力! 引言 本篇博客默认读者有一定的BP神经网络的基础,BP神经网络的基本知识就不阐述了! BP神经网络结构 本文内容 ...

  9. 三层BP神经网络公式推导及C语言实现

    公式推导   三层BP神经网络如上图所示.其中, x i x_i xi​表示第 i i i个输入层节点的输入值,也是其输出值, z j z_j zj​表示第 j j j个隐藏层节点的输出值, y k ...

最新文章

  1. mysql 自定义哈希函数_C++ STL无序容器自定义哈希函数和比较规则(超级详细)...
  2. html+css常用小笔记(持续更新)
  3. 关于java继承中父类方法可见性探讨
  4. C# Java间进行RSA加密解密交互
  5. ZooKeeper布式集群安装及使用
  6. 重磅!《Apache Flink 十大技术难点实战》发布
  7. ArcGIS中数据存放相对路径和绝对路径的区别
  8. MySQL面试准备——64页pdf
  9. Node.js -- Stream 使用小例 ( 流运用 :读取、写入、写出、拷贝)
  10. crc java_java实现CRC16 MODBUS校验算法
  11. 后端开发 java_Java后端开发三年,你不得不了解的JVM
  12. web api 权限控制
  13. cdf日上免税店_cdf会员购吐槽大会!从上海日上开始!
  14. 矛与盾——扫描器盲打对主动安全防护的启示
  15. 解决 vmware 死锁 :take ownership failed
  16. 微软silverlight视频教程
  17. Unity2019中文补丁下载
  18. 证件照换底色(偷懒不专业版,仅供参考)
  19. 【一周头条盘点】中国软件网(2018.7.2~2018.7.6)
  20. 物联网需要php和嵌入式吗,物联网与嵌入式两者是什么关系

热门文章

  1. Ubuntu下Astro Pro配置openni踩坑小记
  2. Windows 10下安装Anaconda(Anaconda3-5.1.0)
  3. 6.1.Scrapy项目
  4. Boreas: 一种基于token 的精确并且大规模检测代码克隆的方法
  5. Android中获取手机的IMEI
  6. JoVE微生物组专刊征稿,写方法拍视频教程发SCI(宏基因组公众号专属福利)
  7. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
  8. pandas将dataframe日期数据列的日期转化为日期当月第一天(每月1号)的日期并生成新的数据列(Setting date to beginning of month in dataframe)
  9. pandas改变dataframe的列的顺序、改变数据列的排列次序
  10. conda创建子环境并注册kernel