Ask HN: machine learning success stories?
There seems to be a bit of a buzz around machine learning these days. The combination of cheap compute clusters and lots of easy available, potentially mineable data from social networking, e-commerce etc seems to present some juicy new opportunities for these techniques.
So, are there some good examples of successes with this kind of approach lately or is this the overpromise and underdeliver of AI all over again?
20 comments
[ 3.5 ms ] story [ 56.6 ms ] threadhttp://www.randomhouse.com/bantamdell/supercrunchers/
The uninitiated will benefit from digging into his blog:
http://measuringmeasures.com/
Also, the new ML Q&A site:
http://metaoptimize.com/
There are a number of examples that are not consumer-facing, like credit card fraud detection, snail mail routing, quantitative trading, market segmentation analysis, demand prediction for inventory control, and other things. It is also used for scientific data analysis in several areas, with bioinformatics being the really big one. There are other examples.
There are also applications that are not considered machine learning, but use the same ideas for different purposes. An example would be modern codes, which are used for things like compression and satellite communications, and are based on the same `graphical models' pervasive in machine learning.
There is hype, and some applications need only a little bit, but it is at least used in some real stuff.
LinkedIn SNA: http://sna-projects.com/sna/
Microsoft MLAS: http://research.microsoft.com/en-us/groups/mlas/
Yahoo ML: http://research.yahoo.com/Machine_Learning
ATT & Netflix: http://www2.research.att.com/~volinsky/netflix/
One could refer to the unsupervised adaptation of new HMM-based speech synthesis (HTS) voices as a promising machine learning application. It's not a success story, but imagine being able to create new synthesis voices given only a few minutes of speech by any person.
Want to try out how well that works? Go to [1] and select the voice "GWB (HTS 2007)", and enter any english text you want. Sounds familiar? And that's just an academic demo page...
[1] http://homepages.inf.ed.ac.uk/jyamagis/demos/page35/page35.h...
I personally think that ML is on the verge of some major breakthroughs.
In particular, I think that results in "deep learning" are very promising. I've written about this approach in earlier HN comments.
"Deep learning" is the new big trend in Machine Learning. It promises general, powerful, and fast machine learning, moving us one step closer to AI. Deep learning has already made important advances in achieving state-of-the-art accuracy in vision and language, but with much less manual engineering that competing methods.
In fact, I think the major success of the deep learning movement has been to get the community to start focusing on figuring out how to get powerful learning algorithms actually to work. A lot of people used to (but many still do, sadly) work on making incremental improvements on learning algorithms that are implausibly simple. "Sure, we know this model can't achieve human level performance on vision or language or control (robotics) or planning, but with this neat refinement I can get a paper out of it." Deep learning begins its endeavor with the goal of AI, and rejects techniques whose upper bound isn't high enough. Simply the fact that the community is setting its sights high---not in terms of over-promising to the outside world, but merely in terms of the learning machinery being explored---and is actually trying to achieve AI is a step forward.
An algorithm is deep if the input is passed through several non-linearities before being output. Most modern learning algorithms (including decision trees and SVMs and naive bayes) are "shallow".
For intuition, imagine if I told you that your main routine can call subroutines, and your subroutines could call subsubroutines, but you couldn't have any more abstraction than that. You can't have subsubsubroutines in your "shallow" program. You could compute whatever you wanted in a "shallow" program, but your code would involve a lot of duplicated code and would not be as compact as it should be. Similarly, a shallow machine learning architecture would involve a lot of duplication of effort to express things that a deep architecture could more compactly. The point being, a deep architecture can more gracefully reuse previous computations.
Deep learning is motivated by intuition, theoretical arguments from circuit theory, empirical results, and current knowledge of neuroscience. Here is a video where I give a high-level talk on deep learning, and describe this intuition: http://bilconference.com/videos/deep-learning-artificial-int....
Here is more detailed information about deep learning: http://deeplearning.net/tutorial/
Another aside: My colleague Hoifung Poon published exciting work in semantic parsing. It received best paper award at ACL 2009, the most prestigious NLP conference. (http://www.cs.washington.edu/homes/hoifung/papers/poon09.pdf) You read it and you're like: "Really? You're doing that? You're actually trying to solve NLP using purely automatic techniques. Whoa. I forget that was the goal, I was too busy doing feature engineering!"
He achieves impressive results on question-answering, and beats other systems in recall, giving answers to many more questions, at the same level of accuracy at the competing methods.
The source code for his semantic parser is available (http://alchemy.cs.washington.edu/papers/poon09/) and you can use it to build a Q+A system. You can try a demo of it here, which I put up: http://bravura.webfactional.com/ He is about to talk about an updated version of this work, in which he induces ontologies purely automatically.
Apparently one per cent of marketing mail is opened, while 98 per cent of Tesco mailouts are opened (because they offer people targetted discounts). No surprise large retailers and grocery chains are rushing the adding significant ML capabilities.