一.定义:
BP(Back Propagation)网络,是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。
BP网络能学习和存贮大量的输入-输出模式映射关系。
二.BP算法的核心思想:
学习过程由信号的正向传播和误差的反向传播两个过程组成。
文章图片
三.实例
1.单层BP神经网络
文章图片
输入多少个数据,就有多少个输入层的神经元。
注意:
(1) 如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。
【笔记|【深度学习】BP神经网络】(2)如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。
(3)隐藏层神经元的设置方法:如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式式可推出隐藏层节点数为s个。其中b一般为1-9的整数。
文章图片
四.推导过程
以一个BP神经网络为例
文章图片
第一层是输入层,包含两个神经元i1,i2,和截距项b1:
第二层是隐含层,包含两个 神经元h1,h2和截距项(偏置系数)b2。用于控制神经元被激活的容易程度。
第三层 是输出o1,o2,每条线上标的wi是层与层之间连接的权重。
文章图片
求out h1的数值,需要将x代换为neth1 的值。
文章图片
最后依据偏导值来计算w5的值,n为学习率,自己根据现实定义的一个值。根据上述过程,还需要算出w2,w3,w4等等的值。
这样误差反向传播法就完成了,最后再把更新的权值重新计算,不停地迭代,总误差E(total)逐步减小,直到达到所需要的误差范围或者是设定的迭代次数。
推荐阅读
- 大数据|【毕业设计】基于HMM隐马尔科夫的股票预测 - 机器学习 股票预测 python
- 毕业设计|【毕业设计】opencv+python+深度学习 实现公式识别
- 毕设选题|【毕业设计】深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
- 物联网及AI前沿技术专栏|基于机器学习的技术术语识别研究综述
- 数据库|软件工程专业困局
- 微信小程序自定义组件- behavior
- 笔记|构造HTTP
- 笔记|听书项目开发过程及重难点总结(用户管理)
- 笔记|个人博客系统