论文部分内容阅读
为了解决各种各样的优化问题,人们提出了许多优化理论,比如梯度下降、牛顿法等经典算法,它们局限于算法本身,要求求解函数必须满足如连续、可微等条件,所以不适用高维度、非线性、多目标等大规模复杂问题的优化求解,且易于陷入局部最优。 基因表达式编程(Gene Expression Programming,GEP)算法是一个能够有效解决优化问题的演化算法,具有一般适用性、群体智慧、高健壮性和潜在并行性等特点,且不受限于待解决问题性质的约束。然而GEP算法依然存在收敛速率低,早熟,泛化能力差等诸多不足。另外,还需增强其数学理论的支撑。 本文全面深入研究了GEP算法的思想、算法流程和核心技术,并对算法提出了进一步的改进策略,所做的工作及内容概括如下6个方面: (1)通过综述进化算法及GEP算法的研究意义,思想内容和算法过程,指出GEP算法的不足,提出需要改进的地方。 (2)提出GEP自适应进化参数。可以随着进化代数和个体适应度值在整体所处的位置,有针对的动态调整重组率和变异率,可以解决算法后期过程缓慢的问题,对优良个体有一定程度的保护作用,增强低劣个体的进化参数,督促其演化,使算法能够尽快跳出局部最优。 (3)设计种群年龄分层结构。使初始新个体有一定的空间和时间得到充分进化,搜索其附近的极值点,保持优良基因的多样化;进一步扩大基因探索空间,提升算法收敛速率,并且能很大程度上避免早熟,最终得到全局最优解。 (4)将GEP算法移植到Spark云计算框架上。将一个大群体切分为多个部分,分发到各个独立的工作节点上,并发计算个体适应度值、选择、重组和变异等操作,并在一定阶段选取子群的优良个体迁移到其他节点,执行遗传信息的交换和共享。使算法具备对大数据的分析处理能力,有效提高训练速度和效率。 (5)将改进后的算法应用在中国上证指数的短期预测,进行历史时间序列数据分析。对比经典基因表达式编程算法,预测结果的MAPE减少了0.213%,R2提高了0.1095,在Spark集群环境下具有线性加速比。算法有更高的执行速率,预测精确度和稳定性。 (6)设计并编码完成了基于内容的图像检索系统。将图像匹配问题转换为基因表达式编程算法的函数发现问题。使用OEP算法对多个图像特征的权重组合优化,得到新的图像相似性模型,并写入索引库以快速响应用户前端的查询。该系统提高了图像查询匹配的准确度,满足了用户以图搜图的需求。