Part 1: Navigating the Machine Learning Landscape
To choose the right type of machine learning model for your project, you need to answer a few specific questionsAs machine learning algorithms proliferate, even keeping them straight can seem like a full-time job. Q-Learning, Occam Learning, PAC Learning, Neural Networks, K-means… You may have heard of one, some, or all of these, and wondered, “How do I find out which ones will help me get my job done?” This series aims to start you on your journey by introducing the wide world of machine learning.
Machine learning is just one part of the AI universe. While “AI” has no clearly defined boundary that separates it from regular “programming,” it centers around functions that we usually consider human-like, for example, computer vision, natural language processing, expert systems, and machine learning.
What is machine learning?
In typical computer programming, the programmer supplies a “model” for the computation to be performed. For instance, a model might be a physics equation for the flow of fluid through a pipe. Or perhaps the relationship between interest rates and home prices. Or the best method of navigating through a maze. In any case, the model tells the computer how to accomplish the task using a programming language or system.
Historically, computer programmers or business analysts would go through reams of data, looking for patterns in relationships. Then they would develop those relationships into a mathematical formula and create a computer model of that formula. In machine learning, however, the goal is to supply the system with examples of data and let the system deduce the model from the data.
Types of Machine Learning Systems
Although at first, it sounds as if the process might mean less work for the programmer, a lot of thought goes into choosing an appropriate machine learning system for a particular task. Most machine learning systems fall into three main categories—supervised learning, unsupervised learning, and reinforcement learning. The choice of system depends first on which category of machine learning best addresses your situation.
Supervised learning is probably the most common approach. In supervised learning, you have a set of example data—inputs which produce known outputs. You want your system to take the example data, swizzle it around a little, and spit out an algorithm which will take inputs and generate outputs. It uses the example data, where it knows which inputs go with which outputs, to guess what sort of output should be generated by inputs that aren’t in the example data. This type of machine learning is termed “supervised” because the system is provided with correct examples to work from. An example of supervised learning is a system which takes in home sales data and tries to find how the build year, square footage, location, bedrooms, and bathrooms correlate with price in historical records. It then uses that data to predict the sale price of houses in the future.
Unsupervised learning is a bit more abstract. It is usually used for categorization. Essentially, the computer is fed a large batch of data for which it attempts to find groupings. The learning is “unsupervised” because there is no example of a “right answer” in the input. The computer generates the results from the data itself. An example of unsupervised learning would be feeding shopping lists to computers. The computer can then go through the lists and find “shoppers” that “group” together, that is, shoppers whose habits align in some way. The computer has no idea why these habits align—that is the job of the user of the system. The computer just groups certain types of items with certain people. Then, a store manager can identify the factors that differentiate these people and customize marketing material for each group.
Reinforcement learning is a bit harder to describe. In reinforcement learning, the goal is to come up with a plan of action, given an input state, in order to meet a goal. One way of picturing it is to imagine a game. Reinforcement learning plays the game over and over again and comes up with the best plan of action for playing it. In order for reinforcement learning to work, the system must be able to explore and try out various possible actions in response to different situations and then be told when the goal (or disaster) is met. Then, the pathways that led to the goal are reinforced, and the pathways that led to the disasters are weakened. After numerous rounds of trial and error, the system will have developed a policy for how different actions in different situations combine to yield the best final outcome. An example of reinforcement learning is training an AI bot for a video game. The bot has a goal—to destroy you. Therefore, the bot plays over and over again to find out which patterns of actions result in the end goal of destroying you. Those sequences of actions which were most likely to win get reinforced and the final policy for action gets recorded as the AI model.
Choosing the Type of Machine Learning
To choose the right type of machine learning model for your project, you need to answer a few specific questions:
- Are you looking for a model that gives you answers to a question? That will be either a supervised or unsupervised learning model.
- Do you need a sequence of actions, each of which will feed back into a new state which in turn needs another action? Then you should use reinforcement learning.
- Do you have example results that you want the machine to match? If you do, you need supervised learning. If you don’t, you should use unsupervised learning.
- Are you looking for a numerical answer? That is usually a supervised learning activity. Unsupervised learning systems usually result in the creation of groups of similar items from a dataset.
While there are other types (and combinations of types) of learning available, understanding these basics will help you get a handle on what you can do with machine learning so you can take your first steps towards a machine learning project.
In the next article, we will explore supervised learning systems in more depth.
Jonathan Bartlett is the Research and Education Director of the Blyth Institute.
Also by Jonathan Bartlett: AI Conferences 2019: Don’t get left behind! Here are some places to give you a boost
It’s 2019: Begin the AI Hype Cycle Again
and
How can information theory help the economy grow