|
Yeah agreed! But I really believe that the more efficient the genetic algorithm is, the less epochs it takes to complete the process. I view these learning algorithms more like finding an appropriate point 'A' on an Euclidean space such that f(A, I) provides the most appropriate output, the output that is close to the correct answer (here, 'I' is the input, and 'A' is the data-set that gets modified for each epoch in the learning process). Soon enough, to minimize the error, the point 'A' moves along the graph (note, 'A' is a 'n' dimensional vector) and reaches the point of minimum error.
It is necessary that we create an algorithm that is most appropriate for certain specific learning processes. Because the algorithm we write should be as close to the solution as possible, it doesn't make sense to write a genetic algorithm solution to a problem that has a concrete solution than can be written down. But we may write a re-adaptable algorithm, that adapts itself to learn a simple solution, which can be written down by human but if its something that should be chosen from a large class of simple solutions! This case usually arises when the problem involves making choices rather than framing solutions.
I haven't yet written a code in genetic algorithm, but I am planning to do so! This subject is really interesting isn't it?
modified 15-Sep-15 9:45am.
|
|
|
|
|
Try it, then write a paper
|
|
|
|
|
The fitness of any "gene" should be evaluated by the environment rather than by the gene... also, you need to be able to tweak the mutation rate as if it is too high then your fitness gets lost in the noise.
Perhaps you can take A .NET evolutionary computing framework[^] to the next generation
|
|
|
|
|
Duncan Edwards Jones wrote: The fitness of any "gene" should be evaluated by the environment rather than by the gene
Yes I agree to that! I haven't mentioned a lot about the fitness function. I believe that there can be two possibilities for a fitness function. If the problem is such that it is possible test the correctness of a solution to the problem in linear time, then this function can be used to compare the answers provided by each of these genes with every other gene in the population. Their performance can be evaluated and a specific weight value can be assigned to each of these genes; now these genes can be sorted based on their weight values. After mutation and crossover process, the population size would be greater than it started with. The obvious thing to do here will be to eliminate the low-ranking gene and retain the remaining genes, thereby maintaining a constant population size.
And for cases where there is no specific linear-time function to check the correctness of a given solution to a problem, we would require the user to input the correct result along with the input, to train the population. In this case, the system becomes more dependent on the user's training which is considerably slower than the former case; so it would be necessary that the learning process should require very less epochs.
Duncan Edwards Jones wrote: also, you need to be able to tweak the mutation rate as if it is too high then your fitness gets lost in the noise.
Yes I also agree to that! Mainly because if we do so, the system would be changing on a random phase. But we require that the system provides more accurate results for each generation. So this can only be done if the newer generation is greatly dependent on the genetic code that proved to be the fittest among others rather than having its code determined by random values. If it were determined by the random values, then the change in the behavior of the population could also be such that it causes a setback to the learning process. The real necessity of the mutation process is to include functionalities that don't exist among the population and need to be introduced.
|
|
|
|
|
Mutation is also needed to prevent the population getting stuck in a local "peak".
|
|
|
|
|
Consider searching CodeProject before posting: [^].
The next time you are going to post, please first read the pinned thread at the top of this forum concerning what is appropriate to post on the Lounge.
There are several forums here for posting this type of question, including General Programming/Algorithms, as well as the General/C/C++ forum.
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut.
|
|
|
|
|
Yeah, I guess I posted this in the wrong place! This is the first time I am using Code project forum, next time I'll post questions in the right place.
|
|
|
|
|
What do I do now that I posted it here? Is it possible to migrate this discussion to the appropriate forum?
|
|
|
|
|
How is it that if an octopus only has eight arm-pits they still have ten tickles?
|
|
|
|
|
Because, much like Elmo[^], two of them are only tests.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
MeThinks you won't ink that joke to then flee unscathed of commentary!
#OctopiLegsMatter
|
|
|
|
|
Octopods, octopodes, or octupusses ... good!
Octopi .. bad, bad, bad!
Please write a thousand times ...
I must not apply Latin plurals to Greek words
.. and have it on my desk by the morning!
|
|
|
|
|
Yer just lookin' fer a reason to octipi my time...
|
|
|
|
|
You've forgotten the tummy tickle and the fancy tickle!
|
|
|
|
|
Did Willis Carrier[^] invent air condition before it was cool?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
"launching an industry that would fundamentally improve the way we live, work and play"
... and also slowly kill the planet ...
|
|
|
|
|
But, but, but... how else are we supposed to combat global warming?
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill
America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde
Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
|
|
|
|
|
|
It wasn't so hard to invent airconditioning - it was a breeze.
/ravi
|
|
|
|
|
Ah! You're a fan then?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Actually I think it's a lot of hot air. I'm sure the idea will blow over.
/ravi
|
|
|
|
|
Cool!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Ah, yes, the endless dripping of one-liners seeping into the stream as we air our ever-so centrally conditioned humid attempts with vented focus.
The best way to improve Windows is run it on a Mac.
The best way to bring a Mac to its knees is to run Windows on it.
~ my brother Jeff
|
|
|
|
|
Have you been in meetings with marketing dweebs all day again?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
That thought was circulating in my mind.
/ravi
|
|
|
|