15-06-2013, 02:09 PM
Genetic Algorithms in Artificial Neural Networks
Genetic Algorithms.doc (Size: 307 KB / Downloads: 18)
Abstract:
Artificial Neural Network (ANN) is a massively parallel distributed processor made up of simple processing units, which has a natural propensity for storing experiential knowledge and making it available for use. A neural network contains a large number of simple neuron like processing elements and a large number of weighted connections encode the knowledge of a network. The intelligence of a neural network emerges from the collective behaviour of processing units, neurons. Even though each individual neuron works slowly, they can still quickly find a solution by working in parallel imitating human brain-style computation. Genetic algorithms are based on biological evolution. Genetic algorithms in ANN can be used to solve a wide variety of problems. For a given problem a genetic algorithm generates a set of possible solutions and evaluates each in order to decide which solutions are fit for reproduction. If a particular solution is more fit then it will have more chances to generate new solutions. Finally we can find a real solution. Genetic algorithms are so powerful that they can exhibit more efficiency if programmed perfectly. Applications include learning Robot behaviour, molecular structure optimization, and electronic circuit design.
INTRODUCTION
The relationship between biology and economics has been long: it is said that 150 years ago both Wallace and Darwin were influenced by Malthus’ writings on the rising pressures on people in a world in which human population numbers grew geometrically while food production only grew arithmetically. In the early 1950s there was an awakening that the processes of market competition in a sense mimicked those of natural selection. This thread has followed through to the present, in an “evolutionary” approach to industrial organisation. Recently, however, computer scientists and economists have begun to apply principles borrowed from biology to a variety of complex problems in optimisation and in modelling the adaptation and change that occurs in real-world markets. There are three main techniques: Artificial Neural Networks, Evolutionary Algorithms (EAs), and Artificial Economies, related to Artificial Life.
THE GENETIC ALGORITHM APPROACH
Genetic algorithms are a specific form of EA. The standard GA can be characterised by: operating on a population of bit-strings (0 or 1). Where each string represents a solution, and GA individual strings are characterised by a duality of: the structure of the bit-string (the genotype), and the performance of the bit-string (the phenotype). In general the phenotype (the string’s performance) emerges from the genotype.
GA: The evolutionary elements:
There are four evolutionary elements:
1) Selection of parent individuals or strings can be achieved by a “wheel of fortune” process, where a string’s probability of selection is proportional to its performance against the total performance of all strings.
GENETIC ALGORITHMS IN ARTIFICIAL NEURAL NETWORK
The real world often has problems that cannot be solved successfully by a single basic technique; each technique has its pros and its cons. The concept of hybrid system in artificial intelligence consists on combining two approaches, in a way that their weaknesses are compensated and their strengths are boosted. The aim of this work is to create a way of generating topologies of neural networks that can easily learn and classify a certain class of data. To achieve this, a genetic algorithm is used to find the best topology that fulfils this task. When the process finishes, the result is a population of domain-specific networks, ready to take new data not seen previously. The analysis of the results of the experiments demonstrates that this implementation is able to create neural networks topologies that in general work better than random or fully connected topologies when they learn and classify new domain-specific data. An aspect that should be examined more deeply is how the cost of a topology should be determined. In the current implementation, the cost is simply the training error of the neural network on a partition of the data set. The question that arises here is if this is the best way to determine the fitness of a topology. Another step to take would be to repeat the experiments for different data sets. Scalability is an important problem in neural networks implementations; therefore it would be interesting to see how the current implementation scales to bigger networks that contain thousands of inputs. A last issue that should be explored is parallelization of the genetic algorithm, especially considering the huge processing times involved during the experimentation. By parallelizing the algorithm, it is possible to increment the population's size, reduce the computational cost and so to improve the performance of the algorithm
CONCLUDING REMARKS
In conclusion we make some more general observations. Evolutionary algorithms are well suited for high-dimensional, complex search spaces. With EAs there are no restrictive requirements on the objective function (if one exists), such as continuity, smoothness, or differentiability; indeed, there may be no explicit objective function at all. The basic EA forms are broadly applicable across many diverse domains, and, with flexible customising, it is possible to incorporate more knowledge of the domain, although such domain knowledge is not required. They have been found to be reliable, and are easily combined with other techniques, to form so-called hybrid techniques. They make efficient use of parallel-processing computer hardware.