In some applications, a large number of intermediate nodes are present, and managing them requires efficient and scalable algorithms. Due to external factors, networks can change dynamically, which causes the localisation of nodes, delays, routing mechanisms, geographical coverage, cross layer designing, quality of link, fault detection, and quality of service, among others. Applying machine learning according to recent advances in technology has solved many challenges to improve network performance, and requiring less human intervention and programming. Recent advancements in technology and applications are important for effecting integration between physical systems, the Internet of Things, machine to machine cooperation, cloud to meet the requirements of user.
The following are examples of the application of machine learning. (1) Deciding the optimum number of nodes required to overcome target area coverage problems. (2) Forecasting the quantity of energy consumed within a given time period, for long-life and self-powered systems to overcome the energy harvesting problem. (3) Machine learning algorithms that can rapidly and efficiently establish accurate localisation of nodes to overcome the dynamic nature of network organisation due to external or internal factors. (4) Accumulating to the cloud gaming in multiplayer cooperative scenario to overcome the synchronising of data with respect to their cloud data. (5) Improving efficiency by overcoming the differentiating problem between the fault and normal nodes in a network. (6) Enhancing network lifetime and system performance through dynamic routing strategies to overcome the dynamic behaviour of networks. (7) The dimensionality of data can be lowered to overcome overheads incurred by transmitting complete data at a base station or to the cluster heads in a cluster.
We organize the survey paper as follows. In Section 1 introduction to machine learning algorithms to wireless networks and cloud is presented. In Section 2 background of different types of machine learning techniques are discussed. In Section 3 different applications and their issues in networks with machine learning techniques are surveyed. In section 4 limitations and statistical analysis are explained. In Section 5 open challenges for research in machine learning based networks and cloud are presented. Finally, the conclusions are drawn for the survey in Section 6.
2. Machine Learning Techniques
2.1 Supervised Learning
Supervised learning is an important data processing technique in the field of machine learning. When training a system, it provides a set of inputs and outputs, i.e., a data set with labels, and establishes a link between them. This learning algorithm provides dependency links and relationships among inputs, and foresees outputs. Table 1 shows comparison of various machine learning techniques with different parameters.
2.2 Unsupervised Learning
The unsupervised learning technique is used for classifying data into similar patterns, reducing the size of data, forming clusters, and anomaly detection. It is associated with given inputs and as such, it involves no unlabelled output. This approach solves challenges related to connectivity problems, routing, data aggregation, and anomaly detection. It is divided into dimensionality reduction, such as singular value decomposition, independent component analysis, principle component analysis, and clustering, e.g., fuzzy c-means, k-means, and hierarchical. Table 2 depicts comparisons of various clustering algorithms.
2.3 Semi-Supervised Learning
Semi-supervised learning works on both supervised (labelled) and unsupervised (unlabelled) data. In real world applications based on semi-supervised learning, classification is performed partially on labelled data, and regression on unlabelled data. The important factor is to predict whether data is labelled or unlabelled in training datasets and future datasets. In video surveillance, speech recognition, classifying web content, natural language processing, protein sequence classification, and spam filtering applications, and to solve fault detection and localisation in wireless networks, this learning technique is employed.
Comparison of various machine learning techniques with different parameters
Comparisons of various clustering algorithms
2.4 Reinforcement Learning
Reinforcement learning gathers data by continuously interacting with surrounding data and performing all necessary actions by drawing conclusions thereby improving performance of system by obtaining optimal results. Q-learning is a type of reinforcement learning that generates observation sequences as state-action-rewards. Based on behaviour, e.g., assertive, aggressive, passive-aggressive, and passive, reinforcement learning can be categorised as negative, positive, extinction, and punishment types. Visualization of reinforcement learning is depicted in Fig. 1.
Reinforcement learning visualization.
2.5 Evolutionary Computation
Evolutionary computation is an artificial intelligence sub-category that uses several optimisation techniques for computation that are inspired by biological evolution and nature, where a solution is obtained using several iterations. To obtain optimal results, evolutionary computation rejects less fitting solutions in iterations according to a trial and error process. This includes ant colony optimisation, genetic programming, genetic algorithms, evolutionary programming, evolutionary algorithms, artificial immune systems, artificial bee colonies, particle swarm optimisation, and firefly algorithms. This method is used to solve coverage, localisation, target tracking, routing, and mobile sink issues in wireless networks.
3. Wireless Networks – Machine Learning Algorithms
In this section, machine learning techniques for coping with challenges in wireless networks are discussed, as well as their advantages, alongside existing approaches depicted in their respective tabular forms.
Recognising the geographical, physical location of a wireless node manually, or by a global positioning system by sending beacon or anchor nodes, is known as localisation. This can be based on proximity, distance and angle, range, or location of nodes Continuous configuring and programming is needed for a dynamically changing network, where machine learning techniques must be applied to improve the accuracy of pinpointing location. This presents various advantages, e.g., anchor and unknown nodes can easily be found using machine learning algorithms in a network, to create clusters, and training them separately. Table 3 draws machine learning based approaches for localization in wireless networks.
Machine learning based approaches for localization
3.2 Connectivity and Coverage
‘Connectivity’ indicates each and every node that sends information to a receiver through relays or directly, and includes no isolated nodes. ‘Coverage’ indicates monitoring and all effectively deployed area nodes. Random deployment of nodes is feasible when compared to deterministic deployment. Full coverage and partial coverage are types of coverage. Sweep, barrier, target, and focused are further classifications of partial coverage. The advantages of connectivity and coverage include coverage of the target location by an optimal number of nodes quickly and dynamically, without any lost information; additionally, dynamically changing paths either in connected or disconnected networks is also possible. Table 4 illustrates machine learning techniques for connectivity and coverage.
Machine learning techniques for connectivity and coverage
3.3 Anomaly Detection
Anomaly detection refers to an inconsistent and significant fluctuation that can appear when measuring data readings. For example, traffic monitoring in an application produces data and transmits it through relay nodes, where readings are continuously changing; data can sometimes also be lost, and as such, it must be protected by detecting data attacks. Using machine learning techniques, anomaly detection can be improved. The advantages of clustering algorithms include lowering overhead; bypass the complexity of hybrid attacks by detecting affected nodes and the type of anomaly. To manage attacks and faults in dynamic network environments, machine learning techniques are used which overcomes the problem of anomaly by considering history and modifying data parameters accordingly. Table 5 shows machine learning based anomaly detection techniques.
3.4 Fault Detection
Faults can include battery failure, communication issues, hardware failure, software failure, topological changes, and an inefficient base station. Detecting faults caused by deployment changes, resource limitations, accuracy between faulty and normal nodes, and type of surroundings represents complex obstacles. Applying machine learning approaches to detect faults delivers benefits such as the categorisation of faults and enhanced accuracy. Table 6 shows fault detection techniques using machine learning.
Machine learning based anomaly detection techniques
Fault detection techniques using machine learning
Transmission bandwidth, processing capacity, memory, and power affect routing in a network. The purpose of efficient routing is to find the best optimal route that consumes the least resources in terms of power, while providing an increased lifetime. The nodes near to a base station act as relay nodes that consume more power, which presents an issue for lifetime of a network. Employing machine learning techniques for wireless networks has particular benefits; for example, changes in surroundings can be adopted via machine learning without the need for reprogramming, while selecting optimum cluster heads in routing can minimise communication overheads. Additionally, by employing machine learning in applications, optimum paths can be found and latency reduced. Table 7 depicts machine learning based routing protocols.
3.6 Congestion Control
Congestion control is affected when data transmission is above the capacity of a communication channel, which can arise when sending data in several rather than one pattern, causing buffer overflows, packet collisions, contention within the transmission channel, and dynamically varying time in obtaining the packet. Congestion affects packet delivery ratio, quality of service, end-to-end latency, and energy consumption. Employing machine learning techniques for congestion control has advantages, as end-toend delay can be minimised by finding an optimal path, and traffic can be estimated by accurately using machine learning algorithms. Table 8 illustrates congestion control strategies using machine learning techniques.
Machine learning based routing protocols
Congestion control strategies using machine learning techniques
3.7 Medium Access Control
Medium access control forms a data link sub-layer used in addressing channel allocation, recognising frames, and transferring data from upper layers in a network. The lifetime of a network can be enhanced through energy efficient protocols, which is critical in terms of network dynamic nature and removing noise in data. Medium access control can be schedule-based (communication among nodes, required in particular slots of time), or contention-based (central communication not required). Machine learning techniques for medium access control has advantages that include avoiding latency, reducing energy consumption, reducing extra efforts to reconstruct the network by adding nodes or removing dead nodes, minimising end-to-end delay, and enhancing the efficiency of self-learning in the network. Table 9 shows Machine learning based medium access control designs for wireless networks.
Machine learning based medium access control (MAC) designs
3.8 Data Aggregation
Data aggregation combines and collects data from nodes affected by memory, power, and computational and communication overheads. Efficient mechanisms of data aggregation enhance the lifetime of networks and balance energy utilisation. Tree-based, cluster-based, centralised, and innetwork are types of data aggregation. Efficient cluster heads selection is effected by machine learning to balance energy consumption at nodes; furthermore, using machine learning techniques, for data aggregation adapts to dynamic environments without the need for reprogramming or reconfiguring, can reduce the dimensionality of data, thereby lowering overheads in communication at cluster heads or nodes, and in this way reduce transmission delay. Table 10 depicts the advantages of using machine learning techniques in data aggregation for wireless networks.
Advantages of using machine learning techniques in data aggregation
3.9 Target Tracking
Target tracking is the monitoring and detecting of dynamic or static phenomena in a network, obtained by tracking a target via multiple nodes, thereby obtaining accurate results for single nodes is difficult. Target tracking includes a number of issues, such as missing targets, tracking latency, node failure, data aggregation, energy consumption, connectivity and coverage, which can be solved by divide and conquer techniques or estimations by prior comparative studies. Benefits include reduced overheads in tracking any mobile or stationary target, and for dynamic networks, machine learning algorithms can improve efficiency. Table 11 illustrates algorithms for node or target tracking by machine learning.
3.10 Quality of Service
Quality of service is the level of service provided by a network. This may relate to a specific application, e.g., active nodes, measurements of nodes, and deployment or network-specific aspects, e.g., bandwidth or rate of energy utilisation. It is impacted on by unbalanced traffic, dynamic networks, data redundancy, resource constraints, scalability, energy balancing, and variations in traffic type. Table 12 depicts machine learning approaches towards quality of service in wireless networks.
Algorithms for node or target tracking by machine learning
Machine learning approaches towards quality of service
Synchronisation is used for power management, data aggregation, sleep scheduling, localisation, transmission scheduling, target tracking, and security by the protocol designs of these respective functions. One way, two-way, and receiver synchronisation are the classifications for types in this regard. Common time frames may be different for nodes within a network.
Capriglione et al.  consider noise, clock frequency, clock drift, and latency by regression technique for synchronisation in low-cost networks. The authors  propose linear regression for extended time synchronisation in dynamic, clock drift networks, which employ automatic resynchronisation, thereby reducing error and enhancing accuracy of networks. Betta et al.  consider clock resolution, drift, and jitter by using regression techniques in applications, thus enhancing synchronisation performance.
3.12 Event Detection
Event detection is the process of detecting misbehaving events in data when monitoring data continuously and making decisions about events. Requirements include a lower false alarm rate, limited power and computational resources, synchronisation and detection rates that are highly accurate (which are affected by memory). Using machine learning techniques in event detection has advantages such as being able to detect events from complex data, and achieving effective duty cycles by enhancing packet delivery ratio.
Illiano and Lupu  focus on enhancing accuracy by regression using the KNN method to effectively extract required data from raw data provided by nodes. Li et al.  propose query processing using the KNN method to extract the necessary information from stored information, thus reducing processing time for queries and balancing energy consumption. Han et al.  introduce fuzzy logic and rule-based approaches in event detection, by collecting neighbour nodes’ information, thereby improving accuracy and speed.
3.13 Mobile Sink
A mobile sink gathers data from each node by visiting them directly, rather than gathering data from node to base station in multiple hops. However, in large networks, it is difficult for a mobile sink to visit each node in a rapid manner. This can be solved by introducing rendezvous points, where the mobile sink visits some nodes to gather data, while the remaining nodes transmit data to the nearest rendezvous points. To avoid delay, multiple rendezvous points can be used, but this increases network cost. Using machine learning approaches for mobile sinks has advantages, including obtaining an optimum number of rendezvous points or cluster heads, assisting in gathering data effectively, determining and selecting an optimal path by delay-aware mobile sink routing.
Wang et al.  introduced concepts for mobile sink and store the gathered data in cloud where every mobile sink is considered as fog device that can be a bridge between cloud and wireless networks. It collects data in parallel thus reducing delay, energy and improving scheduling, lifetime. Tashtarian et al.  proposed scheduling by selecting rendezvous points by optimal deadline trajectory techniques and virtual structures by decision trees. The authors  presented naive Bayes classifier for gathering data by mobile sink effectively than conventional approaches.
Machine learning based techniques for energy harvesting
3.14 Energy Harvesting
The lifetime of a network depends on the energy utilised by nodes in a network, where battery is the source of energy. Using energy harvesting techniques such as sleep scheduling, routing, a mobile charger, mobile sink, or employing efficient protocols, can prolong the lifetime of network to several years. Energy harvesting is affected by unreachable nodes, additional maintenance, and large computational resources, but long-lasting, self-powered, and maintenance free. Energy sourced from wind, radio frequencies, thermal sources, solar energy, vibration, as well as mechanical energy, are used for network energy harvesting. Harvesting can be done without storage or backup sources, and with a stored or powered, rechargeable battery. Using machine learning techniques for energy harvesting has several advantages, e.g., the amount of energy harvested within a given time can be estimated, thereby improving network performance. Table 13 depicts machine learning based techniques for energy harvesting.
Machine learning algorithms to solve various challenges in wireless networks
4. Statistical Analysis and Limitations
4.1 Statistical Analysis
In this section recent research overview on machine learning algorithms are presented. Table 14 illustrates machine learning algorithms to solve various challenges in wireless networks.
Statistical charts for issues.
Research papers published year wise.
Classification based on learning technique.
Figs. 2 and 3 shows wireless networks issues where many researchers are interested. Fig. 4 estimates percentage of issues solved by machine learning techniques by its classification. Fig. 5 estimates percentage of issues solved by machine learning algorithms.
Issues solved by machine learning based algorithms.
Despite its advantages, applying machine learning algorithms has some limitations. (1) Predicting accurate results immediately is not possible, as learning from history is required for machine learning algorithms. (2) Historical data amounts determine performance, but the consumption of energy is high if large amounts of data require processing. There is thus a trade-off between computational overheads and energy consumption, but this can be solved by running machine learning algorithms centrally. (3) It is difficult to draw predictions from algorithms that require validation in real world applications. (4) Identifying an efficient machine learning technique to address a particular challenge can at times be difficult.
5. Open Challenges
In this section we will provide open challenges in wireless networks which need further research to solve those challenges by employing effective machine learning techniques. Defining standards and designing cross layer protocols for quality of service in heterogeneous networks with different requirements is difficult and challenging task where further research to be done to standardize the quality of service. Table 15 shows the key issues need to be addressed in wireless networks.
- Localisation: It is initially important to find an optimal path via beacon nodes within a network, but to our knowledge, there is no predefined strategy for planning a path in a network. We explored machine learning in two-dimensional space for localisation accuracy, with less energy utilisation; however, localisation in three-dimensional space for dynamic and static networks need to be conducted, which is necessary in most applications in real time.
- Connectivity and coverage: To cover the target area using a lower number of nodes, and placing them effectively, is a challenging task. Random deployment of nodes in real-time applications leads to the coverage hole problem in dynamic environments. In this situation, finding accurate solutions in threedimensional spaces, and providing suitable algorithms with lower computational overheads, requires further research.
- Anomaly detection: Many researchers have proposed various techniques for detecting anomalies that affect transmission delay, communication overheads, and misleading data. However, future research is required to overcome the anomaly once it has been detected in order to lower damages of network. Speed and accuracy in detecting and selecting anomaly techniques remains an open challenge that needs to be improved for heterogeneous networks.
- Routing: Transmitting data packets from sender to receiver in one-to-one communication is easy, but many-to-many is difficult due to packet collisions, which remains an ongoing issue for further research aimed at overcoming collisions. Implementing effective protocols for dynamic network changes that occur due to external factors is required.
- Data aggregation: This is a simple procedure for uniform data rates, but for non-uniform data rates, further research is needed to reduce complexity. Using a mobile sink can enhance energy efficiency; however, scheduling a mobile sink is a challenging issue for non-uniform data rates. Scalability, energy efficiency, and lower costs are factors that need to be considered for data aggregation.
- Congestion control and avoidance: Data loss, as well as internal and external factors, lead to congestion in dynamic networks, where implementing congestion control techniques are needed to lower data transmission rates. Efficient, fast, effective strategies are needed, alongside self-learning within dynamic networks to remove or add nodes accordingly when congestion arises. Estimating traffic rates in fast dynamic networks via efficient protocols remains an ongoing research issue, as does collecting data, in addition to sending it among nodes to be determined.
- Energy harvesting: To enhance the lifetime of wireless energy harvesting systems with limited power, lower costs and high efficiency is required for synchronisation between cross layers, i.e., medium access control and physical layers. Machine learning strategies for improving reliability in large-scale networks that adapt to dynamic changes via self-charging and discharging duty cycles is an additional research direction of interest.
- Quality of service: Quality of service is required to meet the needs of applications and users in determining data rates, and for handling traffic, costs of network, energy consumption.
Key issues need to be addressed in wireless networks
Several machine learning techniques for wireless networks were discussed in this survey. We addressed various factors such as fault detection, localisation, anomaly detection, data aggregation, routing, synchronisation, medium access control protocols, selecting a mobile sink path, energy harvesting, quality of service, and congestion control, all of which can be addressed by employing machine learning techniques. Additionally, we compared and produced statistical reports of various machine learning techniques’ impact on wireless networks. In this survey, we suggest selecting a particular machinelearning technique to address a challenge in wireless networks. Finally, ongoing issues for further research in future were presented.