Problem Detail: Hi I want to ask about weight selection in neural network using genetic algorithm. Right now what I understand is
- Initialize population
- Encode the weight of the neural network to the chromosome
- Calculating the error and fitness
- crossover and mutation
- looping until satisfy the condition
Is it the right thing? if yes what I’m still not sure are :
- If I have 50 chromosome in one population that means I must create 50 neural network?
- Let’s say I have 100 different input and I want the network to learn it by using weight selection only (not using backpropagation) and how I calculate the error? Testing and calculating the error of every input(using MSE) and divide it by 100?
I think that’s all for now Thank you
Asked By : Niko Yuwono
Answered By : deong
Your understanding is correct.
- Yes, you do create a new neural network for each chromosome (although you’re considering the network structure as fixed, so technically you could reuse them by just resetting the weights anew for each chromosome.
- For the error, you’re on the right track. For a GA, generally only relative differences in fitness are important, so it doesn’t really matter if you divide by 100 or not — that’s just linearly scaling the fitness values. That might matter for some choices of genetic operators (e.g., roulette-wheel selection can be sensitive to absolute fitness values), but often it won’t matter at all.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/7817