bp算法简单案例非代码实现

2023-03-11 03:39:25 来源:网络

bp算法简单案例非代码实现

BP算法的实现步骤

BP算法实现步骤(软件):

1)初始化

2)输入训练样本对,计算各层输出

3)计算网络输出误差

4)计算各层误差信号

5)调整各层权值

6)检查网络总误差是否达到精度要求

满足,则训练结束;不满足,则返回步骤2)

3、多层感知器(基于BP算法)的主要能力:

1)非线性映射:足够多样本->学习训练

能学习和存储大量输入-输出模式映射关系。只要能提供足够多的样本模式对供BP网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。

2)泛化:输入新样本(训练时未有)->完成正确的输入、输出映射

3)容错:个别样本误差不能左右对权矩阵的调整

4、标准BP算法的缺陷:

1)易形成局部极小(属贪婪算法,局部最优)而得不到全局最优;

2)训练次数多使得学习效率低下,收敛速度慢(需做大量运算);

3)隐节点的选取缺乏理论支持;

4)训练时学习新样本有遗忘旧样本趋势。

注3:改进算法—增加动量项、自适应调整学习速率(这个似乎不错)及引入陡度因子

求助,应用BP神经网络逼近非线性函数

该作业要求不可使用Matlab自带的神经网络函数,这是因为如果允许使用,则三个函数:newff函数建立网络、train函数训练、sim函数就直接完成作业了。

下面这个附件的第二个案例,就是自己编程,使用BP算法逼近非线性函数y=x1^2+x2^2.该函数为双自变量的非线性函数,完全符合你的作业的要求,可以说你可以直接不用修改,提交该代码作为你的作业。但建议你还是改一下,例如将函数换成其他非线性函数如三角函数等。也可使用改进的如加动量项、自适应学习率、引入陡度因子等方法。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

免责声明:内容来自网络,若侵犯您的权利,请在一个月内通知我们,会及时删除 @轻流