论文部分内容阅读
基因表达式编程(Gene Expression Programming,简称GEP)是葡萄牙科学家Candida Ferreira在传统的遗传算法和遗传程序设计的基础上,提出来的一种具有基因型空间和表现型空间的新型演化算法。该算法继承了传统遗传算法(GA)编码简单和遗传程序设计(GP)可解决复杂问题的优点,采用固定长度的线性编码来表示个体,其染色体简单、线性和紧凑,因而易于进行遗传操作。Candida Ferreira在实验中分析发现,在求解问题的性能上,GEP胜过传统的GP方法2-4个数量级。由此可见,GEP比传统GP的效率得到了大幅度的提高。正是由于GEP表现出的这种高效性能,该方法一经提出便引起了国内外很多学者的研究兴趣,使其发展成为自动程序设计的有力工具,并已将其成功应用到函数回归、时间序列预测、数据挖掘、资源分配、电路优化等许多领域。虽然GEP已经在众多领域中应用非常成功,但在实际应用中发现,当GEP应用于海量并且含有噪声的数据集时,学习能力不强,容易出现GEP过度拟合的问题,到目前为止,国内外针对这一问题的研究成果比较缺乏。鉴于此现状,借鉴神经网络集成的思想,本论文提出GEP集成演化建模理论。本论文的主要内容及创新性工作概括如下:(1)提出了基因表达式编程集成的演化建模算法。借鉴神经网络集成的思想,提出GEP集成的演化建模算法,其核心就是用有限个GEP对同一个问题进行学习,训练多个GEP模型,GEP集成在某输入示例下的输出由构成集成的各个GEP模型在该示例的输出共同决定。数值实验表明基因表达式编程集成的演化建模算法能够在一定程度上克服传统GEP建模中的过度拟合问题,在求解含有噪声的数据集的函数回归问题上,GEP集成演化建模方法比传统GEP及较新的一些改进GEP算法的误差更小。(2)提出了GEP集成演化建模的泛化误差计算公式。对GEP集成演化建模算法进行抽象,建立起GEP集成建模算法的数学模型。在此基础上,提出GEP集成建模的泛化误差计算公式,以定量地刻画GEP集成建模算法的误差,然后再通过数值实验分析了GEP模型的权值对GEP集成的性能影响。实验结果表明当GEP模型的权值取平均值时GEP集成性能比较稳定,而GEP模型的权值取随机值时其性能表现较为不稳定,波动较太。(3)证明了当组成GEP集成的各个GEP模型的泛化差异度大于0时,GEP集成的泛化误差小于传统GEP泛化误差的加权平均值。通过数值实验分析了GEP的模型个数对对GEP集成的性能影响,实验结果表明在总体上,训练GEP的模型个数越多,GEP集成的结果就越优,但是存在少数情况训练GEP模型的个数越多,GEP集成的优势也未必越优。(4)提出了基于热力学迁移策略的并行GEP集成算法。采用基于热力学迁移策略的并行GEP算法(TDPGEP)’快速训练GEP模型,再进行GEP集成。热力学迁移策略根据当前的演化状态动态、有条件地迁移,定量地协调子种群中“接收压力”与“种群多样性”的冲突,避免传统并行GEP算法迁移的盲目性和固定性,提高个体迁移的效率和算法的收敛速度,从而提高GEP集成的速度。数值实验表明,基于热力学迁移策略的并行GEP集成算法比传统并行GEP集成算法能够获得更高的加速比,收敛速度快,精度更高。(5)提出了基于GPU的并行GEP集成算法。GPU的通用计算已经成为近年来人们关注的一个研究热点,在多个领域内得到了成功应用,并获得很高的并行加速比。在这种研究趋势下,本论文研究了在CUDA的GPU平台下实现快速训练GEP模型的并行算法,设计了个体在GPU上的存储方式以及在GPU上的各个并行操作算子,以提高GEP集成的速度,进而更加有效地发挥GEP集成算法的潜能。数值实验表明,基于GPU的并行GEP集成算法比传统并行GEP集成算法收敛速度快,精度更高。