TY - GEN
T1 - Improving generalization of evolved programs through automatic simplification
AU - Helmuth, Thomas
AU - Pantridge, Edward
AU - McPhee, Nicholas Freitag
AU - Spector, Lee
N1 - Publisher Copyright:
© 2017 ACM.
Copyright:
Copyright 2017 Elsevier B.V., All rights reserved.
PY - 2017/7/1
Y1 - 2017/7/1
N2 - Programs evolved by genetic programming unfortunately often do not generalize to unseen data. Reliable synthesis of programs that generalize to unseen data is therefore an important open problem. We present evidence that smaller programs evolved using the PushGP system tend to generalize better over a range of program synthesis problems. Like in many genetic programming systems, programs evolved by PushGP usually have pieces that can be removed without changing the behavior of the program. We describe methods for automatically simplifying evolved programs to make them smaller and potentially improve their generalization. We present five simplification methods and analyze their strengths and weaknesses on a suite of general program synthesis benchmark problems. All of our methods use a straightforward hill-climbing procedure to remove pieces of a program while ensuring that the resulting program gives the same errors on the training data as did the original program. We show that automatic simpliication, previously used both for post-run analysis and as a genetic operator, can significantly improve the generalization rates of evolved programs.
AB - Programs evolved by genetic programming unfortunately often do not generalize to unseen data. Reliable synthesis of programs that generalize to unseen data is therefore an important open problem. We present evidence that smaller programs evolved using the PushGP system tend to generalize better over a range of program synthesis problems. Like in many genetic programming systems, programs evolved by PushGP usually have pieces that can be removed without changing the behavior of the program. We describe methods for automatically simplifying evolved programs to make them smaller and potentially improve their generalization. We present five simplification methods and analyze their strengths and weaknesses on a suite of general program synthesis benchmark problems. All of our methods use a straightforward hill-climbing procedure to remove pieces of a program while ensuring that the resulting program gives the same errors on the training data as did the original program. We show that automatic simpliication, previously used both for post-run analysis and as a genetic operator, can significantly improve the generalization rates of evolved programs.
KW - Automatic simplification
KW - Generalization
KW - Genetic programming
KW - Overfitting
KW - Push
UR - http://www.scopus.com/inward/record.url?scp=85026352837&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85026352837&partnerID=8YFLogxK
U2 - 10.1145/3071178.3071330
DO - 10.1145/3071178.3071330
M3 - Conference contribution
AN - SCOPUS:85026352837
T3 - GECCO 2017 - Proceedings of the 2017 Genetic and Evolutionary Computation Conference
SP - 937
EP - 944
BT - GECCO 2017 - Proceedings of the 2017 Genetic and Evolutionary Computation Conference
PB - Association for Computing Machinery, Inc
T2 - 2017 Genetic and Evolutionary Computation Conference, GECCO 2017
Y2 - 15 July 2017 through 19 July 2017
ER -