bp神经网络的学习方法,bp神经网络的训练结果

首页 > 教育 > 作者:YD1662024-05-19 13:33:03

神经网络结构

输入的层数(Xi):

需要选取对系统对象影响较大的变量,例如 逼近函数

y(k)=sin(5x) y(k-1)^2;

可以基本确定影响因素为:

输入样本1: Sin(5x)或者x

输入样本2: y(k-1)

这需要一定的练习才能更好的掌握,也就是输入的是一些教师信号(由什么可以及应该得到什么),通过不断的调整各个权值来逐步的逼近这个函数规律。

输入(Wij)输出(Wjk)权值:

一般取[0,1]或[-1,1]区域内的随机值,C语言中使用(rand(srand(time(NULL))00)/1000.0以时间作种的随机数变换得到,具体为什么要取这之间的权值,还不太清楚,计算的方便可能是影响因素之一。

隐含层数Xj:

隐含层书上所说基本靠经验试凑确定,还有是输入层数 输出层数 值,一般我们取5层就可以满足要求,隐含层数的增加可以更加精准的逼近目标函数,提高网络的精度。

输出层数Xk:

所求对象的输出,需要想要得到的数值。 例如 y(k)=sin(5x) y(k-1)^2;则对象输出为yn(k),后边根据理想教师信号的输出y(k)与网络计算的输出做误差运算来修正权值逼近理想输出。

隐含层神经元的输入为所有输入的加权之和:

bp神经网络的学习方法,bp神经网络的训练结果(13)

即例如" X1j=W11*X1 W21*X2 W31*X3 ... Wi1*Xj "以此类推。

隐含层神经元输出Xj'采用S型函数激发Xj得:

bp神经网络的学习方法,bp神经网络的训练结果(14)

隐含层的激活函数选择

常用的是S型的对数或正切激活函数以及线性函数,S型函数具有非线性放大系数功能,它可以把输入从负无穷大到正无穷大的信号变换成-1到1之间输出,对较大的输入信号,放大系数较小,而对较小的输入信号,放大系数则较大,所以采用S型激活函数可以处理和逼近非线性的输入、输出关系。如果在输出层采用S型函数,输出则被现在到一个很小的范围,若采用线性激活函数,则可使网络输出任何值。所以当网络的输出没有限制时在隐含层采用S型激活函数,而输出层采用线性激活函数。

输出层神经元为所有隐含层输出的加权之和:

bp神经网络的学习方法,bp神经网络的训练结果(15)

网络输出与理想输出误差为:

e(n)=XLk(n)-Xk(n) (理想输出-网络输出)

其中k为第几个输出神经元,n为计算值的第几次。

由最小二乘法思想,引入误差性能指标函数:

bp神经网络的学习方法,bp神经网络的训练结果(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.