训练三层BP神经网络实现异或运算 Python 代码实现
本文主要使用下面的网络结构来完成 异或运算
异或运算 :
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 代码实现相关推荐
- 机器学习——BP神经网络详细介绍及案例Python代码实现
哒哒!来咯!来喽! BP(Back Propagation)称误差反向传播,1985年由Rumelhart 和 McCelland提出.神经元函数如图: (一).举个通俗易懂的例子:假如,我说的是假如 ...
- 模式识别八--三层BP神经网络的设计与实现
文章转自:http://www.kancloud.cn/digest/prandmethod/102850 本文的目的是学习和掌握BP神经网络的原理及其学习算法.在MATLAB平台上编程构造一个3-3 ...
- 模式识别:三层BP神经网络的设计与实现
本文的目的是学习和掌握BP神经网络的原理及其学习算法.在MATLAB平台上编程构造一个3-3-1型的singmoid人工神经网络,并使用随机反向传播算法和成批反向传播算法来训练这个网络,这里设置不同的 ...
- BP神经网络实现异或功能
环境介绍 语言:Py,版本3.6 环境:Anaconda3 (64-bit), 编译器:Spyder,Jupyter Notebook等 实现功能:使用BP神经网络实现异或功能 神经网络搭建的思想 一 ...
- bp神经网络训练流程图,BP神经网络训练过程
(1)BP算法的学习过程中有两个过程是什么?(2)写出BP神经网络的数学模型,并以20 bp(backpropagation)网络是1986年由rumelhart和mccelland为首的科学家小组提 ...
- 基于三层BP神经网络的人脸识别
实验四.基于三层BP神经网络的人脸识别 一. 实验要求 采用三层前馈BP神经网络实现标准人脸YALE数据库的识别,编程语言为C系列语言. 二.BP神经网络的结构和学习算法 实验中建议采用如下最简单的三 ...
- BP神经网络求解异或算法
BP神经网络求解异或算法 目录 BP神经网络求解异或算法 一.BP神经网络 二.激活函数 三.异或求解 一.BP神经网络 BP算法包括信号的前向传播和误差的反向传播两个过程.即计算误差输出时按从输入到 ...
- Python实现三层BP神经网络
题外话 看论文,仿真实现,最基本的能力!研一的时候定要多看看论文,提升自己的代码能力! 引言 本篇博客默认读者有一定的BP神经网络的基础,BP神经网络的基本知识就不阐述了! BP神经网络结构 本文内容 ...
- 三层BP神经网络公式推导及C语言实现
公式推导 三层BP神经网络如上图所示.其中, x i x_i xi表示第 i i i个输入层节点的输入值,也是其输出值, z j z_j zj表示第 j j j个隐藏层节点的输出值, y k ...
最新文章
- mysql 自定义哈希函数_C++ STL无序容器自定义哈希函数和比较规则(超级详细)...
- html+css常用小笔记(持续更新)
- 关于java继承中父类方法可见性探讨
- C# Java间进行RSA加密解密交互
- ZooKeeper布式集群安装及使用
- 重磅!《Apache Flink 十大技术难点实战》发布
- ArcGIS中数据存放相对路径和绝对路径的区别
- MySQL面试准备——64页pdf
- Node.js -- Stream 使用小例 ( 流运用 :读取、写入、写出、拷贝)
- crc java_java实现CRC16 MODBUS校验算法
- 后端开发 java_Java后端开发三年,你不得不了解的JVM
- web api 权限控制
- cdf日上免税店_cdf会员购吐槽大会!从上海日上开始!
- 矛与盾——扫描器盲打对主动安全防护的启示
- 解决 vmware 死锁 :take ownership failed
- 微软silverlight视频教程
- Unity2019中文补丁下载
- 证件照换底色(偷懒不专业版,仅供参考)
- 【一周头条盘点】中国软件网(2018.7.2~2018.7.6)
- 物联网需要php和嵌入式吗,物联网与嵌入式两者是什么关系
热门文章
- Ubuntu下Astro Pro配置openni踩坑小记
- Windows 10下安装Anaconda(Anaconda3-5.1.0)
- 6.1.Scrapy项目
- Boreas: 一种基于token 的精确并且大规模检测代码克隆的方法
- Android中获取手机的IMEI
- JoVE微生物组专刊征稿,写方法拍视频教程发SCI(宏基因组公众号专属福利)
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
- pandas将dataframe日期数据列的日期转化为日期当月第一天(每月1号)的日期并生成新的数据列(Setting date to beginning of month in dataframe)
- pandas改变dataframe的列的顺序、改变数据列的排列次序
- conda创建子环境并注册kernel