BP神经网络模型与学习算法

Posted SOTON数据分析

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BP神经网络模型与学习算法相关的知识,希望对你有一定的参考价值。

BP神经网络模型与学习算法

一,什么是BP

"BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。"

我们现在来分析下这些话:

  • “是一种按误差逆传播算法训练的多层前馈网络”

BP是后向传播的英文缩写,那么传播对象是什么?传播的目的是什么?传播的方式是后向,可这又是什么意思呢。

传播的对象是误差,传播的目的是得到所有层的估计误差,后向是说由后层误差推导前层误差:

即BP的思想可以总结为

利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。

  • “BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)”

我们来看一个最简单的三层BP:



  • “BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。”

BP利用一种称为激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互反应。

激活函数必须满足处处可导的条件。那么比较常用的是一种称为S型函数的激活函数:


BP神经网络模型与学习算法


那么上面的函数为什么称为是S型函数呢:

我们来看它的形态和它导数的形态:

p.s. S型函数的导数:

BP神经网络模型与学习算法


BP神经网络模型与学习算法


神经网络的学习目的:

希望能够学习到一个模型,能够对输入输出一个我们期望的输出。

学习的方式:

在外界输入样本的刺激下不断改变网络的连接权值

学习的本质:

对各连接权值的动态调整

学习的核心:

权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。

二,有监督的BP模型训练过程

有监督的BP模型训练表示我们有一个训练集,它包括了: input X 和它被期望拥有的输出 output Y

所以对于当前的一个BP模型,我们能够获得它针对于训练集的误差

所以BP的核心思想就是:将输出误差以通过隐层向输入层逐层反传,这里的某种形式其实就是:


BP神经网络模型与学习算法


也就是一种 "信号的正向传播 ----> 误差的反向传播"的过程:



BP神经网络模型与学习算法



BP神经网络模型与学习算法



BP神经网络模型与学习算法



BP神经网络模型与学习算法



BP神经网络模型与学习算法



BP神经网络模型与学习算法



BP神经网络模型与学习算法





BP神经网络模型与学习算法


这里解释下根据误差对权值的偏导数来修订权值:







以上是关于BP神经网络模型与学习算法的主要内容,如果未能解决你的问题,请参考以下文章

BP回归预测基于matlab思维进化算法优化BP神经网络回归预测含Matlab源码 2031期

bp神经网络算法介绍 bp神经网络算法简介

bp神经网络预测算法参数作用

脉络清晰的BP神经网络讲解,赞

BP算法基本原理推导----《机器学习》笔记

人工神经网络的分类 ann和bp是啥意思