《老饼讲解神经网络》https://www.bbbdata.com/nn


目录

一. 模型结构

二. 模型结构设置

1.神经层数

 2. 隐层神经元个数

3. 传递函数

三. 模型的数学表达式

四.后语


本文讲述BP神经网络在设定结构后,与之对应的数学表达式。

一. 模型结构

根据前面所述,BP神经网络的模型结构如下:

  
其中:
(1)  w: 是神经元与神经元之间的连接权重。
(2)  每个隐神经元与输出神经元都有各自的阈值b
(3) Tfi:每个神经元传递值之前,所作的转换函数 。即神经元的值在传递给其它神经元前,会先作Tfi()变换,然后再传递。

二. 模型结构设置

模型的隐层数目,传递函数,隐层节点个数都是由各具体问题具体设定,下面是一些常用的设置。

1.神经层数

输入输出层是必须的,其中隐层一般只设一个,因为有学者证明,一个隐层就能够逼近任何非线性函数。所以一般为:一个输入层,一个隐层,一个输出层。 

下面的设置都假设只有一个隐层。

 
2. 隐层神经元个数

主要靠经验设置。一般先根据经验设置初始隐节点数,若果效果不好,再增加或减少一个试试,直到效果满意为止。

初始隐节点数的设置主要靠经验,下面给出一些实际经验作为参考:
(1) 一般5个以内的输入,使用3个隐节点就可以了,
(2) 有一次建模有20个输入变量,最后使用了7个隐节点。

3. 传递函数

输入层到隐层一般使用S型函数 tansig 作为传递函数,隐层到输出层一般则用purelin(线性)函数。

常用传递函数:
tansig  : \text{y} = \dfrac{2}{1+e^{-2x}} -1
logsig  : \text{y} = \dfrac{1}{1+e^{-x}}
purelin : \text{y}=x

三. 模型的数学表达式

假设我们最终的设置是:

1:一个输入层,一个隐层,一个输出层, 输入层、隐层、输出层的节点个数分别为 [2 ,3,1]。
2:传递函数设置:隐层( tansig函数)。输出层(purelin函数)。

那么模型如下:


可以根据模型写出数学表达式如下:

PASS: 表达式中参数很多,但实际只有两类参数:权重w和阈值b。


w_{11}^{(2,3)}:代表这个权值是第2层的第1个节点到第3层的第1个节点的权值。

b_1^{(2)}:代表这个阈值是第2层的第1个节点的阈值。

四.后语

在建好网络后,接下来就是使用历史数据训练网络(也即求解w,b的过程)。

通过训练,不断的调整网络的权重和阈值,使网络预测的输出与实际的输出误差尽量小。

请查看《 神经网络的训练方法 》


  相关文章

​《BP神经网络梯度推导》

​​​​​​《matlab实现BP神经网络的代码-逐行讲解》

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐