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.
[Related: How machine learning ate Microsoft]
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.
In a testament to how machine learning has evolved, all of these techniques have matured over the last decade. What's different now is the volume of data being generated, not just by humans and their activities but by all the machines and sensors plugged in and connected to the network, generating logs and observations. All of this data from all of these different sources can be combined and used to generate insights and make decisions faster and better than ever before.
And while Microsoft has been a big user and applier of machine learning for a while now, its Azure Machine Learning service puts the scale and power of one of the world's largest cloud platform operators into an easy-to-use package that takes just minutes and a credit card to get started with.
Off-the-shelf machine learning
Microsoft's Azure Machine Learning offering is a one-stop shop designed to get you started with cloud-based machine learning quickly and very easily. It starts in the Azure portal the same one where your Ops team spins up Azure virtual machines, configures storage options and provisions virtual networks to connect everything together where you can create a Machine Learning Studio (ML Studio) workspace and dedicated storage account.
This is the "partition" in the Azure service tenant in which all of the machine learning software resides. In the portal you can also monitor the consumption of the Azure Machine Learning service to keep track of expenses, receive alerts when a model is ready to be published, and deploy models as web services with the ML API Service so your models can integrate with your existing applications very easily.
Your data scientists will spend the majority of their time in the ML Studio experience. It's a friendly, drag-and-drop sort of experience, not a blank command line and an invitation to read a 900-page manual. You can execute every step in the data science workflow within the ML Studio, including accessing and preparing data; creating, testing and training models; importing your company's existing proprietary models securely into the private workspace; and more.
ML studio has support for the R statistical analysis language and includes the capability to work with raw R as well as over 300 of the most popular R packages, and in addition, Microsoft includes several ready-to-use algorithms that work alongside R. You can collaborate with colleagues anywhere with an Internet connection using the "share my workspace" feature, and finished models can be ready for consumption and use within minutes rather than having to set up and stage an entire BI or data environment.
The data that models within the ML studio can use can come from a variety of sources:
- Models can access data already in Azure.
- Models can query across Big Data in HDInsight.
- Models can pull datasets in right from the data scientists' desktops.
Once the data scientist is ready to publish, that's when tested models become available to developers via the API service. The business users can access results, from anywhere, on any device. And any model updates simply refresh the model in production with no new development work needed. It is essentially machine learning as a service (MLaaS?).
Azure Machine Learning is already in use by many companies who are using the service in the following ways:
- telemetry data analysis
- buyer propensity models
- social network analysis
- predictive maintenance
- Web app optimization
- churn analysis
- natural resource exploration
- weather forecasting
- predictive healthcare outcomes
- financial fraud detection
- life sciences research
- targeted advertising
- network intrusion detection
- smart meter monitoring
The last word on machine learning
Microsoft's goal with Azure Machine Learning is to make it easy to get started with the data you already have and the staff you already employ just start an Azure subscription, set up a workspace and start playing in the ML Studio. Microsoft provides ample additional technical documentation and access to a 30-day free trial. You can also browse the ML Studio gallery to find five-minute educational tutorials on how to get sample data, run experiments, and more.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.