The meal was fantastic, the service was friendly and professional, the setting was cozy, and the company was engaging. As the evening ended, however, there was a slight hiccup as my credit card was declined. There was more than enough money in my account to cover the cost of the (very delicious) dinner, so what was going on? The issue, which was solved via a quick phone call to the bank, was that an algorithm dedicated to fraud detection determined that the transaction’s location was outside of my established pattern and temporarily prevented completion at the point of sale.
You can learn more about fraud detection by reading “5 Keys to Using AI and Machine Learning in Fraud Detection”.
My restaurant moment is an example of machine learning in action. My bank’s development team didn’t create software that stored a static listing of every place I might travel with an approve or deny setting; a fraud detection system ‘learned’ my spending and location patterns and dynamically intervened when I attempted an action that was outside of that pattern.
Machine learning is arguably the most successful implementation of the broad research effort known as artificial intelligence. In popular culture, this is represented by malicious robots and computer systems that take over the world. In real life, machine learning gives software the ability to modify actions based on various types of feedback instead of strict, programmatic rules. As simple as this may sound, it’s a very powerful innovation which increases the usefulness of software in exciting ways.
In this post, we’ll explore Microsoft Azure’s approach to machine learning which gives organizations of all sizes the ability to add dynamic capabilities to a variety of solutions. Before you continue reading this, we suggest you check out our post outlining The Benefits of Machine Learning in the Cloud. Machine Learning is a vast topic so instead of trying to ‘boil the ocean’ we’ll focus on how it is practiced on Azure using Azure Machine Learning Studio (more about that later).
But before diving in, let’s quote from David Chappell’s introduction, which is an excellent starting point for those of us who’re new to Machine Learning:
[Machine Learning] …applies statistical techniques to large amounts of data, looking for the best pattern to solve your problem. It then generates an implementation—code—that can recognize that pattern. This generated code is referred to as a model, and it can be called by applications that need to solve this problem. With fraud detection, for example, the calling application must provide the right information about a transaction, such as age, amount, where [a credit card] was issued, and where it’s being used. The model created through machine learning then returns an indication of whether this transaction is likely to be fraudulent.
Full at – David Chappell’s Introduction for Technical Professionals
Using Chappell’s introduction as a guide, let’s identify the key components of machine learning:
At a high-level, here’s the workflow:
- Ingestion of raw data (for example, information about credit card spending patterns) into a pre-processing system
- Application of pre-processing methods to data (making the data usable by the system by removing errors, duplicates, etc.)
- Presenting the prepared data to a learning algorithm
- Iteration to discover the best model (i.e., the model that produces the most accurate results and the fewest false positives)
- Selection of a candidate model
- Deployment of the model
- Exposure of the model via API to applications (such as the fraud detection engine)
Let’s visualize this:
Until very recently, each of these steps could only be performed by a data scientist and, the scalability and utility of the deployed solution were limited by the infrastructure an organization could devote to this complex series of storage and compute-intensive tasks. With Azure, it’s possible for individuals and organizations of all sizes to benefit from the power of machine learning. It’s also possible for IT professionals to enter the world of Machine Learning and rapidly add value. Azure Machine Learning Studio provides the platform for each step from data pre-processing, through the selection of the best model to the deployment of that model to the applications that consume it.
We’ll spend a bit more time with Machine Learning Studio later. First, let’s talk about Azure’s full portfolio of Machine Learning offerings:
Machine Learning on Microsoft Azure
Azure offers two Machine Learning solutions with different capabilities and advantages:
- Machine Learning Studio (for building ML solutions using a collaborative, drag and drop interface and pre-built models – ideal for those who’re new to ML)
- Machine Learning Service (a more open platform for creating ML solutions using Python and other open source tooling – ideal for those who are experienced building ML solutions and want to take advantage of public-cloud scalability)
Machine Learning Studio
Machine Learning Studio offers a no-coding-required environment for building ML experiments that, once verified as successful, can be connected to production applications via web service APIs.
“Azure Machine Learning Studio gives you an interactive, visual workspace to easily build, test, and iterate on a predictive analysis model. You drag-and-drop datasets and analysis modules onto an interactive canvas, connecting them together to form an experiment, which you run in Machine Learning Studio. To iterate on your model design, you edit the experiment, save a copy if desired, and run it again. When you’re ready, you can convert your training experiment to a predictive experiment, and then publish it as a web service so that your model can be accessed by others.”
Machine Learning Studio is a learning and solution platform where you can create ML experiments while taking advantage of excellent resources such as the Azure AI Gallery.
If you’re an absolute beginner with ML and Azure Machine Learning Studio, I suggest this tutorial, “Machine learning tutorial: Create your first data science experiment in Azure Machine Learning Studio“.
Another excellent resource is the Cloud Academy course, “Introduction to Azure Machine Learning”.
Azure Machine Learning Studio is a versatile platform but the no-code approach to ML can’t meet every need. To address a broader range of scenarios and provide a cloud-native, but familiar toolkit for architecting ML applications, Microsoft has created the Azure Machine Learning Service.
Azure Machine Learning Service
Azure Machine Learning Service is the platform for experienced builders of ML models who want the power of cloud-scale computing:
Azure Machine Learning service fully supports open-source technologies, so you can use tens of thousands of open-source Python packages with machine learning components such as TensorFlow and scikit-learn. Rich tools, such as Jupyter notebooks or the Visual Studio Code Tools for AI , make it easy to interactively explore data, transform it, and then develop and test models. Azure Machine Learning service also includes features that automate model generation and tuning to help you create models with ease, efficiency, and accuracy.
The key difference between Machine Learning Studio and Machine Learning Service is the latter’s support for industry standard open source tooling (such as TensorFlow) to create ML models. This gives an ML developer the ability to use familiar and tested methods while taking full advantage of the scalability of Azure. Models can be built on local machines and deployed to Azure (using containers, for example) once testing is complete. Note that models built using Azure Machine Learning Studio cannot be deployed or managed by Azure Machine Learning Service.
To get started with Azure Machine Learning Service, I suggest reviewing the tutorial “Train a classification model with automated machine learning in Azure Machine Learning service“.
Azure Machine Learning Studio: The Best Place for Beginners to Start
I’m assuming most people reading this post are new to ML (perhaps some of you have been tasked with skilling up to meet a business need). With that in mind, we’ll spend some time exploring Machine Learning Studio which, in my opinion, is the best entry point for ML on Azure – and among the best learning tools available – for those who aren’t data scientists or Machine Learning experts.
Microsoft provides many helpful tutorials designed to familiarize users with both Azure Machine Learning and the principles and best practices of Machine Learning as a field. I suggest using the “Simple Experiment” tutorial to perform a high-level overview of the Machine Learning Studio workflow.
The experiment introduces us to the data preparation and presentation steps we described earlier:
- Creating a model
- Training a model
- Scoring (I.e., refining), testing and deploying a model
Upon login, you’ll see this interface:
By selecting NEW at the bottom left-hand corner of the interface and choosing “Experiment”, you’ll be presented with options for creating a blank experiment or choosing from a library of existing sample models:
I chose “Blank Experiment”. Note the options shown on the left navigation pane:
In the simple experiment tutorial, a table of raw auto price data is dragged and dropped into the data ingestion interface and used to walk you through the process of building a usable model:
By right-clicking the raw data item, you can visualize the data:
To complete the walkthrough, and learn more about building, testing and deploying a model, I encourage you to finish the simple experiment tutorial.
To give you an idea of what a complete workflow looks like, here’s a sample dataset with auto import data:
Azure Machine Learning Studio and Machine Learning Service firmly place the Azure platform at the heart of this revolution.
If you’re interested in deepening your knowledge on Azure Machine Learning, then the Cloud Academy’s Using Azure AI Services to Build Customer Solutions Learning Path.
Watch this short video on how to build a recommendation engine in Azure, taken from the same learning path to get a sense of what you’ll learn.
If you enjoyed this post, you might also like: