According to the data analytics firm, SAS, machine learning (ML) is “a method of data analysis that automates analytical model building. Using algorithms that iteratively learn from data, machine learning allows computers to find hidden insights without being explicitly programmed where to look. The iterative aspect of machine learning is important because as models are exposed to new data, they are able to independently adapt.” AlphaGo’s ability to generate new data and learn from experience – described in my previous blog – is an example of machine learning. The expression ‘machine learning’ was coined by Arthur Samuel in 1959. He wrote: “[Machine Learning is the] field of study that gives computers the ability to learn without being explicitly programmed.”
As the SAS definition indicates, algorithms are essential to ML; but what is an algorithm? An algorithm is a set of rules, a sequence of procedures or a formula for solving a problem. We all use algorithms in everyday life. The routine you follow when brushing your teeth is an algorithm; your favorite recipe for baking muffins is an algorithm. These algorithms may change over time in response to feedback. If a particular batch of muffins fails because of too much salt in the mix, the recipe, and therefore the algorithm, is adapted as a result of learning.
Machine learning algorithms also change in response to feedback. ML influences your online experience. Whenever you do a web search, the results that are served to you will depend not only on the keywords you employ at that time but your online search history. Spam filtering algorithms adapt over time, learning from your decisions to send particular inbound emails to your spam folder. Image recognition algorithms also learn; the greater the number of images of a particular object that are subjected to analysis, the higher the probability that a new image of that object will be correctly identified.
Supervised and unsupervised machine learning
We can distinguish between two different types of ML: supervised and unsupervised machine learning. The term ‘supervised’ is a teaching metaphor. The person developing the algorithm either supervises the process, like a teacher, or does not. With supervised machine learning, the output of the algorithm is known. The supervisor’s role is to identify and obtain input data that predict the output. Essentially the supervisor is developing a model that reliably associates input data with the known output. The algorithm is developed and tested on ‘training’ data before it is used on fresh or real-time data. If a tested algorithm fails to perform as required then the supervisor can seek new input data and retrain the model. Most supervised ML applications aim to predict some outcome of particular interest. For example, a CRM user might want to predict whether a customer on the company’s database is likely to buy ‘Product Y’. The user constructs a model hypothesizing that purchase of ‘Product Y’ is associated with one or more customer variables including demographic profile data or previous purchase behavior, as suggested below.
Y = f(x)
The model is based on the CRM user’s understanding of the customer database. The hypothesis is tested on a random sample of historical data; the user adjusts the model, perhaps by adding or deleting predictor variables, until a sufficiently reliable level of prediction is achieved. This is known as training the model. In CRM applications, model training is usually performed on data held in a data warehouse or data mart. Once the model is trained, it can be used to predict future purchases, and therefore to guide offer development. Learning, in this supervised ML context, means the development of a mathematical algorithm that uses input data to predict some output variable with the desired level of accuracy.
Unsupervised machine learning
Unsupervised machine learning is very different. Unsupervised ML uses no training examples. Instead, the computer is given a set of data and asked to identify associations or patterns within the data. In unsupervised ML there is no pre-defined output variable (Y); there are only input data (x).
The term ‘unsupervised’ suggests there is no trainer developing and testing a hypothesis. Unsupervised learning aims to reveal and model the underlying structure in the data. In 2009, scientists at Google built a neural network of 16,000 computer processors with one billion connections and let it browse 10 million thumbnails extracted from YouTube videos. Over the course of three days and, after being presented with a list of 20,000 different items, it began to recognize objects including human faces (81.7% accuracy) and cats (74.8% accuracy) despite being fed no information on these objects’ distinguishing features.
As I write, supervised machine learning is far more common, but there is excitement about the potential of unsupervised machine learning.
In my next blog, I’ll describe some of the conditions that have given impetus to the development of AI solutions.
SAS (2017), Machine Learning: What it is and why it matters. https://www.sas.com/en_au/insights/analytics/machine-learning.html Accessed 14 August 2017
Le, Q.V., Onga, R., Devin, M., Corrado, G., Chen, K., Ranzato, M., Dean, J. and Ng, A.Y. (2013), Building high-level features using large scale unsupervised learning, https://pdfs.semanticscholar.org/4728/bac8f82149c844c50045fd62c550