前言
BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一。
一、简介
BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。就是在模拟过程中(这是一个循环,我们在训练神经网络的时候是要不断的去重复这个过程的)收集系统所产生的误差,并且返回这些误差到输出值,之后用这些误差来调整神经元的权重,这样生成一个可以模拟出原始问题的人工神经网络系统。
BP神经网络应用的主要方面:
预测:电力运行负荷、血红蛋白浓度、房价、股市、水资源需求、风俗、地质灾害等
评价:城市安全、河流健康、教学质量、网络安全、水环境、生态风险灾害损失等
图像处理:图像降噪、图像分类、图像压缩、图像校正、图像分割图像加密等
仿真:移动机器人避障仿真、物流交通仿真、无人机自适应仿真、工业控制仿真等
二、BP神经网络的网络流程
1.结构
BP神经网络由输入层、输出层和若干个隐藏层(一层或者多层)构成,每一层可以有若干节点。层与层之间节点连接状态通过权重来体现。
(a)为一个隐藏层
(b)三个隐藏层
2.流程
实线为正向传播,虚线为反向传播。
将训练样本与权重进行计算,得到输出结果,输出结果与期望输出结果进行比较,得到满意的结果,就训练完成,然后进行测试(再给它一个输入,看它的输出);如果结果不满意,我们需要进行调整,对权重进行调整(样本不可调整)。
BP神经网络过程分为两个阶段,第一阶段是信号的前向传播。从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播。从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
正向传播就是指数据从输入端输入后,沿着网络的指向,乘以对应的权重之后在加和,再把结果作为输入在激活函数中进行计算,将计算结果作为输入传递给下一个节点。依次计算,直到得到最终的输出。
反向传播是指将输出的结果与理想的输出结果进行比较,将输出结果与理想输出结果之间的误差进行网络进行反向传播的过程。具体是不断对网络上各个节点的所有权重进行调整,权重调整的方法采用梯度下降法。
梯度下降法:
就是一个人在山顶,以最快的速度到达山脚,是每一步下降最快的路,变化最快,这个就理解为梯度(矢量)。梯度为正,上升最快;梯度为负,下降最快。梯度是偏导数组成的矢量。
3.实例
看到的一个具体实例,进行理解
反向传播就列举这两个进行理解。
4.优缺点
优点:
1.自学习和自适应能力强
2.非线性映射能力较强;实质上BP网络实现了从输入到输出的映射功能,数学理论上证明三层神经网络就能够以任意精度逼近任何非线性连续函数,适用于求解内部机制复杂问题。
3.有一定容错能力
缺点:
1.容易陷入局部最优;用图像去理解
2.收敛速度慢
3.BP神经网络结构选择不一
总结
以上就是对BP神经网络的学习