5 ms·
NB: This article (and several more like it) was in January's wired. As an AI researcher, I get suspicious when I see anyone talking about Genetic Algorithms an
by aothman 16y ago
NB: This article (and several more like it) was in January's wired.
As an AI researcher, I get suspicious when I see anyone talking about Genetic Algorithms and Neural Nets. These are techniques that current researchers simply do not use (Neural Nets are used very sparingly, GAs should never be used at all). They make up for their technical failings by being approachable, particularly for journalists. In short, these methods intuitively sound like they should work much better than they actually do.
- Eliezer 16y agoI was wondering if anyone else had that reaction. I'm looking at a story about how Bradley was using elaborate GAs to choose the weightings on a small handful of variables that, from the description, sounds like they should've yielded to a regularized linear regression producing a fast cheap optimal answer; and I'm thinking to myself, "Either the journalist completely failed to understand and/or convey the problem that was being solved, or nobody designing this system understood anything about statistical learning and were just throwing cool-sounding tools at the problem, or they were just having fun at the reporter's expense." For those unlearned in AI, an analogy: the original article reads like someone talking about how they used Haskell monads to add 2 + 2.
- istjohn 16y agoWhat techniques are now used in place of GAs?
- aothman 16y agoGAs are just a really complex version of a local search algorithm. The problem with them is that they're just too complicated - you're trying to solve some non-linear problem, and your first step is to introduce several more non-linear problems that also need to be solved (picking chromosomes, mixing, population size, etc.)?
- adovenmuehle 16y agoI'm kind of interested if you could point us in the direction of specific techniques. I always thought neural nets and genetic algorithms were interesting and I'm curious what other techniques are out there.
- jerf 16y agoYour query is so vague it's hard to know where to even start; you're looking for "artificial intelligence" or "machine learning". Here's a halfway decent start, actually: http://en.wikipedia.org/wiki/Artificial_Intelligence#Tools http://en.wikipedia.org/wiki/Artificial_Intelligence#Tools , it at least arms you with a lot of search terms and introductory overviews. Neural nets and genetic algorithms are plenty interesting, it's just that they're way more interesting than they are useful. (Also note I didn't say useless. Just, not that useful.)
- aothman 16y agoFor solving local search problems, I use tabu search (hill climb with a "recently visited" list) or beam search (simultaneous hill search). Both are simple techniques that show remarkable emergent behavior. Many search problems are better phrased in terms of numerical optimization or what have you - if your problems maps a continuous space to a continuous space there's probably a standard numerical technique that solves it better than a local search hack. For Machine Learning type applications, SVMs are very popular. Briefly, both sufficiently deep neural nets and sufficiently dimensional SVMs are arbitrarily expressive, but SVMs give you a better perspective on what is actually happening with your problem. If you're interested in Machine Learning, you should check out Andrew Moore's very well-written tutorials: http://www.autonlab.org/tutorials/list.html http://www.autonlab.org/tutorials/list.html
- Dn_Ab 16y agoThere are lots of techniques. Really simple and effective methods are naive bayes and kNN. Other methods include decision trees and logistic regression which seems to be popular at Google from what I can indirectly infer from their papers. More complex methods include bayesian and non bayesian graphical models, kernel methods (SVM, RVM) and not too hard but powerful methods are boosted trees, random forests and ensemble methods in general. Layers of unsupervised learners (clustering) feeding into a supervised learner form a very powerful technique known as deep learning. This technique hasn't found a niche though and can be outperformed by shallower methods for much of where they are used [1]. And due to all this big data mumbo jumbo on-line learning methods are getting to be more important. [1] http://ai.stanford.edu/~ang/papers/nipsdlufl10-AnalysisSingleLayerUnsupervisedFeatureLearning.pdf http://ai.stanford.edu/~ang/papers/nipsdlufl10-AnalysisSingl...
- lwat 16y agoActual Genetic Algorithms are not really applicable for this (or most other) AI problems.
- Dn_Ab 16y agoSimulated Annealing with restarting is a simpler, less finicky and robust one to use in place of GAs. But since the No Free Lunch theorem for optimization says that the general applicability of any optimization algorithm is as bad as every other and no better than random search the answer is like anything else. Understand your problem and pick the right tools. You can get an overview of the numerous techniques here. http://en.wikipedia.org/wiki/Category:Optimization_algorithms http://en.wikipedia.org/wiki/Category:Optimization_algorithm... * Actually its not quite any since it holds not exactly but to a very very good approximation and there are a few, like Coevolutionary approaches which provide a loophole out of that. So that might be something you want to look at.
- yters 16y agoWhat is the loophole that coevolution provides? I didn't realize there was a loophole to NFLT.
- Dn_Ab 16y agoWell the loophole is not really a loophole more like an escape hatch in that NFLT was shown to not be applicable for certain types of coevolutionary algorithms like say pareto coevolution. The way I understand it is that in essence the no free lunch theorem only applies when candidate solutions are not re-evaluated in terms of relative performance. In coevolution we continually pit a population of candidate solutions 'to play' against each other in order to evolve a champion. Since fitness in this case is relative and not absolute - making performance tricky to measure - NFTL can be wiggled out of. as long as you can evaluate/term your problem within game like heuristics. - http://www.no-free-lunch.org/ http://www.no-free-lunch.org/ - http://cs.calstatela.edu/wiki/images/1/15/Wolpert-Coevolution.pdf http://cs.calstatela.edu/wiki/images/1/15/Wolpert-Coevolutio...
- chrisaycock 16y agoAnd in trading applications (as with many other domains), GAs can lead to fitting if the quant isn't careful. What looks like a great strategy in a back-test suddenly blows-up in production. I worked at one hedge fund whose safe-guard against GAs was to make traders submit their algos a month before production so they could be tested again out-of-sample.
- Dn_Ab 16y agoI am not sure I agree with your take on neural networks. Neural network is a vague terminology. But most people mean multilayer perceptrons which I agree are not very useful. But logistic regression is a very widely used 'single layer neural network'. Even the original single layer perceptron has its place in this big data world (with appropriate modifications: e.g. adapting ensemble and on-line techniques , using the kernel trick etc.). Then there are auto-encoders, Restricted Boltzmann machines and Deep Belief Nets that are certainly getting a lot of attention and are a type of neural network.
- cdavid 16y agoI think the OP was refering to neural network as used with their analogy to their biological counterpart, which has indeed fallen out of fashion several decades ago. I rarely see "neural network" used in recent machine learning/AI literature - most usages are historical, and as you mention, you could fit pretty much anything into neural network if you really want to, so the word is basically meaningless.