Machine learning is an interesting technology, and it is rapidly becoming an integral part of (almost) all AI systems.

In my opinion, while computer programming focuses on the science of logic, machine learning explores the science of statistics.

This means that as opposed to computer programming where one writes the algorithm and decides how the computer acts and solves a particular problem, a machine learning algorithm collects lots of examples of such problems, (and in some cases, their solutions), identifies patterns within them, and tries to solve the new problem.

Machine learning completely changes the way we think about a problem.

Before machine learning, when we come across a problem, we immediately look for a solution, proceed to write programs to logically implement that solution, and (probably) continually optimize.

But with machine learning, when we come across a problem, we gather lots and lots of similar previous examples, refine them, and feed them to machine learning algorithms to identify the patterns in them (this is called the learning/training process).

So, rather than having finite deterministic programs, we get results that are real predictions with probabilities.


That said, it is impossible to fully talk about machine learning without using words like:

Supervised learning: In supervised machine learning, the sample data have outputs with them. These outputs are known as labels. In this case, the goal of the machine learning algorithm is to learn the best pattern - that maps the sample inputs to their given outputs - with which to apply to new data. Hence, the learning process is ‘supervised’ by these outputs.

Unsupervised learning: In unsupervised machine learning, the sample data simply don’t have any labels. In such cases, the goal of the machine learning algorithm is to learn the internal relations between the data.

Neural networks: In machine learning, neural networks are a worked out hatch inspired by the network of neurons (nerve cells) in the biological brain. Neural networks form a necessary base - of central importance - for deep learning.

Deep learning: Is a subfield of machine learning that uses multi-layered neural networks.

Basically, as a popular definition puts it, machine learning is the science (and art) of programming computers so they can learn from data.