冰冰点灯,照亮我家门前~
欢迎进入nnetinfo
用户名:
密码:
深圳学习数据分析,数据挖掘,请联系yahushuxue@163.com~
nnetinfo : 本网发布神经网络相关的学习与研讨内容。
当前位置:教学区
BP神经网络数学模型(入门)
作者:xiaoH   日期:2015-07-16 15:24:17.0

BP神经网络是模仿人的神经结构建立的数学模型。

 

我们看到一个手写5字的时候,我们能判别出它是5.

可以简单的理解这个过程为:眼睛接受了输入,然后把信号传给其它脑神经元,其它神经元综合处理后,输出结果为5。

 

     我们都知道神经与神经之间是以神经冲动的模式进行传值。信号到了神经元,都是以电信号的形式存在。当电信号在神经元积累到超过阈值时,就会触发神经冲动,将电信号传给其它神经元。根据这一原理,建立数学模型,现假设有三个输入,两个输出,那么可以建立模型如下:

 

其中w是神经元与神经元之间的连接权重。

其中tfi()代表第i层神经元的传递函数。即神经元的值在传递给其它神经元前,会先作tfi()变换,然后再传递。

 

 

     模型的隐层数目,传递函数,隐层节点个数等,都会影响网络的特性,下面是一些常用的设置。

模型常用设置:

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

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

 

隐层神经元个数:主要靠经验设置。一般先根据经验设置初始隐节点数,若果效果不好,再增加或减少一个试试,直到效果满意为止。初始隐节点数的设置主要靠经验,下面给出一些实际经验作为参考:一般5个以内的输入,使用3个隐节点就可以了,有一次建模有20个输入变量,最后使用了7个隐节点。

 

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

常用传递函数:

 

假设我们最终的设置是:

 

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

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

那么模型如下:

 

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

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

代表这个权值是第2层的第1个节点到第3层的第1个节点的权值。

代表这个阈值是第2层的第1个节点的阈值。

 

在建好网络后,接下来就是使用历史数据训练网络。通过训练,不断的调整网络的权重和阈值,使网络预测的输出与实际的输出误差尽量小。

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