What is Machine Learning?

Definition

So what exactly is… machine learning?

According to ScienceDirect, “Machine learning is a collection of methods that enable computers to automate data-driven model building and programming through a systematic discovery of statistically significant patterns in the available data.” Now, while this is very detailed, your eyes are naturally going to glaze over this definition if you’re coming from a field outside of data science. So let’s strip back this definition to the core keywords and points to remember.

“Machine learning comprises methods that enable computers to predict outcomes through discovery of patterns in the available data.”

Now while this version easier to understand, I prefer the second definition listed below. This was the definition provided by Arthur Samuel, who designed the blueprints for machine learning in the late 1950s. Samuel stated that Machine Learning is a Field of study that gives computers the ability to learn without being explicitly programmed.

Now, while this definition is less objective and doesn’t integrate as many buzzwords, it really cuts to the core and essence of what machine learning is and why its unique from other data-driven techniques such as data mining and data analytics, and that's this ability to learn without being directly programmed. Another reason I like this definition is because it triggers the reader to ask “well…how”? How do machines learn? How is that even possible? And these questions segueway nicely into the next slide on explaining how machine learning differs from traditional computer programming. 

Machine Learning vs Traditional Computer Programming

One way to look at machine learning is to break it down into input, learning and output. But first, let’s look at traditional programming. So within most computer applications there is a direct command with a pre-programmed output or answer, and this is what the early competitors to machine learning looked like, including knowledge-based systems. You don’t hear about this systems anymore, but they were essentially humans dumping their knowledge into a computer repository, which could then answer queries based on knowledge pre-loaded into the computer by human experts.

Now unlike traditional computer programming, where outputs or decisions are pre-defined by the programmer, machine learning uses data as input to build what’s called a decision model. Decisions from the model are based on deciphering relationships and patterns in the input data using probabilistic reasoning, trial and error, and other computationally-intensive techniques. This means that the output of the decision model is determined by the contents of the input data rather than any pre-set rules defined by a human programmer. The human programmer is still responsible for feeding the data into the model, selecting an appropriate algorithm and tweaking its settings (called hyperparameters) to reduce prediction error, but the machine and developer operate a layer apart in contrast to traditional programming.

So in summary, machine learning deciphers patterns in the data to produce an output, whereas in traditional programming the output is pre-defined by the programmer.

Complete and Continue