# Internet of Things Botnet Detection Approaches: Analysis and Recommendations for Future Research
## 6 Results
### Open Issues and Future Trends
#### 6.2.6 Integration of Machine Learning with other Technologies  
The following technologies can be integrated with machine learning algorithms to build a better defense model that takes advantage of these technologies. Deep Learning is a subdivision of machine learning with three types--supervised learning, e.g., CNNs and restricted Boltzmann machines (RBM); semi-supervised learning; and unsupervised learning, e.g., autoencoders. It comprises several layers of artificial neural networks. Each layer covers some neurons with initiation functions that can be used to generate non-linear outputs [106]. It has strong analytical capabilities which are used for various applications, including malicious activity detection and IoT botnet detection. Important improvements in efficiency over some machine learning algorithms can be seen in [107] and have lately been utilized in some IoT applications with edge and fog computing. Deep learning can be used to mine for the features in datasets that will best enhance machine learning classification algorithms. IoT applications need significant amounts of data to be transmitted across a network, and deep learning provides improved performance with more massive data than shallow learning. In addition, deep learning can operate with new features and resolve difficulties with no interference. Deep learning can ease time-consuming manual analysis and increase detection accuracy by automatically detecting Internet of Things (IoT) software vulnerabilities [108]. Various approaches using deep neural networks have been used as IoT classification engines to identify IoT connections as natural and to identify attacks using an intelligent intrusion detection engine. The results of the performance assessments indicate the efficacies of these approaches [46; 50; 109; 110; 111]. Deep learning can be used with software defined networks (SDN) to analyze and contrast the chronological traffic stream of a device with existing trends to decide whether the device seems to be under attack [58]. Managing and protecting a sizeable and diverse network of devices, such as an IoT networks, is challenging, and software defined networking (SDN) solves these difficulties through its simplicity and comprehensive network vision. SDN is the latest evolving technology for fundamental networks that can be used to deal with malicious activities created by many IoT devices, such as IoT botnets, as it offers network flow observing and unified control of network devices [75]. SDN has various features, including traffic engineering, complex policy enforcement tracking, on-time access control and system mobility [112]. It offers centralized control of defense for IoT networks. It facilitates detecting and preventing IoT botnets because SDN is responsible for the continuous examination of traffic data through the IoT network with the purpose of delivering an ideal mode and faster responses of attacks, such as DDoS [113, 114]. On the other hand, the SDN controller could be a single point of failure. Edge computing provides processing units that increase computer power with the capability of processing and storing real time data close to the sensors instead of sending them to the cloud, which improves the response time and reduces latency. IoT botnet detection and prevention needs rapid responses that cannot be realized under a conventional data transmission model that includes a data center for central handling until restoration by a user. Edge cloudlets also serve as data extraction and grouping resources that only transmit mandated data to the conventional cloud data center and redeem critical network resources, such as bandwidth, electricity and storage [115]. Hence, edge computing lowers the cost of transmitting and processing massive amounts of data compared to using the cloud, reduces delays, enhances the efficiency of energy and increases the scalability of lightly-weight IoT devices.