# A Review of Machine Learning and IoT in Smart Transportation
## 1 Introduction
### Machine Learning  
Machine Learning (ML) is not a new concept. ML is closely related to Artificial Intelligence (AI). AI becomes feasible via ML. Through ML, computer systems learn to perform tasks such as classification, clustering, predictions, pattern recognition, etc. To archive the learning process, systems are trained using various algorithms and statistical models to analyze sample data. The sample data are usually characterized by measurable characteristics called features and an ML algorithm attempts to find a correlation between the features and some output values called labels [8]. Then, the information obtained during the training phase is used to identify patterns or make decisions based on new data. ML is ideal for problems such as regression, classification, clustering, and association rules determination. Depending on the learning style, ML algorithms can be grouped into four categories:  
* **Supervised Learning**: Supervised learning deals with problems involving regression such as weather forecasting, estimating life experience, and population growth prediction, by using algorithms like Linear Regression or Random Forest. Additionally, supervised learning addresses classification problems such as digit recognition, speech recognition, diagnostics, and identity fraud detection, by using algorithms such as Support Vector Machines, Nearest Neighbor, Random Forest, and others. There are two phases in supervised learning. The training phase and testing phase. The data sets used for the training phase need to have known labels. The algorithms learn the relationship between the input values and labels and try to predict the output values of the testing data [9].
* **Unsupervised Learning**: Unsupervised learning deals with problems involving dimensionality reduction used for big data visualisation, feature elicitation, or the discovery of hidden structures. Moreover, supervised learning is used for clustering problems such as recommendation systems, customer segmentation, and targeted marketing. Contrary to supervised learning, in this type, no labels are available. Algorithms in this category try to identify patterns on testing data and cluster the data or predict future values [9].
* **Semi-supervised Learning**: This is a combination of the previous two categories. Both labeled data and unlabeled data are used. It works mostly like the unsupervised learning with the improvements that a portion of labeled data can bring [8].
* **Reinforcement Learning**: In this learning style, the algorithms try to predict the output for a problem based on a set of tuning parameters. Then, the calculated output becomes an input parameter and new output is calculated until the optimal output is found. Artificial Neural Networks (ANN) and Deep Learning, which will be presented later, use this learning style. Reinforcement learning is mainly used for applications like AI gaming, skill acquisition, robot navigation, and real-time decisions. [9].  
When using ML techniques, there are two major parameters to consider; how computationally intense and how fast a given technique is. Depending on the application type, the most appropriate ML algorithm is chosen. If there is a need for real-time analysis for example, the chosen algorithm should be fast enough to track the changes of the input data and produce the desired output in a timely manner.