BP神经网络算法简介

神经网络模型在众多领域都有所应用,模拟了生物的神经元结构,是一种简化的神经元模型,可以进行分布式信息处理的数学模型。

背景

神经网络分为神经上世界80年代,Rumelhart,McCelland为首的科学家们成立了并行处理小组,提出了著名的神经网络算法。

神经神经网络包括生物神经网络和人工神经网络。在BP神经元结构中,神经元是模仿生物的神经元结构,如下图所示为生物的神经元结构(图来源于网络):

基本结构

 BP神经网络是由三层或者三层以上的多层神经网络,每一层都由若干个神经元组成。假设输入层个数为3,输出层个数为2,其基本示意图如下图所示:

 

假设输出层的个数为l个,隐藏层的个数为m个,输出层的个数为n个,a_h是隐藏层第h个神经元的输出。w_{hj}是输入层第j个神经元和隐藏层第h个神经元之间的连接权值,那么第j个神经元的输入的公式为:

                                                            a_j{}=\sum_{h=1}^{m}w_{hj}a_h

神经元激活函数

BP神经网络一般是使用线性函数作为传递函数或者S型函数作为传递函数,S函数又可以分为log-sigmoid函数和Tan-sigmoid函数, 神经元激活函数

(1)Sigmoid函数

Sigmoid及其导数都是连续的,因Sigmoid函数又可以分为单极性S型曲线,其中单极性S型曲线的函数公式如下所示:

                                                        f(x)=\frac{1}{1+e^{-x}}

利用MATLAB来模拟f(x)的图像如下所示:

 双极性S型的函数公式如下所示:

                                                             f(x)=\frac{​{e^x-e^{-x}}}{e^x+e^{-x}}

上述公式的图像如下所示:

Sigmoid函数相对于Tan-signed来说,Sigmoid函数相对于线性函数的容错性更好同事线性精度也更高。

BP神经网络算法的整体框架

BP神经元网络的整体框架及其各自部分的功能是:

前向传播 得到预测的结果
反向传播 对于w和b进行反向传输
测试模型 计算准确率

BP神经网络算法采用的是反向传播算法进行学习的。数据经过是经过一层一层地向后进行传递,从输入层来看,整个过程是沿着误差减少的方向进行,在运行过程中,不断向前修正网络的连接权值,最终使得误差减少到最少。

猜你喜欢

转载自blog.csdn.net/qq_54186956/article/details/126382153
今日推荐