目录

BP神经网络的数学表达式

BP神经网络的数学表达式

[《老饼讲解神经网络》

https://i-blog.csdnimg.cn/blog_migrate/003a2ce7eb50c2e24a8c624c260c5930.png “《老饼讲解神经网络》”)


目录


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

一. 模型结构

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

https://i-blog.csdnimg.cn/blog_migrate/a0472d23acfb578692a42620bac508c5.png

其中:

(1)  w: 是神经元与神经元之间的连接权重。

(2)  每个隐神经元与输出神经元都有各自的阈值b

(3) Tfi:每个神经元传递值之前,所作的转换函数 。即神经元的值在传递给其它神经元前,会先作Tfi()变换,然后再传递。

二. 模型结构设置

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

1.神经层数

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

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

2. 隐层神经元个数

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

初始隐节点数的设置主要靠经验,下面给出一些实际经验作为参考:

(1) 一般5个以内的输入,使用3个隐节点就可以了,

(2) 有一次建模有20个输入变量,最后使用了7个隐节点。

3. 传递函数

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

常用传递函数:

tansig  : https://latex.csdn.net/eq?%5Ctext%7By%7D%20%3D%20%5Cdfrac%7B2%7D%7B1+e%5E%7B-2x%7D%7D%20-1

logsig  : https://latex.csdn.net/eq?%5Ctext%7By%7D%20%3D%20%5Cdfrac%7B1%7D%7B1+e%5E%7B-x%7D%7D

purelin : https://latex.csdn.net/eq?%5Ctext%7By%7D%3Dx

三. 模型的数学表达式

假设我们最终的设置是:

1:一个输入层,一个隐层,一个输出层, 输入层、隐层、输出层的节点个数分别为 [2 ,3,1]。

2:传递函数设置:隐层( tansig函数)。输出层(purelin函数)。

那么模型如下:

https://i-blog.csdnimg.cn/blog_migrate/3989f504493e3c4ad383b385aaf18a7b.png

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

https://i-blog.csdnimg.cn/blog_migrate/a2b3e72ca6b47bd52d0a0b9d75040ef2.png

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

https://latex.csdn.net/eq?w_%7B11%7D%5E%7B%282%2C3%29%7D :代表这个权值是第2层的第1个节点到第3层的第1个节点的权值。

https://latex.csdn.net/eq?b_1%5E%7B%282%29%7D :代表这个阈值是第2层的第1个节点的阈值。

四.后语

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

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

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


相关文章