本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com
“本文我们介绍BP神经网络模型的拓扑结构和数学结构,两者分别代表着它的仿生特性和数学特性,是之后研究的基础。”
BP的思路是模仿人的大脑工作原理,构造的一个数学模型,
它的仿生结构如下(也称为BP神经网络拓扑图)
结构
它的 结构包含三层,最靠前的是输入层,中间是隐层(可以有多个隐层,每层隐层可以有多个神经元),最后是输出层。
工作流程
(1) 输入层负责接收输入,在输入层接收到输入后,每个输入神经元会把值加权传递到各个隐层神经元,
(2) 各个隐神经元接收到输入神经元传递过来的值后,与自身的基础阈值b汇总求和,经过一个激活函数(通常激活函数是tansig函数),然后加权传给输出层。
(3) 输出神经元把各个隐神经元传过来的值与自身阈值b求和(求和后也可以再经过一层转换),即是输出值。
仿生原理
在眼睛看到符号“5”的后,大脑将判别出它是5。BP正是要模仿这个行为。把这个行为过程简单拆分为:
(1) 眼睛接受了输入
(2) 把输入信号传给其它脑神经元
(3) 脑神经元综合处理后,输出结果为5
我们都知道, 神经元与神经元之间是以神经冲动的模式进行传值,信号到了神经元,都是以电信号的形式存在,
当电信号在神经元积累到超过阈值时,就会触发神经冲动,将电信号传给其它神经元。
根据这一原理,就构造出了以上的神经网络结构。
上面是通用结构,隐层个数、激活函数都是未确定的。
最常用的,是设一个隐层,隐层神经元的激活函数设为tansig函数,输出层的激活函数设为purelin
如此一来,结构就如下图所示:
![]()
其中,
tansig函数为S型函数:
purelin 为恒等线性映射函数:
PASS:
1、输出层设为purelin,也即相当于输出层没有激活函数.
2、 隐层激活函数也可以设为logsig : ,它和tansig没有太多质的区别。区别在于,logsig的取值范围是【0,1】,而tansig是【-1,1】。
在这里,我们不提供通用的数学结构,仅以一个简单例子,讲述它的数学结构,这样更为具体和易理解些。
现有一个BP神经网络,它的结构如下:
1、一个输入层,一个隐层,一个输出层, 输入层、隐层、输出层的节点个数分别为 [2 ,3,1]。
2、传递函数设置:隐层( tansig函数)。输出层(purelin函数)。
模型拓扑图如下:
可以根据模型写出数学表达式如下:
PASS: 表达式中参数很多,但实际只有两类参数:权重w和阈值b。
代表这个权值是第2层的第2个节点到第3层的第1个节点的权值。
代表这个阈值是第2层的第1个节点的阈值。
备注:权重矩阵w的下标,一般由后层到前层,这样在矩阵表述时更为简洁
End