淘豆网
1/9
下载文档
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
研究实验2报告示范——单入单出bp人工神经网络及算法研究.doc
文档介绍:
研究实验报告示范——单入单出人工神经网络及算法研究一.研究问题描述:用方法实现一个单输入单输出的函数的逼近。假设转换函数的输出范围在到之间。函数取以下个:二.网络结构:.三层前向神经网络根据逼近定理知,只含一个隐层的前向网络(即三层前向神经网络)是一个通用的逼近器,可以任意逼近函数,因此,在本题中选用三层前向神经网络,即输入层(),一个隐层(),输出层()。.网络结构由于要逼近的函数为单输入单输出函数,故输出层只有一个节点;输入层除了一个样本输入点外,还有一个阈值单元,因此可以看作是两个输入节点;隐层的节点个数可以在程序运行时进行选择,以适应和测试不同的逼近效果。由输入层至隐层的权矩阵记为,由隐层到输出层的权矩阵记为。整个网络的结构初步设计如下图所示:(略)三.算法实现本实验用程序实现该算法。报告中所给出的实验数据均是运行程序所得的结果,然后将这些结果在中画出对应图形。.标准算法(无动量项): 根据公式:(为学习率) 编写程序,程序执行时允许选择:样本个数,隐层节点个数,学习速率,训练过程结束条件(即训练结束时允许的最大误差)。.加动量项的算法基本原理同上,仅在标准算法的基础上,对权矩阵的修改添加动量项,程序执行时允许选择:样本个数,隐层节点个数,学习速率,训练过程结束条件(即训练结束时允许的最大误差),以及动量因子。四.训练结果:对不同的函数逼近进行训练得到不同的训练结果,下面分别进行讨论:.(.)样本个数取为,隐层节点数取为,步长,终止误差设为,无动量项运行结果如下:训练次数:最终误差:权值矩阵为:(这里的权矩阵的取值比较整齐,分析其原因是因为在初始化权矩阵的时候,并没有为其赋予随机值,而是分别赋予了相同的到之间的值。又由于网络结构的对称性,故每次通过梯度法所求得的权值的变化量是相同的,从而导致了结果中权值取值的整齐性。)逼近效果图:(图中蓝线为原函数图像,红为由该网络进行逼近得到的结果)(.)改变隐层节点数:当隐层节点数减少为,其余设置不变时,要达到终止误差需要进行的训练次数为次。当隐层节点数增加为,其余设置不变时,要达到终止误差需要进行的训练次数为次。当隐层节点数增加为,其余设置不变时,要达到终止误差需要进行的训练次数为次。可以看出,本题中增加隐层节点数对改进逼近效果的作用并不很明显。隐层节点取和时所用的训练次数比隐层节点取时要大。可见增加隐层节点并不一定能增加精度或减少训练时间,在本题中反而会带来更长的训练时间。(.)改变步长: 当步长减小为,其余设置不变时,要达到终止误差需要进行的训练次数为次,明显多于步长为的情形。当步长增加为,其余设置不变时,要达到终止误差需要进行的训练次数为次,少于步长为的情形。当步长增加为,其余设置不变时,要达到终止误差需要进行的训练次数为次,明显少于步长为的情形。而当步长增加为,其余设置不变时,要达到终止误差需要进行的训练次数只有次。这说明随着步长的增加,训练的次数可能减小,分析其原因是由于步长增加意味着权值每次的变化量更大,因此会使收敛更快。但步长增加另一方面可能会导致振荡,也就是当步长取的较大时,有可能使得权值在误差曲面的极小点两边来回变化而不能达到极小点。在对其它函数逼近的实验中(实验),可以看出该现象。(.)增加动量项当增加动量项,动量因子设为,其余设置不变时,要达到终止误差需要进行的训练次数为次,明显少 内容来自淘豆网www.taodocs.com转载请标明出处.