神经网络在数据拟合中的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

神经网络在数据拟合中的应用

[摘要] 相对于回归分析等方法,神经网络在拟合曲线的平滑度、精度等方面具有优势。本文通过两个实例,介绍了用BP人工神经网络来进行数据拟合处理的方法。表明采用神经网络方法进行数据拟合处理具有实用和精确的特点。

[关键词] 曲线拟合BP网络

引言

在科研生产中,我们经常会处理这样一些数据,它们的特点是:有一组输入,并且有一组对应的输出,但由于受到各种确定和随机因素的影响,我们难于找到输入输出之间的对应关系,更无法用函数关系来表示对应关系。大多数情况下,人们用数学上的曲线拟合来解决这个问题,例如一元线性回归分析,二次曲线拟合等方法。但是实际中大多数对应关系很复杂,难于拟合或者拟合出的残差较大,而且这种曲线拟合方法难以处理具有多个输入多个输出的情况。

神经网络方法在处理这样的数据时具有优势。具有偏差和至少一个S 型隐含层加上一个线性输出层的BP人工神经网络能够逼近任何有理函数。我们可以利用BP人工神经网络来进行数据拟合处理,能够得到平滑的曲线,不会出现数据有极值点的现象。

一、BP人工神经网络的结构

BP网络是典型的多层网络,分为输入层,隐含层,输出层,层与层之间采用全互联方式,同一层神经元之间不存在相互连接,如图1:

图1BP网络结构

二、BP人工神经网络在频率特性校正中的应用

我们以感应线圈的灵敏度-频率特性数据为例,说明BP网络的设计。为了纠正频率响应特性,需要找

到灵敏度-频率特性之间的对应关系,但由于物理变化过程十分复杂,很难找到它们之间的函数表达式,于是用BP人工神经网络拟合灵敏度-频率特性曲线,输入矩阵是一组频率数值,用T表示,输出矩阵是对应的灵敏度数值,用V 表示。

1.选取神经元数:输入矩阵T有6个数据,是一个列向量,则输入层有一个神经元,如图1,是一个16×6矩阵;是偏差向量,隐含层的激活函数;是输出层的向量,是输出层的偏差;输出层的激活函数;A2即V为输出目标矢量,有6个数据,输出层一个神经元。关键在于如何选取隐含层的神经元数。一般而言

网络隐含层神经元数越多功能越强,但也不能太多,经反复试验决定采用16个神经元。

2.确定激活函数:隐含层采用对数S型激活函数,输出层采用线性激活函数。

为隐含层的输出向量,隐含层神经元数设为i (i=16) , 其中第i个神经元的输出为

(公式1)

图5中,Tj 是输入矩阵c中的一个元素,代表一个浓度值,共有6个浓度值。

输出层神经元数设为k (k=1),其输出为

(公式2)

误差函数定义为

(公式3)

图2 频率-灵敏度曲线

3.BP网络训练:训练的目的是确定各个矩阵的权值,偏差值:BP网络,输入为频率值T,输出是灵敏度V,数据取自标定实验,构成训练集:输入矩阵T: [0,0.52,1.49,3.49,5.43,9.36]

输出矩阵V: [1,0.969,0.936,0.896,0.867,0.828]

用训练集训练网络,一般刚开始时网络训练时间比较长,有可能不成功,这就需要调整神经元数,初始矩阵,直到成功为止。会得到W1,B1,W2,B2几个矩阵,用得到矩阵再次训练……直到err goal = 0.000002 successfully训练成功

得到拟合的曲线,如图2所示。

4.测试BP网络:测试的目的是考察我们设计训练的BP网络性能,表1中有训练集和测试集的数据:

表1 训练结果

T BP网络输出的V 测试集的V T BP网络输出的V 测试集的V

0 1.0003 1 3.49 0.8955 0.8955

0.515 0.9683 0.9682 3.495 0.8954 0.8954

0.52 0.9681 0.9681 5.425 0.8671 0.8671

0.525 0.9678 0.9677 5.43 0.8671 0.8671

1.485 0.9366 0.9365 5.435 0.8670 0.8670

1.49 0.9365 0.9365 9.355 0.8279 0.8279

1.495 0.9364 0.9364 9.36 0.8279 0.8279

3.485 0.8956 0.8955 9.365 0.8278 0.8279

从表中可以看出测试集数据精度达到0.0003。通过BP网络的运算可以预测出所有未知数据,也就是获

得了频率与灵敏度之间的对应关系,在此基础上,我们可以校正频率特性。

三、BP人工神经网络在蓄电池电压拟合中的应用

我们在对蓄电池进行浮充充电时,为了保护蓄电池免遭损坏,需要了解蓄电池浮充电压与温度的关系,通常这个关系是一一对应的非线性关系。由于温度和浮充电压间的关系不会突变,所以通过BP人工神经网络的运算, 可以得到平滑的温度-浮充电压曲线。在厂家只提供少量数据且未知函数表达式的情况下就可以高精度地预测出所有未知数据,通过BP人工神经网络的运算可以精确地得到温度和浮充电压关系曲线上的所有数值。

1.选取神经元数:因为输入输出各是一组数据,所以采用输入层一个神经元,输出层一个神经元;设输入矩阵为T,输出目标矢量为V 。关键在于如何选取隐含层的神经元数。隐含层的神经元数不能太少,否则网络不能很好地学习,需要训练的次数太多,训练精度也不高。一般而言网络隐含层神经元数越多功能越强,但也不能太多,通常如果能够解决问题,再加上一两个神经元以加快误差的下降速度。

经验公式有两个:S1=4r+1s或者S1= + (1→10)

其中S1是隐含层的神经元数;

r是输入层的神经元数;s是输出层的神经元数;

S1=4*1+1*1= 5个神经元或者S1= + (1→10) =3→12

相关文档
最新文档