Bloating Reduction in Symbolic Regression Through Function Frequency-Based Tree Substitution in Genetic Programming
摘要
Genetic programming (GP) is an evolutionary machine learning method that can be used to address a wide range of both classification and regression conundrums. However, traditional GP algorithms can lead to unnecessary code growth known as bloating. This can slow down the convergence time, lead to over-fitting, and increase the computational cost required by the algorithm. The main focus of this paper is to control bloating caused by symbolic regression in GP trees. To address the bloating issue, this paper introduces a novel tree substitution method to reduce the tree size while increasing the exploring ability of the GP algorithm. The proposed method incorporates a comprehensive analysis to detect bloating in parent trees. When a bloated tree is detected, a new, smaller tree is generated, leveraging the function frequency of the identified bloated tree. A set of regression experiments have been conducted on six real-world datasets. Results showed that the proposed GP method obtains a reduction in the size of the best individual while maintaining similar performance as standard GP with a tree height limit.