10 comments

[ 3.6 ms ] story [ 34.7 ms ] thread
This is not a genetic algorithm; this is a steady-state-ish (MU, LAMBDA) evolution strategies algorithm. Genetic algorithms imply crossover, not simply mutation.

People have gotta stop referring to population-based methods of stochastic search as "genetic algorithms".

Our algorithm is also not a "face detector". It's a feature-based machine-learned image classifier that was trained on faces and non-faces. However, when speaking to those presumably without a background in machine learning, I think "face detector" conveys more information.

Also, the title "Steady-state-ish (MU, LAMBDA) evolution strategies algorithm, and/or population-based stochastic search: Evolving Human Faces" is too long.

I apologize for the attitude, and it wasn't directed at you, but it's driving me crazy how prevalent the confusion is as to what a genetic algorithm actually is.
Also, this doesn't seem to be an apt analogy; I'm no expert on machine learning (certainly) but it seems to me that "face detector" is simply a catchy abstraction that does not necessarily contradict the underlying technicalities of your production.

My issue with your titling "Genetic Algorithms" is that it is not simply a more convenient, abstract way of expressing what you did: it is in fact a contradiction of terms with the underlying technical details of what you did.

This is some definition of "gotta" with which I was not previously acquainted. People will use technical terms in a manner that is not technically accurate. You can't stop them, it's part of the way language and communication works.

It's annoying, it's inaccurate, it's occasionally misleading, but it's inevitable.

Yeah, this is basically just Newton's method of approximation, seeded with a random initial value. It will eventually converge on a local maximum defined by the facial recognition function.
This is not Newton's method; it is a random walk with pruning. Newton's method is a very specific way of finding roots of a function.
Your point is lost under a sea of attitude. Shame.

@lbrandy: Awesome, if slightly mislabelled, work.

I did a little research to make sure he was right, and I've convinced myself that he is, so I've added an update at the top to correct it.
I'm not sure you're right about that. I think of a genetic algorithm as an optimization algorithm that imitates a genetic reproductive process. This algorithm seems to be a rough approximation of binary fission instead of sexual reproduction. Still a genetic process, just a different one than is typically used.