Azure Machine Learning for Engineers

This blog post is authored by Daniel Grecoe, Senior Software Engineer at Microsoft.

We hosted an interesting webinar last week where we introduced machine learning to software engineers. ML presents new concepts that can be hard for engineers without a formal data science background to understand. While this particular webinar clearly could not cover all things ML, it did cover much of the basic data science vocabulary and walked attendees through a full working example of producing an Azure ML experiment, publishing it as a web service and consuming it programmatically.

In this post, we reiterate some of those concepts (a recording of the webinar is available here).

What is Machine Learning

In a nutshell, ML allows computing systems to become smarter with experience, where the experience happens to be past data and human input.

Unlike a traditional rules-based approach to software development where inputs and outputs are known at the outset, ML provides a powerful way to construct and study algorithms that learn from data without the need to program individual rules.

ML enables computers to learn the relationships between inputs and expected outcomes such that – when the machine is fed new data at a later point in the future – it can predict what the likely outcome is going to be.

ML Vocabulary

Experiments are built by data scientists to create and study different algorithms while they determine the best model to solve their current problem.

Model generally refers to a trained model in which an algorithm has been trained to work with a specific set of data around which it can make predictions.

Features are individual and measurable data points that are to be fed into models to perform predictions on.

Labels are historic results associated with a set of features.

Training Data is a pairing of historic Features and historic Labels and is used as a basis to train a model. Note, however,  that labels are not always required to create a useful model.

Supervised Learning refers to the training of a model where the Training Data contains both Features and Labels. The way to think about this is we are training the computer to learn on historic outcomes, so it already has an understanding of what it should produce.

Unsupervised Learning refers to the training of a model where the Training Data contains only Features.

Azure ML Studio

Azure ML Studio is an online tool created to construct and publish experiments that solve ML problems. Experimenting with Studio is a good way to introduce yourself to ML – this web based tool lets you share workspaces with coworkers and friends, making it easy to collaborate on experiments. You can create a free account and get started here.

 

Algorithm Cheat Sheet

Determining which algorithm to use can be daunting – to help with your selection process, an algorithm cheat sheet is posted here.

Azure ML Service 

The Azure ML service provides a powerful and elegant way to create and consume ML experiments. It just takes a single button click to create an operationalized web API that can be called by clients.

Marketplace

As many models get created for consumption by applications, the authors of these models can monetize their work by adding them to the Azure Marketplace. The Marketplace is also a useful place to discover models that may address a specific predictive analytics need that you might have. You can browse the Marketplace here.

Azure ML Gallery

The Gallery is another wonderful resource, with many sample experiments and ML APIs available for you to play around with. You can access the Gallery here.

If you are new to ML, I hope you found this post to be a useful starting point.

Daniel