3. Literature survey: Classification of sleepiness in drivers
3.3 Machine Learning Algorithms
3.3.1 Definition of Machine Learning Algorithms
3.3.1.1 Machine and algorithms
In order to understand the term Machine Learning Algorithms (MLA), the term will be decomposed into the three words that comprise it. The first word - “Machine” - refers to a computer system capable of acting according to a specific set of instructions developed by a user, i.e. a program (Evans, 2011). The second word that will be defined is algorithm- which can be understood as a set of instructions defined by the user, i.e. a program, which transforms a specific input into a desired output every time the program runs (Alpaydin, 2010). These types of algorithms are called deterministic algorithms (Marion, 2008; Alpaydin, 2010). This algorithm is then converted into a programming language that a computer can understand. With these two terms defined, it is possible to conclude that the term “Machine Algorithm” refers to a computer which outputs an answer according to a specific input following the set of instructions developed by the user. However, what happens when the set of instructions are not clear or not known by the user? “Learning” is the solution to this question and this is the primary reason why MLAs have garnered such interest in many different fields.
3.3.1.2 Learning
As discussed before, there are many situations when it is difficult or even impossible for the user to set up an explicit set of instructions for the computer to follow, as presented in the following section.
One example is where a user is not able to explain the process except by example data. There are many situations where the user will not be able to explain a process or his/her experience of a process (Alpaydin, 2010; Harrington, 2012). A common example of this type of situation is the recognition of spoken communication. Humans are capable of understanding spoken speech, largely irrespective of the differences in age, gender or accent. Describing this process in an explicit set of instructions is difficult, as it is still not completely known how this process works in the human brain. In this case, the algorithm cannot be defined by the user as a set of explicit instructions. Instead, the computer is presented with a large set of data of different people speaking. By having a large set of data of different people speaking, the computer is trained to find patterns and adapt to different accents, age and speech forms to be able to “understand” spoken speech.
Another situation arises when the volume of data are too large for the user to be able to analyse effectively and define a deterministic algorithm. Due to the increase in digital storage space capacity over time and the increase of the digital communication speed, there is a vast amount of data available to a great majority of people (Murphy, 2012). Every minute more than 100 hours of video are uploaded to Youtube, there are more than 40 billion websites on the internet, laboratories have access to the genome information of thousands of people and supermarkets such as Walmart see more than 1 million transactions per hour which leads to a database of more than 𝟐. 𝟓𝒙𝟏𝟎𝟏𝟓 bytes of information. With this amount of big data, it is not
possible to analyse specific cases manually (Murphy, 2012; Marsland, 2015; Alpaydin, 2010). In addition, due to the amount of data, there might be hidden patterns not possible to detect by the user developing the algorithm (Marsland, 2015; Alpaydin, 2010). In this case, the data are fed to the computer, which is trained to find patterns in the data and come up with conclusions by itself.
A third situation arises when users not know certain characteristics of the environment where the machine will be performing the task. There are certain environments where humans cannot explore due to physiological limitations, e.g. the bottom of the sea, beyond certain point of the universe, the core of the earth (Marsland, 2015; Murphy, 2012; Alpaydin, 2010). Due to the lack of experience of the humans in these environments, it is impossible to predict and exactly describe the conditions to a machine and how to adapt to those conditions (Marsland, 2015; Murphy, 2012; Alpaydin, 2010; Castaño et al., 2003). An example is the Mars Exploration Rover mission (National Aeronautics and Space Administration, 2015; Castaño et al., 2003; McGovern & Wagstaff, 2011). The environment of Mars is largely unknown to the humans so the machine has to adapt to an unknown environment without an explicit set of instructions developed by the user (Castaño et al., 2003; McGovern & Wagstaff, 2011).
The final situation where it is not possible for the user to set up an explicit set of instructions for the computer to follow is when the environment is volatile- changing over time. There are everyday situations where the environment changes constantly, e.g. driving (Marsland, 2015; Murphy, 2012; Alpaydin, 2010). If a machine is intended for driving purposes, it will have to adapt to the constantly changing driving scenarios (Tamatsu & Nitanda, 2014). A system that can learn will tackle many of the problems presented in the cases where a deterministic algorithm is not convenient (Harrington, 2012; Bell, 2015; Marsland, 2015; Murphy, 2012; Alpaydin, 2010).
In MLA terms, ‘learning’ refers to the ability of a system to find patterns in the data (Harrington, 2012; Bell, 2015; Marsland, 2015; Murphy, 2012; Alpaydin, 2010). Taken together, the term MLA is perhaps best defined by Arthur Samuel, a pioneer in self-learning computer programmes, as a “Field of study that gives computers the ability to learn without being explicitly programmed” (Bell, 2015, p. 2). Now that MLAs have been defined, the next section focuses in the different types of MLAs.