Machine Learning and Analytics: Common Questions and their Answers

If you have been following tech news for the last few years you have probably noticed a lot of talk about Machine Learning and how it is changing various industries.  Analytics has especially had a lot of talk about it with basically every company in the industry releasing their own packages and services.  Naturally, this has probably raised a number of questions.  So in an attempt at reducing confusion and potentially worry, I’ve put together some questions and answers to help you out.  

So what is Machine Learning?

To speak in very general terms, Machine Learning is a class of algorithms that are designed to output a result for an input based on a bunch of training data and adjusting itself based on it.  A good Machine Learning algorithm will be able to generalize from the training data so that it will be able to give an appropriate result for inputs it has never seen before.  

Then what is Cognitive Computing?

Cognitive Computing refers to algorithms that are inspired by the theories that explain how brains and intelligence work.  As you might have guessed, it’s largely synonymous with Machine Learning (there are some other algorithms under the umbrella as well), but it seems to be very popular among analytics companies.  The alliteration and how it evokes the image of an artificial brain that you can ask questions probably just make it more marketable than a more technical and academic sounding term.

How does Machine Learning apply to Analytics?

Machine learning can be used for a large number of things, such as labeling new records, calculating regression, finding outliers, and identifying patterns in data. It can also do things like recognize objects, people, text, etc. in images, or process large text fields and extract the general meaning of it.  

Statistics can do a lot of that, is Machine Learning the same thing?

Someone who knows a bit about Statistics and starts learning the basic concepts behind machine learning will inevitably ask this.  It’s a fair question, since you can express things like a basic linear regression as a very simple neural network, and people in both fields regularly debate where the dividing line between the two is.  Personally, I see Machine Learning as the result of Statistics, Computer Science and a few other scientific and mathematical fields meeting.  In more practical terms, Machine Learning is taking statistical methods and applying them to in ways that would not be considered statistics.  This often means taking data with a very large number of variables (possibly hundreds or thousands) and finding relationships that are much more complex than a typical statistical correlation.  As an example, recognizing objects in a live video feed to help steer a car would generally not be considered a statistical operation, but if you dug deep into the process, you would see some of the operations you would get in an introductory statistics course somewhere, plus a whole lot of things that are not.  

Is Machine Learning just a new buzzword?

It may seem like it’s just another new term that the analytics industry is getting excited about, but it’s not new by any means.  The initial theories that most machine learning algorithms inherit from were developed in the 1950s.  The commercial/consumer interest we’re seeing now has been brought about by the huge amount of potential training data available nowadays, and the plentiful supply of processing power available in the cloud and modern graphics processors that most devices have.  In Analytics specifically, machine learning algorithms are necessary for processing the huge amounts of data that companies.  Machine Learning has proven financially viable and generally useful enough that it’s unlikely to be a passing craze and will probably end up being a normal part of the industry lexicon.

Is Machine Learning the same thing as Artificial Intelligence?

This is not so much a question people have as it is an assumption people make.  Machine Learning is considered a specific type of Artificial Intelligence, but the terms are not synonymous.  

So then what is Artificial Intelligence?

The field of Artificial Intelligence is incredibly broad and in ways a bit tough to really define because its history is so closely intertwined with computers in general.  The overall goal of AI is to build a system that is capable of the wide ranging set of tasks that a human is capable of solving.  While we’re still pretty far from the generalized goal, there have been a lot of solutions in more specialized problems.  The popular areas of research in Artificial Intelligence tend to follow whichever area has had a major breakthrough last.  Right now with all the commercial and academic success, Machine Learning has become the top research area, and may remain there for quite some time. 

What is the Turing Test?

Proposed by Alan Turing, one of the fathers of Computer Science, the Turing Test is a hypothetical method of determining whether or not a General AI has been successfully created.  The basic idea is that you have two computer terminals, one of which is connected to a person and one of which is the supposed AI.  A tester can ask questions of both terminals, and if the tester cannot tell which is a person and which a machine, then you have successfully created a General AI.  Of course, there has been plenty of criticism of this proposed test, and I agree that there are major issues with it.  Every so often people will claim to have an AI that has passed the test, but they usually involve imposing limits on the number of questions that can be asked or priming people’s expectations in a way that is supposed to explain away the issues with the AI.  However, I think the underlying concept of the test is well founded:  If a computer algorithm can accomplish a human task in a way that’s indistinguishable (as accurately, etc.) from a human then it’s a success.  A computer that can hold on a decent conversation may be a ways away, but training an algorithm that can read text in an image or understand spoken words as accurately as a human may be currently achievable.  

What is a Neural Network?

You can’t look too far into machine learning without coming across the term Neural Network.  In fact, variations on Neural or Neuron can be commonly found in the names of machine learning packages.  Neural Networks are one of the oldest classes of machine learning algorithms (originally called Multilayer perceptrons or MLPs) and probably the most versatile, as most modern machine learning based applications use some form of neural network.  The reason for this popularity is because they have been proven to be universal approximators (meaning they can approximate any function no matter how complex) and are based on a how actual biological neurons are theorized to function.  Of course, Artificial Neural Networks (ANNs) are a mathematical abstraction of the real thing, but they have proven their practical application even if they aren’t perfect.  

A very basic neural network layout
Image courtesy of Wikipedia

What is Deep Learning?

Neural Networks, as shown in the example diagram, are most typically built in layers.  When a neural network (or another layered learning algorithm like Support Vector Machines) has multiple hidden layers in the middle, it is considered a deep learning system.  While this may seem like an obvious extension (which it is), there were actually a number of breakthroughs in the training process needed for more layers to be feasible, not to mention the obvious increase in processing power required for each additional layer.  Since most applications use more than one hidden layer at this point, I personally feel that the current use of this term is more of a marketing gimmick and it should probably be put to rest.  

What is the Technological Singularity?

The Singularity is a theoretical point in Artificial Intelligence where we’ve developed an AI that is capable of perpetually improving its own capabilities without any human intervention.  The idea is that once AI has achieved this, no other human technological progress would be possible or necessary, as this all-encompassing AI would have it covered.  This would likely require creating a near-human level intelligence before it could occur.  Keep in mind this is entirely theoretical at this point, and likely will require many more breakthroughs in computing technology and our understanding of intelligence before it could be considered anything more than science fiction.

Is the Robotic Uprising at hand?

Every time a news story about Machine Learning researchers making a breakthrough happens, there are claims that we are nearing a Terminator style doomsday scenario.  Even Elon Musk is claiming that the end is nigh if we don’t take action now.  Frankly, the whole thing is a bit absurd.  I’ve heard that the most powerful learning algorithms we have in place right now are on par with worms (which is probably being generous) and are much more specialized than a living organism.  Whenever one of these algorithms seems to output human-like behavior, it’s due to some combination of being designed to mimic human behavior and the observer’s tendency humanize non-human things.  It’s much like a parrot repeating sounds it hears and people around it assuming that it’s capable of conversation when really only recognizes the sound of certain phrases.  Despite how it may appear at times, I’d say we’re still half a century away at least from something that could move beyond simply being mistaken for intelligent.

Will Machine Learning algorithms replace existing analytics techniques?

As generally versatile as Machine Learning algorithms are, they do have their downsides, namely steeper computing requirements and a tendency to over-fit if they don’t have a large data set.  So while they definitely add higher end analysis, they probably won’t replace many of the fundamental techniques.  

Will Machine Learning replace Analysts and Data Scientists?

Much like the previous question, it’s unlikely that machine learning will be replacing experts in analytics.  It will however help people in the industry not have to spend as much time doing many of the more boilerplate tasks involving data cleansing, warehouse design, etc. that machine learning algorithms can figure out on their own.  As an example, Watson Analytics has the ability to put together a graph based on a natural language question being asked by a user.  It also looks through a data set to automatically find interesting (and sometimes rather complex) relationships in the data.  These sorts of interface improvements empower the non-expert end users to take care of the more straightforward reporting and data exploration tasks and free up the experts to tackle the more difficult questions they might not have had the availability for before.  

Is Machine Learning hard to use?

In analytics, it really depends on what you are trying to do.  A lot of work recently has gone into making more user friendly interfaces for common algorithms.  Using neural networks in SPSS isn’t any harder than any other analysis feature in it.  Web services like Watson’s Tone Analyzer don’t require much more understanding to use than any other web API.  If you want or need to build a custom solution, then you are going to need a more extensive background in programming and a more fundamental understanding of how the algorithms actually work.  However, there are plenty of online resources and well developed programming packages in all sorts of different programming languages, so there is no reason a motivated, tech-savvy individual wouldn’t be able to figure it out.  

What does our business need to get started in Machine Learning?

Exactly what is needed depends greatly on the particular problem being solved.  If the problem can be solved utilizing a completely pretrained web service such as the Watson algorithms available on Bluemix, then it is just a matter of feeding your data in and reading the result.  If the solution uses a pre-built but untrained service (like some image recognition services) then it will require a good deal of data to properly train and probably a decent amount of time to do so.  If the algorithm has to be built from scratch, then a great deal of processing time (and of course still data) will be necessary for the multiple design iterations generally required to come up with a successful implementation.  

When should we get started in Machine Learning?

If you have identified an analytics question that typical analytic or statistical methods cannot sufficiently answer, then you should probably look into machine learning immediately.  With the increasing number of relatively easy to use programs and services with machine learning functionality, you may already have access to machine learning.  If you don’t already, then it’s still probably worth investing in.  It is only going to become more commonplace, so investing in it early will only help you stay ahead of the curve.

 

Have a particular question that wasn’t answered here?  Let me know in the comments, and I’ll do my best to answer it.