BP神经网络说明及推导

    学习神经网络,很多基础知识不用就会忘了,这段时间重新进行一下整理和总结。在此留做记录。首先从最基础的BP神经网络开始。并进行相关算法的推导。

    人工神经网络是仿照人大脑的功能而用数学公式搭建的一种结构。现在借助计算机语言在高性能的计算机上得以实现。才能模仿人的神经信号传输变化过程,经过这个过程,完成了计算,识别,分类等等一系列功能。总结起来是在两个方面模拟大脑。1.网络通过学习过程从外部环境获取知识。2.获取的知识存储在神经元之间的连接系数中。由此可以对应到生物神经元的基本特征,例如:神经元之间的连接强度决定信号传递的强弱并可以随着训练而改变,可以使刺激也可以是抑制等等。所以神经网络的发展和突破必定是伴随着生物学上对于神经研究的深入和突破。

    一个最简单的神经网络如图所示:

输入X,权值W,net为网络输入,O为网络输出。所以只有一个隐含层.

最开始对网络使用阈值激活函数,产生了感知器:

这里有一个定理:一层感知器可以完成线性可分区间的分类(划分立方体)。二层可以完成开,闭凸区间的分类(逻辑与操作)。三层可以完成任意复杂分类区间的分类(逻辑或操作)。这里面的几何解释和收敛性都有严格的数学证明(不看了。。。)。

然后有人提出了使用线性激活函数:

使用线性激活函数,使用一层和使用多层实际上是一样的,线性叠加。如果是线性可分训练集,在有限步内收敛(同样有严格的数学证明)。

如今的BP算法则是使用非线性激活函数,s型激励函数,学习算法为反向传播算法(back propagation)。主要思想是利用输出层的误差来估计输出层的前导层的误差,再用这个误差估计更前一层的误差(梯度下降法)。如此获得所有层的误差估计,利用这些估计实现对权矩阵的修改。由此必须保证激励函数必须是处处可导的。BP推导如下,使用梯度下降法:

调参需要的注意事项,在下一篇中进行详细的说明。

猜你喜欢

转载自blog.csdn.net/q199502092010/article/details/81050374