An alternative approach for neural network evolution with a genetic algorithm: Crossover by combinatorial optimization

  • Authors:
  • Nicolás García-Pedrajas;Domingo Ortiz-Boyer;César Hervás-Martínez

  • Affiliations:
  • Department of Computing and Numerical Analysis, University of Córdoba, 14071 Córdoba, Spain;Department of Computing and Numerical Analysis, University of Córdoba, 14071 Córdoba, Spain;Department of Computing and Numerical Analysis, University of Córdoba, 14071 Córdoba, Spain

  • Venue:
  • Neural Networks
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this work we present a new approach to crossover operator in the genetic evolution of neural networks. The most widely used evolutionary computation paradigm for neural network evolution is evolutionary programming. This paradigm is usually preferred due to the problems caused by the application of crossover to neural network evolution. However, crossover is the most innovative operator within the field of evolutionary computation. One of the most notorious problems with the application of crossover to neural networks is known as the permutation problem. This problem occurs due to the fact that the same network can be represented in a genetic coding by many different codifications. Our approach modifies the standard crossover operator taking into account the special features of the individuals to be mated. We present a new model for mating individuals that considers the structure of the hidden layer and redefines the crossover operator. As each hidden node represents a non-linear projection of the input variables, we approach the crossover as a problem on combinatorial optimization. We can formulate the problem as the extraction of a subset of near-optimal projections to create the hidden layer of the new network. This new approach is compared to a classical crossover in 25 real-world problems with an excellent performance. Moreover, the networks obtained are much smaller than those obtained with classical crossover operator.