MLOps [1] - What is Machine Learning?

This video and post are part of a One Dev Question series on MLOps - DevOps for Machine Learning. See the full video playlist here, and the rest of the blog posts here.

To understand what MLOps (DevOps for Machine Learning) is, we first need to know what Machine Learning is.

Machine Learning is a term many of us have heard, but what does it actually mean, and when should it be used?

As usual Microsoft Docs has some great resources, including an explanation of what machine learning is and how it works, but I like to think of it in more simple terms.

In traditional software development, you have a human specifying the logic to solve a problem. They write the loops, if statements, and structure to code so when you supply input, you get (hopefully) the correct output.

For example you might, as an engineer, be asked to write a function to calculate the tax due on a given transaction. You might need to do some research around state or federal taxes, or what transactions are exempt from GST or VAT. But essentially it's a thing you can work out. You know what that logic will look like.

A man at a desk programming with 4 screens

By contrast, think about a problem like, "What's the probability this person will repay a loan of $10,000?". Writing a function to solve that problem is much harder.

These are the kinds of problems Machine Learning is good at. Rather than trying to come up with the logic yourself, you can supply a whole lot of data - in this case probably details of previous applicants and loans including whether they were repaid - and let the machine learn the patterns. You're using examples to train a computer what's important and what's not, and how to get the "right" answer given some input data.

What you get out the other end is a "predictive model", and that model can be used in place of a function that you might have written yourself. Understanding the algorithm and what the logic inside it does is often difficult or impossible, but it's still input -> output. You can feed it new, unseen data, and get a prediction on the answer.

An Azure Kinect webcam

One final point - because the model is trained from data, it goes without saying that if your data is bad, your model will be bad. Actually scratch that - it definitely needs to be said.

Far too often, models will be trained on biased data, ultimately building in those biases. Microsoft is putting a lot of effort into this broader field of Responsible AI, to make sure we're using machine learning and AI ethically and responsibly.

Check out Azure Machine Learning on Microsoft Docs, or learn how to create your own predictive models on Microsoft Learn.