An automated ensemble learning framework using genetic programming for image classification

An ensemble consists of multiple learners and can achieve a better generalisation performance than a single learner. Genetic programming (GP) has been applied to construct ensembles using different strategies such as bagging and boosting. However, no GP-based ensemble methods focus on dealing with image classification, which is a challenging task in computer vision and machine learning. This paper proposes an automated ensemble learning framework using GP (EGP) for image classification. The new method integrates feature learning, classification function selection, classifier training, and combination into a single program tree. To achieve this, a novel program structure, a new function set and a new terminal set are developed in EGP. The performance of EGP is examined on nine different image classification data sets of varying difficulty and compared with a large number of commonly used methods including recently published methods. The results demonstrate that EGP achieves better performance than most competitive methods. Further analysis reveals that EGP evolves good ensembles simultaneously balancing diversity and accuracy. To the best of our knowledge, this study is the first work using GP to automatically generate ensembles for image classification.

[1]  Vili Podgorelec,et al.  Building boosted classification tree ensemble with genetic programming , 2018, GECCO.

[2]  Francisco Herrera,et al.  A Survey on the Application of Genetic Programming to Classification , 2010, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[3]  Bing Xue,et al.  Genetic Programming for Region Detection, Feature Extraction, Feature Construction and Classification in Image Data , 2016, EuroGP.

[4]  Ausama Al-Sahaf,et al.  Keypoints Detection and Feature Extraction: A Dynamic Genetic Programming Approach for Evolving Rotation-Invariant Texture Image Descriptors , 2017, IEEE Transactions on Evolutionary Computation.

[5]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[6]  Mengjie Zhang,et al.  A Gaussian Filter-Based Feature Learning Approach Using Genetic Programming to Image Classification , 2018, Australasian Conference on Artificial Intelligence.

[7]  Dirk Van,et al.  Ensemble Methods: Foundations and Algorithms , 2012 .

[8]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[9]  Jiwen Lu,et al.  PCANet: A Simple Deep Learning Baseline for Image Classification? , 2014, IEEE Transactions on Image Processing.

[10]  Ling Shao,et al.  Feature Learning for Image Classification Via Multiobjective Genetic Programming , 2014, IEEE Transactions on Neural Networks and Learning Systems.

[11]  Yoshua Bengio,et al.  An empirical evaluation of deep architectures on problems with many factors of variation , 2007, ICML '07.

[12]  Grant Dick,et al.  Evolving bagging ensembles using a spatially-structured niching method , 2018, GECCO.

[13]  Stéphane Mallat,et al.  Invariant Scattering Convolution Networks , 2012, IEEE transactions on pattern analysis and machine intelligence.

[14]  Chengjun Liu,et al.  A Gabor feature classifier for face recognition , 2001, Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001.

[15]  Hod Lipson,et al.  Autostacker: a compositional evolutionary learning system , 2018, GECCO.

[16]  Ayse Basar Bener,et al.  Deep Super Learner: A Deep Ensemble for Classification Problems , 2018, Canadian Conference on AI.

[17]  Michael J. Lyons,et al.  Coding facial expressions with Gabor wavelets , 1998, Proceedings Third IEEE International Conference on Automatic Face and Gesture Recognition.

[18]  Michael Affenzeller,et al.  Confidence-based ensemble modeling in medical data mining , 2018, GECCO.

[19]  Ji Feng,et al.  Deep forest , 2017, IJCAI.

[20]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[21]  Mark E. Roberts,et al.  The Effectiveness of Cost Based Subtree Caching Mechanisms in Typed Genetic Programming for Image Segmentation , 2003, EvoWorkshops.

[22]  Bing Xue,et al.  Cross-Domain Reuse of Extracted Knowledge in Genetic Programming for Image Classification , 2017, IEEE Transactions on Evolutionary Computation.

[23]  Pietro Perona,et al.  A Bayesian hierarchical model for learning natural scene categories , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).

[24]  Mengjie Zhang,et al.  Two-Tier genetic programming: towards raw pixel-based image classification , 2012, Expert Syst. Appl..

[25]  Maoguo Gong,et al.  Self-paced Convolutional Neural Networks , 2017, IJCAI.

[26]  Shiming Xiang,et al.  Self-Paced AutoEncoder , 2018, IEEE Signal Processing Letters.

[27]  Pascal Vincent,et al.  Contractive Auto-Encoders: Explicit Invariance During Feature Extraction , 2011, ICML.

[28]  Andy Harter,et al.  Parameterisation of a stochastic model for human face identification , 1994, Proceedings of 1994 IEEE Workshop on Applications of Computer Vision.

[29]  Mengjie Zhang,et al.  Genetic Programming with Interval Functions and Ensemble Learning for Classification with Incomplete Data , 2018, Australasian Conference on Artificial Intelligence.

[30]  Marc Parizeau,et al.  DEAP: evolutionary algorithms made easy , 2012, J. Mach. Learn. Res..