BP神经网络研究(一)
本随笔参考文章:《BP神经网络详解与实例》(链接: https://pan.baidu.com/s/1e2niIvD9KtLXEqwXtgdXxw 密码: vb8d)
本随笔原创,转发请注明原处:https://www.cnblogs.com/nanyunan/p/9494946.html
1 神经网络单元示例
2 神经网络示例
3 几个重要公式
3.1 单元前向公式
y=f[sum(wi*xi)-θ]
其中,wi是输入权重,xi是输入值,sum是求和函数,θ是阈(yu)值,f是激发函数
其中,f激发函数主要有:sgn,Sigmoid
其中,sgn是符号函数(https://baike.baidu.com/item/sign/115763)
其次,Sigmoid是S型函数(https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407?fr=aladdin)
3.2 单元后向公式
权重迭代公式
假设有n个样本训练网络,p表示当前训练样本,p-1表示上一个训练样本。
ωlp(i,j)=ωlp-1(i,j)+ηδlpαl-1p(j)
其中,ωlp(i,j)表示第l层第i个神经单元的第j个输入权重
其中,ωlp(i,j)表示新的权重
其中,ωlp-1(i,j)表示旧的权重
其中,η是学习效率,取值(0,1)之间,一般默认取值0.1。η过小,收敛过慢,精度高。η过大,收敛快,优解容易丢失。
其中,δlp(i)=f’Sum[δl+1p(j)ωl+1p-1(j,i)]
其中,f’是激发函数f的导函数
其中,δl+1p(j)表示下一层第j个神经单元的δ值
其中,ωl+1p-1(j,i)表示下一层第j个神经单元第i个权重的旧值
其次,δLp(i)=f’(tp(i)-aLp(i))
其中,L表示最后一层
其中,tp(i)表示最后一层第i个输出神经单元的真值
其中,aLp(i)表示最后一层第i个输出神经单元的输出值
4 编程实例
使用语言:C#
源代码(链接: https://pan.baidu.com/s/1nsh8T2VCISZFQb0fU_wBXg 密码: y8pi)
实例(包含程序,说明书,样本)(链接: https://pan.baidu.com/s/1sWkEOGqKXC6uMCGzD9eg_Q 密码: sjfh)
样本(链接: https://pan.baidu.com/s/1O9XlLOGXRbC0PfAVo9LULA 密码: b9st)
4.1 样本
4.2 样本文件
4.3 创建网络大小
4.4 训练
4.5 询问
BP神经网络研究(一)的更多相关文章
- 基于BP神经网络的字符识别研究
基于BP神经网络的字符识别研究 原文作者:Andrew Kirillov. http://www.codeproject.com/KB/cs/neural_network_ocr.aspx 摘要:本文 ...
- 字符识别OCR研究一(模板匹配&BP神经网络训练)
摘 要 在MATLAB环境下利用USB摄像头採集字符图像.读取一帧保存为图像.然后对读取保存的字符图像,灰度化.二值化,在此基础上做倾斜矫正.对矫正的图像进行滤波平滑处理,然后对字符区域进行提取切割出 ...
- BP神经网络原理及python实现
[废话外传]:终于要讲神经网络了,这个让我踏进机器学习大门,让我读研,改变我人生命运的四个字!话说那么一天,我在乱点百度,看到了这样的内容: 看到这么高大上,这么牛逼的定义,怎么能不让我这个技术宅男心 ...
- 机器学习(一):梯度下降、神经网络、BP神经网络
这几天围绕论文A Neural Probability Language Model 看了一些周边资料,如神经网络.梯度下降算法,然后顺便又延伸温习了一下线性代数.概率论以及求导.总的来说,学到不少知 ...
- 【转】漫谈ANN(2):BP神经网络
上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能.由这些人工神经元构建出来的网络,才能够具有学习.联想.记忆和模式识别的能力.BP网络就是一种简单的人工神经 ...
- 利用BP神经网络预测水道浅滩演变
论文 <基于现代技术的河道浅滩演变研究> 利用BP神经网络来预测浅滩演变 BP输出因子:浅滩的年平均淤积厚度以及浅滩上最小水深,是反映浅滩变化的两个基本指标,是确定浅滩航道尺度能否满足航行 ...
- 神经网络中的BP神经网络和贝叶斯
1 贝叶斯网络在地学中的应用 1 1.1基本原理及发展过程 1 1.2 具体的研究与应用 4 2 BP神经网络在地学中的应用 6 2.1BP神经网络简介 6 2.2基本原理 7 2.3 在地学中的具体 ...
- RBF神经网络和BP神经网络的关系
作者:李瞬生链接:https://www.zhihu.com/question/44328472/answer/128973724来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- NO.2:自学tensorflow之路------BP神经网络编程
引言 在上一篇博客中,介绍了各种Python的第三方库的安装,本周将要使用Tensorflow完成第一个神经网络,BP神经网络的编写.由于之前已经介绍过了BP神经网络的内部结构,本文将直接介绍Tens ...
随机推荐
- leetcode529
public class Solution { //DFS public char[,] UpdateBoard(char[,] board, int[] click) { ), n = board. ...
- Spring Test 整合 JUnit 4 使用总结
转自:https://blog.csdn.net/hgffhh/article/details/83712924 这两天做Web开发,发现通过spring进行对象管理之后,做测试变得复杂了.因为所有的 ...
- GitHub个人使用入门
今天突然想起来了github 于是开始了入门之旅 如果你用过svn 那么你用起来感觉入门比较快的(至少我是这么感觉的)和在svn服务器上建项目的流程很像 每次修改代码之后提交的过程是: add, co ...
- VMWare中三种网络连接模式的区别
VMWare中有桥接.NAT.host-only三种网络连接模式,在搭建伪分布式集群时,需要对集群的网络连接进行配置,而这一操作的前提是理解这三种网络模式的区别. 参考以下两篇文章可以更好的理解: V ...
- Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案
第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...
- solr的简单部署:在tomcat中启动slor
1,首先要下载solr 途径1: 官网网址: http://lucene.apache.org/ 与Lucene的官网是一个 途径2: 下载历史版本的网址: http://archive.apache ...
- springboot启动过程(3)-refresh方法
1 springboot在启动的时候,会调用run方法,创建环境设置spring容器,其中包含refresh方法,完成配置类解析,各种beanFactoryPostProcess和beanPostP ...
- 解剖Nginx·模块开发篇(2)ngx_http_hello_world_module 模块基本结构定义
elloWorld 是一个典型的 location 模块.什么是 location 模块?在 Nginx 中,根据作用域,有 main 模块.server 模块.location 模块. 1 模块定义 ...
- 微信小程序(一)基本知识初识别
最近微信圈里小程序很火的样子,以前小程序刚开始的时候研究了一下,多日没关注发现一些东西都淡忘了,最后决定还是记录下来的好. 毕竟好记星比不上烂笔头嘛~
- Cloudstack4.2之改变数据卷容量的大小(Resize Data Volumes)
下图标注了这个功能在cloudstack4.2 UI中的位置 在cloudstack中是通过磁盘服务来设定卷的大小的.管理员可以设置相应的磁盘服务以供用户来使用.为了增强系统的灵活性,方便最终用户的使 ...