张义 山东商业职业技术学院 信息与艺术学院
关键字: 改进的LF算法 同时移动多个相似度高的物体 动态调整领域范围
引言:径向基函数神经网络是使用了多变量插值的径向基函数[1]的前馈式网络,它包含三层结构:输入层、隐含层、输出层[2]。但该网络隐含层应包含的节点个数和对应各参数值不易确定。因此本文使用改进的LF算法获取隐含层节点的个数以及各类参数,改进算法效率。
LF算法原理
LF算法是基于网格和密度的方法[3]的一种蚁群聚类算法,将n个多维向量和多个蚂蚁随机的放在二维网格中分布,然之后蚂蚁搬动或放下物体向量,LF算法在移动中比较与周围物体的相似度,计算物体拾取和放下时的概率 [4,5],提高准确度。
LF算法缺点
(1)LF算法参数过多,并且常使用经验值,其准确性会影响到最后结果。
(2)由于移动方向随机,算法运行时间长。
(1)蚂蚁在移动过程中同时移动所在位置周围邻域内的所有相似的物体,提高的移动效率。
(2)设置不同的邻域范围,初期,使用较大的S值,后期使用较小的S值,缩小邻域范围,提高移动的准确度。
(1)算法主要步骤如下:
步骤1:设置系统初始参数值,包括K1、K2、α、dis、迭代次数等;
步骤2:归一化操作。
步骤3:让物体和蚂蚁随机分布;
步骤4:蚂蚁任意选择下一个移动的网格并进行移动操作;
步骤5:检查蚂蚁是否正移动物体,有则执行步骤7,无则执行6;
步骤6:蚂蚁没有移动物体,则拾起物体。
步骤7:蚂蚁若正移动物体,则放下物体。
步骤8:判断是否退出,是则退出,否则跳转到步骤4。
(2)拾起流程如下:
步骤1:判断当前位置处是否存在物体,有执行2,否则执行5;
步骤2:计算拾取概率,若概率大于某随机数,则执行3,否则执行5;
步骤3:计算邻域内物体与当前物体的距离是否小于dis,是则执行4,否则转向5;
步骤4:拾起所有符合条件的物体;
步骤5:任意选择网格后,蚂蚁移动到该网格。
(3)放下步骤如下:
步骤1:检查所做位置处是否有物体,有则执行4,否则,转向2;
步骤2:计算放下概率,是否大于某随机数,是则执行3,否则转向4;
步骤3:蚂蚁将物体放到该网格内;
步骤4:任意选择网格并移动。
OLF算法优化RBFNN包括两个步骤:
(1)聚类操作:使用OLF算法获取子集个数等参数信息。
(2)构建网络模型:使隐含层节点个数等于子集个数;宽度通过公式计算;权重使用伪逆算法计算。
(1)平均绝对误差AAD:
(2)标准偏差SD:
图5 预测结果图
图5是算法的预测曲线图,可以比较两个算法的预测值情况。通过对比图发现,使用OLF-RBFNN算法的预测结果曲线较好的接近期望值的曲线并且精确度较好。
表1 平均绝对误差和标准偏差对比表
通过表对比可见,OLF-RBFNN算法的两个指标都小于标准的RBFNN算法,算法在一定程度上得到了改进。
通过以上实验对比表明:使用OLF-RBFNN算法在预测时的预测精度和平均绝对误差要优于RBFNN算法,并且预测值更加准确的接近函数值。因此通过使用聚类算法获取RBFNN的隐含层个数以及参数信息可以较为有效的提高网络的预测能力