In recent years, machine learning has become a popular research area of computer science. In this blog post, I will talk about what is machine learning.
What is machine learning?
Machine learning is computer programs (algorithms) that can learn to do a task by doing it or by learning it from some data. For example, a computer program can be designed to learn to play Chess by trying various moves and strategies against human players to select the most effective one (learning by experience). Or a program could be designed to learn the best Chess tactics from historical records of matches between human players (data).
What is the difference with artificial intelligence?
Another term that is often talked about in the media is artificial intelligence. So what is the difference between artificial intelligence and machine learning? Generally, artificial intelligence refers to computer programs that can do some task that requires intelligence (e.g. translating a document from English to French, writing a summary of a text, playing a game, composing some music). Some artificial intelligence program will be designed to learn from experience or data, and can thus be viewed as using machine learning. But there are also some other artificial intelligence programs that do not require learning. For example, one can build a program to play the game of Tic Tac Toe by explicity writing the optimal rules for playing that game in the progrma. In this case, the program can use that knowledge base (rules) to play and does not need to learn. Thus, not all artificial intelligence programs need to learn, and machine learning can be viewed as a subset of artificial intelligence that represents the programs learn.
Why is machine learning popular?
There exists many machine learning techniques for making computer programs that can learn such as artificial neural networks, support vector machines and clustering. These techniques are popular because they can be used to create programs that learn to do some complicated tasks that would be otherwise very hard to build as a computer program by a human. For example, while it is extremely hard to program a computer to recognize objects in a video by hand or to translate a text accurately, these tasks can now be learned using machine learning techniques.
What are the applications of machine learning?
There are many applications of machine learning such as to play games, process video and audio data, translate documents, and recommend songs or movies to users of a website. Generally, each machine learning program is built to solve a specific task (e.g. playing the game of Go) rather than to solve many tasks. It is a major challenge to design machine learning programs that could learn many tasks.
What are some good books about machine learning?
Nowadays, many young researchers will directly focus on popular techniques such as deep learning. But in my opinion, one should try to have a broader picture of the field of machine learning as there are many other techniques. Some good book on machine learning in general are:
- Pattern Recognition and Machine Learning by C. Bishop
- Machine Learning by T. Mitchell
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Hastie et al.
- Machine Learning: A Probabilistic Perspective – K. Murphy
- Artificial Intelligence: A Modern Approach – Russell & Norvig
If you are a young researcher, you may also want to read about how to find a good machine learning research topic.
What is the relationship with data mining, big data and data science?
Another subfield of computer science that is popular nowadays is data mining, data science and big data. These terms generally refer to the use of algorithms to analyze data. There are generally two main goals to analyze the data: (1) understanding the data to learn something useful from the data (e.g. understanding the past, like why a tsunami occurred) and (2) predicting the future (e.g. predicting when the next tsunami will hit a country).
The data mining techniques that aim at making predictions using data can be viewed as a form of machine learning, while other techniques may just be viewed as method to analyze data. Thus, data mining can be viewed as intersecting with machine learning. If you want to know more about this, I wrote a blog post on the relationship between data mining and machine learning.
Hope that this blog post has been interesting! If you have any comments, please leave them in the comment section below.