In this short blog post, I will answer the question: what is the difference between Machine Learning and Data Mining? I will first explain what is artificial intelligence, machine learning and data mining. Then, I will answer the question.
What is artificial intelligence and machine learning?
Artificial intelligence is a field of research, which aims at developing software that can do some tasks that require intelligence. What is a task that requires intelligence is open to debate and can be for example to play chess, translate documents, write a novel, or choose the best route to drive from one location to another. This broad definition of artificial intelligence that I have given is defined based on the behavior of a software program (what a software program can do rather than how it works). Some people define artificial intelligence in a stricter way by requiring that an artificial intelligence should also simulate the mechanisms that intelligent beings such as humans use for producing intelligent behavior. In another word, an intelligent program should not only appear to behave intelligently but should also mimic how the brain works, for example.
There exist many types of artificial intelligence techniques. Some early research on artificial intelligence proposed the so called expert systems where a human expert would give knowledge to the system (for example, as a set of IF-THEN rules), which the system would then apply to behave intelligently. A problem with this approach is that writing knowledge by hand is time-consuming and prone to error for complex tasks, and that it is not always easy for a human expert to encode his knowledge. Such systems have also been called knowledge-based systems.
Another type of artificial intelligence systems does not require knowledge or data. This is the case for example of algorithms such as A* (a-star), which are used for example to play games. Consider a simple game like Tic Tac Toe. All the possible moves in this game can be viewed as leading to different states, including some states where one wins or loses. Because the number of possible states for such games is rather small, a simple algorithm to play such games can search through all the possible states or a subset of them to select the best move to perform.
Other artificial intelligence systems are not preprogrammed and are designed to learn by themselves from data. The field of research aiming at designing such systems is machine learning. Some popular types of machine learning systems are artificial neural networks, which are very loosely inspired by the brain. Such systems are generally trained to do some specialized task using some training data indicating what is the expected behavior in a given situation. The system then generalizes from this data to take decisions in new but similar situations. This process is called supervised learning. This is for example the case of a system for reading handwritten texts. Such system can be trained using handwritten letters where correct answers are provided by a human. After training the system with many examples of letters, the system can then recognize new letter drawings. There also exist some artificial intelligence systems that can learn from data without knowing the correct answers beforehand. This is called unsupervised learning. To summarize, machine learning is a subfield of artificial intelligence where a software program can learn from data.
What is data mining?
Data mining has a different focus. As the name implies, data is key to data mining. Without data, one cannot do data mining. The goal of data mining is to analyze data by discovering knowledge hidden in the data. For example, a classic data mining task is frequent pattern mining, which consists of finding the sets of values that frequently appear in data (e.g. discovering that many people buy bread with cheese and a chocolate bar at a supermarket). This task is unsupervised and has for only purpose of discovering something new in the data. Generally, such techniques can be used to understand the past or predict the future.
Some other data mining techniques are explicitly designed for extracting models from data that can then be used for making predictions. This is the case of techniques such as neural networks, decision trees, and regression models. Now, you probably remember that I already talked about neural networks as a machine learning technique. This is because data mining is overlapping with machine learning. In other words, some data mining techniques can also be called machine learning techniques.
What is the difference between machine learning and data mining?
Though, machine learning and data mining overlap, and both require data, data mining traditionally focuses more on providing knowledge or models that are explainable or interpretable by humans, while machine learning studies are often more focused on what a model does. As a result, several machine learning models are designed to provide a high accuracy for some tasks such as handwritten character recognition, but appear to work like a black-box to humans. There is thus currently an important need to build more interpretable or explainable machine learning models. The problem of black-box machine learning models is illustrated in this funny picture from XKCD (credit: https://xkcd.com/1838/ ):
That is all for this blog post. I just wanted to discuss differences and similarities between machine learning and data mining. If you would like to add something to this, you can post a message in the comment section, below.
Philippe Fournier-Viger is a full professor working in China and founder of the SPMF open source data mining software.