Machine learning makes software smarter and more aware. It's becoming as integral to our collective computing experience as the Internet itself. But how can developers really get started with it? What's the first step? Microsoft aims to make that leap a little easier with its Azure Machine Learning service.
A brief overview of how machine learning works
Computer scientists create software designed to work with copious amounts of data. Machine learning evolved from the creation of algorithms that can train itself in other words, learn from and make predictions on these huge volumes of data.
Where machine learning really shines is in variable analysis: The human brain can only consciously consider a few variables at the same time when trying to make a decision or form a conclusion about some issue. Software, however, is capable of considering far more variables than a human making the same decision, which, the theory goes, will almost always result in a better, higher quality decision--without a fear of so-called "analysis paralysis," when you refrain from consciously making a decision or rush to a conclusion because your brain cannot handle all of the different variables.
In a time when the quantity of data is doubling about every 18 months, machine learning can consume all that data and actively use it to solve business problems.
Machine learning involves computers and software that get better at whatever their objective is over time, using insights gained through experience...without explicit programming. Microsoft defines "experience" in the machine learning context as past data processed through the application, plus human input to guide, correct and gently nudge the program more toward achieving its objective. The more data that passes through the software, and the more input data scientists give the software, the better the outcomes the software makes.
What are some examples of machine learning? You can look as far back as the late 1990s when Bayesian spam filtering was introduced to tackle the growing problem of unsolicited commercial e-mail. Other, more recent and fairly commonplace examples of machine learning include:
- Google claims its use of machine learning helps keep 99.9 percent of spam out of Gmail users' inboxes.
- Mapping and navigation services that answer the question "What is the best way home?" keeping in mind traffic data, road construction, weather conditions and what time of day the request is being made (or what time of day the request is for).
- Skype Translator, a service that naturally translates from one language to another in real time while a conversation is happening.
- Facebook's People You Might Know feature, which looks through your relationships and other peoples' profile data and activities to find connections to friends you might not already be associated with on the social network.
- Evaluating the context of the text on a webpage to decide which ads to display and at what cost to the advertisers each click or impression of that ad on the context sensitive page should be worth, especially when the overall objective of the ad campaign differs (from selling products to delivering sign ups or opt ins to a newsletter and so on).
- Self-driving cars. Chris Urmon who heads up Google's driverless car program recently gave a TED talk on How a driverless car sees the road that shows, among other things, the amount of data these vehicles need to process in order to make autonomous decisions about what to do next.