Can a baby overperform the most powerful computers? An introduction to classification algorithms.
Note: This is the introduction and first of a series of articles about “classification algorithms”. In next articles, we will go through the different methods both from a qualitative and quantitative perspective. Once the series is finished we guarantee you will have a good understanding of this complex matter.
Introduction to “classification algorithms”
Nowadays, computers have become an essential part of our life. Different applications emerge every day to allow us to overcome problems we thought indecipherable.
Problems of utmost relevance in fields like cryptography, bioinformatics, computational engineering…
We must not forget computers are nothing but high-speed calculators. They can perform millions of simple logical operations per second. The key point here is to use the speed of the computers to overcome more complex tasks. But, computers only understand simple arithmetic operations, so we must reformulate the problem accordingly. And it is here where algorithms play a crucial role.
Essentially, an algorithm describes a concatenation of logical steps. Starting from a set of input parameters and ending with the requested output.
It should be noted that an algorithm can decompose a complex procedure, such as the square root of a number (my apologies for the word complex!), into more simple arithmetic calculations; such as additions, subtractions, multiplications, and divisions. As an illustration, note the following simple algorithm that provides the square root of a number. I encourage the reader to consider any number and apply the rules, good luck!
Computers can iterate the algorithm above thousands of times per second, reaching the square root of any number in a flash. This toy example illustrates how an algorithm can concatenate simple operations to achieve a complex task.
The only way to solve different questions in the sphere of physics and mathematics is by using algorithms. In the past, mathematicians used to spend a great part of their days solving dummy operations [1]. No need to say that computers have paved the way to overcome mathematical problems beyond the imagination of scientists. Let’s remark that a computer without an algorithm is just a fast machine. In the same way, many algorithms only make sense if the machine has the capacity to solve them.
Emulating human intelligence
In any case, it’s a long leap from solving a square root to emulating the human intelligence. There are many algorithms based on artificial intelligence that have surpassed the results of trained and skilled people. For instance, in 1997 the machine Deep Blue, developed by IBM, implemented a chess algorithm that defeated the World Chess Champion Garry Kasparov [2]. We should take the triumph of Deep Blue as a milestone in the field of artificial intelligence. Few years later, in 2011 Watson, another computer designed by IBM, implemented a cutting edge algorithm able to understand questions in a written text. It took part on the Jeopardy! TV Quiz Show against former winners Brad Rutter and Ken Jennings. The synergistic behavior between the computer and the algorithm allowed Watson to be proclaimed the champion by defeating both contestants [3].
Despite the optimism generated by these two landmarks, there is still much room for improvement. Currently, all efforts are focused on developing “intelligent” algorithms. Among others, the field of machine learning is pushing hard in this direction. This branch of the artificial intelligence aims at developing algorithms that can continuously learn.
For example, to identify who wrote a given text, which is the animal that shows in a picture, or to infer if a recorded audio belongs to a criminal or not. We call this task “classification.” From now on, we will consider the problem of classification but, don’t forget that to classify a certain observation is just an example of what machine learning techniques can do.
The amazing capacity of the human brain to perform complex classification is essential to ensure our physical integrity. Without even realizing it, we perform hundreds of classifications every day.
Human beings are specially designed to carry out very complex tasks that do not require the management of a large amount of data. A baby can overperform the most powerful computers in many classification tasks implementing the most sophisticated algorithms. For example, the capacity of computers to classify whether images contain either a dog or a cat is still far away from the performance shown by a child. The state of the art can barely classify 80% of images correctly [4], highlighting the room for improvement.
The annoying captchas are a good example of how human brain performs some classifications. Sometimes, in the internet, we are asked some easy questions such as rewriting a text shown in a picture or selecting which pictures share a certain common characteristic. This is done to determine whether the user is human. Surprisingly, these easy classifications do not represent a challenge for the human brain but cannot be handled by current computers and algorithms.
We need computers
However, we must remark that the large amounts of data we generate demand the use of computers. So, we need to understand how human brain classifies and subsequently project this logic into algorithms. Without any doubt, we can claim that, as these algorithms evolve, many applications will emerge that will improve our life in many senses.
For sure, nobody’s born wise! Before being able to classify a given fruit as an apple or as a banana, we have to learn how to distinguish them. We have to infer the features that separate an apple from a banana. This claim has a philosophical implication that goes beyond the scope of this post but will be addressed in futures articles.
The same way babies learn about their surroundings, algorithms have to be trained on what an apple is and how a banana looks. The family of algorithms in the realm of Machine Learning that “learn” given some training examples, is referred to as supervised learning methods.
Given a training dataset, the algorithm will “mutate” to learn the information provided a priori. Afterward, if the model properly captures the concepts that enable the classification (color, shape…), it will be able to assign a class (banana or apple) to a new realization (picture).
In this light, we may find an assorted number of methods (algorithms) belonging to this family; linear classifiers, support vector machines, decision trees or neural networks among others.
In forthcoming posts, the most relevant methods will be introduced from both, a qualitative, and a quantitative perspective. In addition, different toy examples will be included aiming at illustrating the potential of these approaches.
See you soon!
Bibliography
- Goldstine, H. H. (1980). The computer from Pascal to von Neumann. Princeton University Press.
- http://www.chessgames.com/perl/chess.pl?pid=29912&pid2=15940
- http://www.npr.org/2011/01/08/132769575/Can-A-Computer-Become-A-Jeopardy-Champ
- http://xenon.stanford.edu/~pgolle/papers/dogcat.pdf
Originally published in http://blog.quarizmi.com/a-baby-can-overperform-the-most-powerful-computers-an-introduction-to-classification-algorithms/
Submit a Comment
Logged in as Ana Etxebarria. Log out?