   Genetic Algorithms
  When you evolve populations towards a particular goal, you use a set of training data in order to evaluate the genomes in the population. The problem is that when you use this evolved genome on a set of testing data, its very likely that it wont  work because the genome has been over fitted.So my question is what ways are there to prevent overfitting when using GA?   
  You could use a large body of training data, and then use the average score as a heuristic.   ;  In general, you have four options:(1) Penalize biases towards complexity;(2) Restrict the number and size of models considered;(3) Use training or validation data;(4) Don't do anything.It has been shown that (1) produces good results; in most cases, the effectiveness of the algorithm is actually improved by reducing its complexity, since additional terms may lead to generalization errors. Along the same lines, (2) is also effective and simpler to implement, and produces a marginal improvement. (3) is a good way to compare different results on the same data, since direct evaluations can be made.Finally, (4) is not generally regarded as a good idea, since overfitting is a very real problem for GAs of sufficient complexity.hope that helps,   ;  I've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.   ;Quote:Original post by kSquared(3) Use training or validation data;Yeah ive been thinking about using validation data too. But that seems to only work with backpropagation, and I dont see how it can apply to genetic algorithms.;Quote:Original post by capn_midnightI've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.Truth;Quote:Original post by twixQuote:Original post by capn_midnightI've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.TruthHow is that a valid critisizm? GA IS a form of hill-climbing.   ;Quote:Original post by apocalypsticQuote:Original post by twixQuote:Original post by capn_midnightI've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.TruthHow is that a valid critisizm? GA IS a form of hill-climbing.Well, I don't know what capn_midnight thinks, but I'm of the opinion that GAs are rather silly in that they just add a lot of random trappings to a fundamentally simple idea, to no evident purpose or benefit other than to look fancy.   ;Quote:Original post by twixQuote:Original post by apocalypsticQuote:Original post by twixQuote:Original post by capn_midnightI've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.TruthHow is that a valid critisizm? GA IS a form of hill-climbing.Well, I don't know what capn_midnight thinks, but I'm of the opinion that GAs are rather silly in that they just add a lot of random trappings to a fundamentally simple idea, to no evident purpose or benefit other than to look fancy.GA is a search technique, just as valid as any other. All search techniques suffer from over fitting.   ;Quote:Original post by apocalypsticQuote:Original post by twixQuote:Original post by apocalypsticQuote:Original post by twixQuote:Original post by capn_midnightI've found that the most succesful GAs are nothing more than an inneficient implimentation of hill climbing.TruthHow is that a valid critisizm? GA IS a form of hill-climbing.Well, I don't know what capn_midnight thinks, but I'm of the opinion that GAs are rather silly in that they just add a lot of random trappings to a fundamentally simple idea, to no evident purpose or benefit other than to look fancy.GA is a search technique, just as valid as any other. All search techniques suffer from over fitting.yes, it is a search, one that could be performed much more efficiently without the use of all the GA accoutrements. A GA's runtime is random, typically its runtime is several orders longer than other techniques, you may not arrive at an answer, you may only arrive at a sub-optimal answer, and development for real-world applications is extremely difficult. In fact, the existance of the fitness function basically ensures that you already know the answer to your problem, or you know another way to solve your problem, you're just engaging in intellectual masterbation to see if your digital genes perform as you expect them to.   