# A Review of Machine Learning and IoT in Smart Transportation
## 1 Introduction
### Internet of Things  
In IoT terms, every connected device is considered a thing. Things usually consist of physical sensors, actuators, and an embedded system with a microprocessor. Things need to communicate with each other, creating the need for Machine-to-Machine (M2M) communication. The communication can be short-range using wireless technologies such as Wi-Fi, Bluetooth, and ZigBee, or wide-range using mobile networks such as WiMAX, LoRa, Sigfox, CAT M1, NB-IoT, GSM, GPRS, 3G, 4G, LTE, and 5G [2]. Due to the massive usage of IoT devices in all kinds of everyday life applications, it is essential to keep the cost of IoT devices low. Additionally, IoT devices should be able to handle basic tasks like the data collection, M2M communication, and even some pre-processing of the data depending on the application. Thus, it is mandatory to find a balance among cost, processing power, and energy consumption when designing or selecting an IoT device. IoT is also tightly attached to \"big data\", since IoT devices continuously collect and exchange a great amount of data. So, an IoT infrastructure usually implements methods to handle, store, and analyze big data [3]. It has become a common practice in IoT infrastructures, to use an IoT platform such as Kaa, Thingsboard, DeviceHive, Thingspeak, or Mainflux in order to support the M2M communication, using protocols like MQTT, AMQP, STOMP, CoAP, XMPP, and HTTP [4]. Additionally, IoT platforms offer monitoring capabilities, node management, data storing and analyzing, data driven configurable rules, etc. Depending on the application, it is sometimes essential that some data processing takes place in the IoT devices instead of some centralized node as it happens in the \"cloud computing\" infrastructure. So, as the processing partially moves to the end network elements, a new computing model is introduced, called \"edge computing\" [5]. However, since those devices are most of the times low-end devices, they may not be suitable to handle intense processing tasks. As a result, there is a need for an intermediate node, with sufficient resources, able to handle advanced processing tasks, physically located close to the end network elements, in order to minimize the overload caused by massive sending of all the data to some central cloud nodes. The solution came with the introduction of the \"Fog nodes\" [6]. Fog nodes help IoT devices with big data handling by providing storage, computing, and networking services. Finally, the data are stored in cloud servers, where they are available for advanced analysis using a variety of ML techniques and sharing among other devices, leading to the creation of modern added value smart applications. IoT applications have already emerged in many aspects the so called, smart city. We could group the most important applications in the following categories [7]:  
* **Smart Homes:** This category includes traditional home devices, such as fridges, washing machines, or light bulbs, that have been developed and are able to communicate with each other or with authorized users via internet, offering a better monitoring and management of the devices as well as energy consumption optimization. Apart from the traditional devices, new technologies spread, providing smart home assistants, smart door locks, etc. * **Health-care assistance:** New devices have been developed in order to improve a patient's well-being. Plasters with wireless sensors can monitor a wound's state and report the data to the doctor without the need for their physical presence. Other sensors in the form of wearable devices or small implants, can track and report a wide variety of measurements, such as heart rate, blood oxygen level, blood sugar level, or temperature. * **Smart Transportation:** Using sensors embedded to the vehicles, or mobile devices and devices installed in the city, it is possible to offer optimized route suggestions, easy parking reservations, economic street lighting, telematics for public means of transportation, accident prevention, and autonomous driving.