Machine learning is a term that’s so widely used in so many different fields of science and technology at the moment that knowing a few things about it will help demystify much of the confusion surrounding it. The questions below form a good basic introduction to the subject.
1. What is Machine Learning (ML)? Machine learning is an interdisciplinary field focusing on both the mathematical foundations and practical applications of systems that learn, reason and act. The capability of systems that operate machine learning to evolve their performance over time, essentially makes any machine learning algorithm an optimization one that is designed to enable the system that operates it to improve its own behavior by altering its parameters and even writing its own code (through a subsystem). Incidentally systems that write their own code date back to the 70s and Gerald Sussman’s work.
2. Is Machine Learning the same as Artificial Intelligence? No. Initially machine learning algorithms were designed to be used in data mining where massive data sets defeated traditional statistical analysis techniques. So it is a smarter way to deal with data that is either too large or too complex for a human operator to deal with alone and it is too costly to analyze using traditional computerized analysis methods. We see ML used in such areas as natural language processing (NLP), Speech Recognition, Machine Translation, Information Retrieval (a.k.a. search), Recommender systems, Targeted Advertising and so on. Machine learning, however is now also being integrated in Artificial Intelligence (AI) systems accelerating the way they work and providing some very interesting results. Google’s driverless cars, digital personal assistants, self-learning robots (like a Roomba), face recognition software and cyber-threat detecting systems are just some examples. Its ubiquitousness in AI systems is fast making the term machine learning synonymous with Artificial Intelligence.
3. Are Data Mining? Statistical Analysis and Machine Learning similar? There is an overlap on all three but there are also distinct differences. Data mining may use smart algorithms but it is applied by a person to a specific task that requires some kind of optimization to take place (i.e. improved production methods, reduced processing costs, etc) and some insights to be discovered that cannot be provided by brute-force statistical analysis. Statistical Analysis is the organization, presentation, analysis and interpretation of data but the work is done through a human even when computers are used to collect, organize and visually present information. Machine Learning employs algorithms that extract information automatically (i.e. without human intervention) and systems that learn from experience and then improve their experience according to a performance parameter or some performance measure (think of the way Google image search identifies entities within a picture). A Kalman Filter is a good example of a machine learning algorithm. Activities such as the autonomous control of robots, decentralized learning, and semantic approaches to knowledge representation are unique to machine learning.
4. What is Machine Learning based on? Mathematics, obviously. At a base level if you write machine learning algorithms you need to have some understanding of linear algebra, probability theory and statistics, multivariate calculus and algorithmic complexity. If you just work with machine learning algorithms that have already been written or pre-configured the primary skill you need to have is data analysis.
5. How does a Machine Learning system learn? Think how we learn. Either we go out into the world and try things on our own and discover what works and what doesn’t, (experience-based learning) or we go to the library, get a book and learn how to do specific things and then go out and do them (rule-based learning). Either way we start off with a pre-defined model (called a prior) which we then adapt and evolve according to the feedback we get from our activities. This is how we learn to walk, tie our shoelaces, sing, write and fight. Machine learning algorithms conceptually, do things the same way. A machine learning system starts with a pre-defined model which it will adapt and evolve as it progresses (i.e. crunches more data). Google has created an AI that learnt to navigate the London Underground by itself (something that many of us in the UK have yet to accomplish!)
6. Do Machine Learning systems program themselves? Well, not exactly. They need to start with a predefined model (a prior) and some mathematical parameters that reflect probabilities. They are then trained (as opposed to being programmed) on data. Because ML systems use higher mathematical functions which they can turn into machine code to execute. How they do that exactly to arrive at specific results is not easy to ascertain because of the complexity of operations involved, however, what is important are the initial parameters and starting point (priors). This is where the quality of the human input in that first instance, becomes critical. Too-vague or too-narrow parameters and the system delivers too many errors. ML systems use Bayesian statistical methods to constantly update the parameters that govern the probability of events revealed by the data they analyze.
7. Do Machine Learning systems think? Any system where a machine learning algorithm has been implemented, particularly when it also happens to have a neural net computer architecture things in the sense that it mirrors our own analysis, learning, reasoning and acting pattern of thinking. It is not conscious in the sense that humans are conscious but its algorithmic behavior, particularly within some very clearly defined problems, like computer vision and pattern recognition is similar to our own with the exception that it has greater sensitivity and it is several orders of magnitude faster in processing speed.
8. What is the difference between Machine Learning and traditional computer programming? The main difference is that machine learning systems are not explicitly programmed to do what they do. They have to learn, over time, to actually do it (that’s the training part of the algorithm). Traditional programming on the other hand does exactly what it is designed to do from the moment it is put in place. We use machine learning to learn more about things in the natural world we are not sure about. We use traditional programming to automate tasks we understand well from start to finish. Machine learning systems can arrive at judgements and take action without human intervention. The best way to illustrate the differences is to look at the robots employed in car assembly lines which do the same thing over and over and over again each day (guided by precise programs that tell them exactly what to do) and a driverless car guided by a machine learning program that constantly learns and refines its approach and operates in environments and conditions it has not explicitly met before but can understand because of its experience.
9. Is machine learning capable of giving us true AI? Strong artificial intelligence of the sort of autonomous robotic behavior we see in The Terminator:
is still a dream. Narrow AI however or applied artificial intelligence is already here with devices all around us exhibiting intelligence in their operation (think of the Roomba 980).
10. Is Machine Learning use increasing? In a word yes. Netflix, personalized medicine, enterprise security and fraud prevention are just some examples where machine learning is being implemented. Digital transformation is a process that inevitably transforms every business into a data company of sorts which means that data mining and data analysis become part of its core competencies. That makes machine learning a necessary tool of most businesses.
Most major web players now have cloud-based machine learning services you can access: