# A Review of Machine Learning and IoT in Smart Transportation
## 2 Machine Learning and IoT in Smart Transportation
### Machine Learning Algorithms
#### 2.1.7 Deep Learning
DBNs are also used in [24], in order to assist digital map creation by automatic street elements detection such as traffic lights, roundabouts, etc. The input data for the system are obtained only by users GPS data. The first step in their method is the implementation of an outlier detection technique in order to make some early estimations for the street elements position. The DBN is a stack of RBMs. An RBM is described by an energy function and a probability distribution. The DBN tries to maximize the energy function. For each and every class, the DBN will extract a set of features that describe accurately the input data. After the DBN training, a final classifier is used to finally separate input data to classes. The research combined results present a recall of 0.89 and a precision of 0.88. The authors in [25], developed a deep learning method for sequential classification of multiple objects from an image input. The method developed is called Deep Recurrent Attention Model (DRAM) and the research results indicate that the model prevails over CNNs on multiple digits recognition when tested on Google street view house images. Additionally DRAM seems to be less computationally intense than the best CNNs. A DRAM architecture consists of the following five network structures or inter-connected hidden layers: (a) A glimpse network, which consists of three convolutional layers and a fully connected layer, and its purpose is to extract the important features from an input image chunk. (b) A recurrent network, that combines the information of glimpse networks output preserving spatial information. (c) An emission network, which predicts the next image chunk position to feed the glimpse network. (d) A context network, which uses a low resolution version of the initial image and helps emission network to find significant objects in the image. (e) The classification network, that performs the object classification based on the final feature vector. To enable traffic flow predictions based on big data, a Stacked Auto Encoder (SAE) is suggested in [31]. On top of the SAE a Logistic Regression algorithm is used to enable traffic flow predictions. The network layers are trained as Auto Encoders (AEs) with a greedy layer-wise unsupervised learning method and it is fine-tuned using Back Propagation in the end. The proposed method is tested using a Caltrans Performance Measurement System (PeMS) dataset and the evaluation is based on the MRSE, MRE, and MAE indexes. The results indicate that the SAE outperforms the compared techniques (Random Walk, Support Vector Machines, and Radial Basis Function). AEs are layered structures that aim at reconstructing the input data, in an unsupervised way, in order to extract more robust features. Stacked Auto Encoders use multiple AEs, where the output of the first becomes the input of the other. The AEs are trained with an unsupervised layer-wise manner until all the stack is trained. Then a technique like Back Propagation is used, based on labeled data, so as to update the network's weights [54]. In a research about traffic accident hotspots and their automated detection and classification [32], the authors train an Inception Neural Network to help with the image classification. Analysis on road data obtained from the Swiss Road Authority (FEDRO) shows that there is a connection with the accident occurrence and the actual accident spot. Thus, Google Maps images, combined with the FEDRO data, are used to train an inception neural network (TensorFlow Inception v3) and attempt to detect accident-prone areas. The results show a 30% accuracy, which confirms the location-accident correlation hypothesis. The inception network is more advanced than a CNN and it intends to be a less computationally intense method. The idea is to use various filters to perform the convolution of the input data. Additionally, maximum pooling is also performed. The outputs are concatenated and sent to the next inception layer. Inception layers stacked form an Inception Network.