The internet of things has made it possible to create an ever-growing world wherein different devices can easily join in the Internet every other day. These devices can range from domestic household things to electronic devices commonly used in homes, offices, and industries, all rigged with small low-cost sensors which generate and use up sensor information. The internet of things is expanding day by day and is being used in by many applications and businesses. The success and growth of any business depend on the precise skill of decision making from the available information, decision making plays a crucial role in IoT. By the end of the year 2020, there will be approximately around 50 billion devices on the Internet of Things, producing so much of information. The traditional and standard techniques used for making the decision are mostly static and not much of a help when it comes to the Internet of Things, where there is lots of unstructured data to be analyzed. Instead, Machine learning can be used, which happens to be the perfect option for decision making in the Internet of Things. Machine learning helps the IoT devices in analyzing the data and figure out what uses expects and wants, thus results in smart decision making in the IoT. The objective of this report is to highlight the significance of decision making in the IoT along with the obligation for an advanced method i.e. Machine learning algorithms to employ decision making in the Internet of Things.
The recent developments in internet protocols, changing requirements, computer technology, hardware, and software have made it a lot simpler for different devices to interact with each other without any difficulty. These developments, in turn, brought in many opportunities for the rise of a new paradigm called as the Internet of things. The Internet of things is essentially a type of technology where different devices rigged with sensors, producing and consuming sensory data are connected to the internet so as to collaborate with each other for attaining a common goal (Atzori, Iera & Morabito, 2010). Cisco IBSG estimates that by the year 2020 there will be around 50 million devices will be connected to the internet (Dave Evans, 2011), these Internet of devices are generally referred to as nodes in an IoT environment.
Figure 1: Devices in Internet of Things
Source: Cisco IBSG, April 2011
As the sum of devices connected in the Internet of Things increases over the years so will be the generation of data in the Internet of Things. Along with increased quantity of data, Big data will also be produced in abundance in the Internet of Things, with so much of data pouring in from different devices being easily accessible, the progress of any application based on Internet of Things depends upon careful processing and analyzing of Big data to make intelligent and smart decisions. The motivation for this report comes from the fact that, a very few Machine learning algorithms are enforced in the IoT for decision making despite the fact that one of the finest ways to make an intelligent decision by examining the available Big data is to employ Machine learning in the Internet of things. The major intent of this research report is to highlight the importance of making decisions in the Internet of Things along with the obligation for an advanced method i.e. Machine learning algorithms to employ decision making in the Internet of Things and find out which machine learning algorithm is suitable for IoT for decision making.
The internet of things has created a new world where in different devices getting connected to the internet through various wireless networks has become very common in everyday life (Welbourne et al., 2009). The essential concept on which Internet of things works is to attach as many as possible devices ranging from domestic household things to electronic devices all to the internet (Tapedia & Wagh, 2016). The basic idea on which Internet of things is based is derived from another technology which is used for tracking various things, that explicit technology is popularly called as Radio frequency identification (RFID) (Kortuem, Kawsar, Fitton & Sundramoorthy, 2010).
One of the major objectives of any computing is to enhance the user’s experiences, Internet of things also has such similar goals to it, that is to clarify and enhance the user’s activities and user’s participation with the Internet of Things applications and bring in better services to them, in order to do so Internet of things require data (Sheth, 2010). Data is present in abundance in the Internet of Things or in any Internet of Things based application, the only thing that is required is the ability to process and analyze the raw data collected through a network from various Internet of Things devices in order to extract useful patterns and knowledge that will aid in making better decisions in future.
Data is being produced at large scale in huge quantity in the Internet of Things, making Internet of Things the best source of exclusive data. Making use of this unique data for making the Internet of Things based application much more efficient, smart and intelligent is achievable by enabling data science. The data science is indeed an association of diverse fields of sciences which makes use of Machine learning, Data Mining and other techniques for discovering useful patterns and knowledge for making rational decisions. The data science techniques indeed make use of certain algorithms for different applications for discovering useful patterns and knowledge for making rational decisions (Mahdavinejad et al., 2017). Before applying distinct techniques and algorithm to the data, following points must be carefully considered ·
· In Internet of Things diverse category of data is produced by the devices linked in the network. An algorithm which is capable enough to handle the specific type of data which is being produced must be enforced or else new algorithm must be produced for handling that specific data.
· Algorithm must be able to function for handling data generated in a real time environment.
· Data model must fit the data is a very essential thing to remember.
Owing to the recent advancements in the computer technology field, the progress and growth of any business or organization depend on the precise ability of decision making from the available information, decision making plays a crucial role in Internet of Things for not only the growth of the Internet of Things based applications but also for monitoring the production processes (Kaur & Kaur, 2016). The procedure of decision making is completely based on the idea of choosing a solution from the diverse range of solutions available for a certain problem. There are various approaches convenient for enforcing decision making, the following things must be considered thoroughly before and while taking a decision.
· Before taking any decision, the problem being faced must be accurately identified.
· After the problem has been figured out, the problem must be analyzed in terms of resources i.e. time, cost etc.
· Come up with various solutions for the problem.
· Evaluate all the results one by one in order to select the perfect solution suitable for the problem.
· Choose that specific solution and enforcing it to fix the problem.
Decision making is applied in a lot of Internet of Things driven applications for diverse reasons like for monitoring industrial environment, to track services based on health care, for safe mining, food industry, forecasting fire disasters, etc. These entire applications implement different algorithm for decision making based on the necessities the application has to meet (Xu, He & Li, 2014).
Various Internet of Things based industries where decision making is applied for diverse reasons is listed below
Evaluating performance of employees, maximization of profit and reduction in energy cost
Maximum profit, reduction in energy cost, improving relationship between industry and employees
Cloud computing and other sensors like water level sensors, drill hole pressure sensors etc.
For safe mining, to help in dam construction etc.
Availability of pre alarm automated information and dam safety.
Supervision of quality of food
Context modeling based on Ontology
The Quality control of food
Machine learning appears to be a branch of Artificial Intelligence wherein the systems enabled in Machine learning is capable enough to learn from the possessed data by using pattern recognition and other algorithms and makes assumptions on the available data. Machine learning has a wide classification of algorithms to choose from for acquiring knowledge from data (Canedo & Skjellum, 2016). Machine learning essentially provides the Internet of Things and machines a brain to easily understand and discover what people wants from a certain application by considering the available data and deriving meaningful patterns and knowledge from it, aside from this Machine learning also aids in managing the huge amount of generated data by the devices in the Internet of Things. Over the years a lot of algorithms have been proposed in Machine Learning for solving various problems (Xu, 2015).
Machine learning is not a recent technology but has existed for many years, many applications have well-made use of machine learning. A few of the applications are the systems which strongly predicts customer’s behavior based on past purchases, knowledge extraction from data related to bioinformatics and etc. so essentially machine learning algorithms are enforced in a diverse application to produce assumptions from the derived patterns. Machine provides great processing abilities when it comes to mechanical and physical activities but still to this day lacks automated decision making skills especially in environments like Internet of Things, using machine learning in Internet of Things can provide great understanding of data for additional computing and decision making (Saravanan & Preethi, 2015).
Related Work and Methodologies
The growth of the industries is booming day by day as the computer technology is progressing. Today the Internet of Things plays an essential role in decision making in an organization to monitor the production procedure and to the up rise of an industry. Decision making is applied in a lot of the Internet of Things driven applications for diverse reasons like for monitoring the industrial environment, to track services based on health care, for safe mining, food industry, forecasting fire disasters, etc. These entire applications implement a different algorithm for making decisions based on the necessities the application has to meet (Xu, He & Li, 2014). The procedure of decision making is totally built on the idea of choosing a result from the diverse range of solutions available for the certain problem.
There are a large number of decision making frameworks existing in the Internet of things for making smart decisions. One of it being a framework service for intelligent decision making based on QoS (quality of service) Model in the Internet of Things (Zhang & Peng, 2012), which is essentially based on the IoT service infrastructure or IoT service framework by making use of process called the Analytical Hierarchy Process (AHP), which estimates the quality of the service and provide acceptable services to the users relying on the RFID tags used (Shaoshuai, Wenxiao, Nan & Yan, 2011). In the Internet of things, the decision making can be enforced by making use of certain algorithms which may or may not be of Machine learning. One such example is the Distributed Consensus Algorithm or CDM, which is a three layered framework for providing services which discovers, detects and compose services in service oriented Internet of Things for detection of service, data classification and processing of data (Shancang Li, Oikonomou, Tryfonas, Chen & Li Da Xu, 2014). Making decision for a group can be done by making use of a new methodology called as Emergency Response Time (ERT), which is essentially applicable in critical and serious events (Li, Sun, Bi, Su & Wang, 2013). For different real time Traffic application in the Internet of Things, the Game theoretical approach can be used for controlling traffic flow in intersections by controlling the green and red traffic signal lights and by assigning certain priorities to the vehicles. The Algorithmic game theory based on Internet of Things (AGT-IoT) helps in greatly reducing the time of waiting (Bui, Jung & Camacho, 2017).
In a world where machines are efficient enough of thinking on their own are a dream of many to create, Machine learning has made it achievable to make smarter and intelligent decisions in the Internet of Things, which turns out to be one of the reasons for the success of the Internet of Things. Machine learning essentially provides the Internet of Things and machines a brain to easily understand and discover what people wants from a certain application by considering the available data and deriving meaningful patterns and knowledge from it.
Machine learning also aids in managing the huge amount of generated data by the devices in the Internet of Things.
Figure 2: Learning from the available data without being explicitly programmed
Source: Gartner (January 2017)
The data science is indeed an association of diverse fields of sciences which makes use of Machine learning, Data Mining and other techniques for discovering useful patterns and knowledge for making rational decisions. Data is being produced at large scale in huge quantity in the Internet of Things, making Internet of Things the best source of exclusive data. Making use of this unique data for making the Internet of Things based application much more efficient, smart and intelligent is achievable by enabling data science.
The Machine learning procedure and algorithms are essentially data driven and they are proposed and enforced to generate decisions or predictions from the possessed data (Rutta, Scioscia, Losetoa, Pintoa & Di Sciascioa, 2017). Every machine learning algorithm is based on certain values of parameters and for every machine learning algorithm, there will be a distinct method of figuring it out. If for interpreting a problem of classification, a machine learning algorithm makes use of a divergent set of parameters, then the validity of the classification of the problem will differ greatly in each case. One of the major difficulties in Machine learning is to search the adequate pair of values for parameters for an algorithm to solve a problem in order to get the finest achievements metrics. Therefore, to get the finest decision for solving a problem, the best suitable pair of parameter values must be used.
A key component that makes Machine learning much extra appealing is that much explicit programming is not required to achieve a meaningful interpretation of data by Machine learning, contradictory to other technologies. Machine learning algorithms are based on the concept i.e. programming to learn which is somewhat based on a proverb which roughly means giving a fish to a man is like feeding him for a day but if you teach him how to fish is essentially like feeding him for a lifetime.
Figure 3: Programming Vs. Learning
Source: Gartner (January 2017)
Machine learning offers great speed, efficiency, power, and intelligence. With the rapid growth of Internet of Things and the devices connected to the internet here has been an increase in data production have made machine learning very common owing to its characteristic of handling the non-specific and unpredictable data with ease, in turn, augments the effectiveness of an organization for reaching the goal.
An essential thing to do before exploring the diverse machine learning algorithm is to interpret each and every step thoroughly of Machine learning process (Gartner, 2017). The various steps of machine learning process are as follows. ·
· The first and the foremost things to do is to classify the problem encountered.
· After problem classification, obtain the possessed data.
· Processing the obtained data ·
· Determining which machine learning algorithm to implement
· Authenticate the results
· Deploying the output of Machine learning to obtain some business values.
Figure 4: Machine learning process stages
Source: Gartner (January 2017)
Over the years a lot of algorithms have been proposed in Machine Learning for solving various problems. Machine learning Algorithms are essentially characterized into three major categories. They are as follows:
· Supervised Machine Learning Algorithms.
· Unsupervised Machine Learning Algorithms.
· Reinforcement Machine Learning Algorithms.
The supervised Machine learning algorithms consist of an input variable and as well as an output variable which is used for predicting from a given set of variables. Examples of such algorithms are KNN, Decision Trees, and Logistic Regression etc.
In the unsupervised machine learning algorithm, there are no input or output variables, instead, it is adapted to figure out useful patterns and structure from the data. Some of the examples of this type of algorithms are K-means algorithm, Apriori Algorithm etc.
In the Reinforcement machine learning algorithm, the systems or machines are skilled to make decisions by measuring how good or bad a situation is. Examples of this type of algorithms include Markov Decision Process etc.
Classification of Algorithms
The machine learning was proposed as an approach for Artificial intelligence and over the years, the machine learning algorithms played an essential role in examining the data. Machine learning is primarily used for forecasting to make better decision and fabricate the most valid predictions out of it for reducing the errors as much as possible and to do so, Machine learning has been adopting algorithms from many diverse fields. As of now there are so many algorithms in machine learning to pick out from depending on the type of data that has to be examined (Han & Kamber, 2008).
Some of the machine learning algorithms suitable for decision making in the Internet of things are as follows:
Decision tree is a supervised Machine learning algorithm essentially applied for solving the classification problem. The decision trees are generally introduced as a decision support tools, they make use of trees and graphs for making decisions. Decision tree provides a structured procedure for resolving a problem in order to achieve an analytical decision.
Figure 5: An example of Decision Tree
Naive Bayes Classification Algorithm
Naive Bayes Classification makes use of Bayes theorem for solving the problem. A large set of data are always not essential for the Naive Bayes classification algorithm to function; it recommends only small sets of data to analyze it and present solutions. Naïve Bayes Algorithm is a scalable and a very quick algorithm and it works surprisingly okay for managing data sets of high dimension. The Naive Bayes Algorithm is usually applicable in applications which necessitate filtering of spam, used for classifying data accordingly, used in software which assists in facial recognition.
K Nearest Neighbor ( KNN ) Algorithm
The K Nearest Neighbor is an algorithm that is essentially enforced for solving the classification problem, it classifies data points which are usually queried by making use of the characterization of the output of the nearest neighbor’s data sample. The K Nearest Neighbor (KNN) algorithm is not always the best choice to choose for implementing, especially in applications where data storage is a constrain and given a lot of importance because the KNN algorithm cannot scale large sets of data properly which concludes the storage of all the data sets. Therefore KNN algorithm is most advisable to avoid in cases which require analysis of smart data.
Support Vector Machine Algorithm
The Support Vector Machine is an algorithm of machine learning which is fundamentally employed for resolving classification and as well as regression issues for evaluating the association amidst the different variables. It is basically employed for determining the hyper plane that separates two sets of data. The Support vector Machine algorithm presents precise output for any problem and works pre eminently well only when there are small sets of data to manage, making it incompatible for larger data classification.
Figure 6: An example of Support Vector Machine Algorithm
Source: Xu, Y. (2015).
Linear Regression is a sort of machine learning algorithm which works on the ideology of linear model, which figure out the association between variables. Let us assume that there are two variables, ‘X’ an input variable and ‘Y’ an output variable, then linear regression algorithm is used to find the values of ‘Y’ i.e. an output variable by determining the linear combinations of ‘X’ i.e. the input variable. If there is only a single value of the ‘X’ i.e. the input variable then the algorithm is called as simple linear regression algorithm, suppose if there are additional values than one for the input variable then the algorithm becomes multiple linear regression. Predicting data becomes simpler by implementing linear regression algorithm.
K means Algorithm
The K means algorithm is a clustering algorithm. In most cases, the K means algorithm is put into action when dealing with uncategorized or uncertain data. The K means algorithm is a frequentative algorithm which sorts the data accordingly to its type into groups, where each group is represented by ‘K’ variable. In the Internet of things, K means algorithm can be enforced to distinguish the new data and sort them into groups easily. One of the most considerable advantages of enforcing the K means algorithm is that it is very simple to put the algorithm in use, but at the same time it has a major disadvantage to it, which is the fact that it can analyze only numeric data.
Apart from these algorithms, machine learning has a bunch of distinct algorithms for instances, the classification and regression trees (CART) algorithm, neural network algorithm, reinforcement learning algorithms, boosting, random forest, the dimensionality reduction algorithm and linear and logistical regression algorithms, etc. that can help in predicting data and make acceptable decision for any IoT based applications.