# Improving Machine Learning Identification of Unsafe Driver Behavior by Means of Sensor Fusion
## 3 Method
### The Classifiers  
To proposed method is based on two different learning classification tools: (i) a support vector machine and (ii) an artificial neural network. Both of them have been trained and tested on the gathered data described in Section 3.3. SVM are supervised learning models mainly used in regression and classification. In classification, given a set of labeled training data, the SVM builds a model which can be used to assign unknown data to one of the learned classes. The model is a representation of the input data as points in space, mapped in such a way that the data belonging to the different classes are separated by a space as large as possible. The new data are then mapped in the same space and the prediction of the category to which they belong is made on the basis of the side on which it falls. For the purpose of this work, a binary-class SVM with a cubic polynomial kernel has been trained [PERSON] et al. (2010) and its classification performances have been evaluated by means of the k-fold cross-validation technique. This technique provides that the dataset is randomly partitioned into k equal sized subsets. A single subset was used as the data for testing the model, and the remaining k - 1 subsets were used as training data. The cross-validation process was then repeated k times, with each of the k subsets used exactly once as testing data. Then the corresponding k results were averaged to produce a single estimation. In this work we used a k-fold cross-validation with k = 5.  
An artificial neural network is a computational model composed of simple elements called neurons, inspired by a simplification of a biological neural network. They can be used to simulate complex relationships between inputs and outputs such as classifications or for time series forecasting. An artificial neural network receives external signals on a layer of input neurons, each of which is connected with numerous hidden internal neurons, organized in several levels. Each neuron processes the received signals and transmits the result to a subsequent neuron. The aforementioned neuronsreceive stimuli at the input and process them. The processing entails the evaluation of a transfer function on the weighted sum of the received inputs. Weights indicate the synaptic effectiveness of the input line and serve to quantify its importance. The learning capabilities of the neural network are achieved by adjusting the weights in accordance with the chosen learning algorithm. Different training algorithms have been proposed in literature together with different performance metrics [27]. In this work we used a simple feedforward network with a single hidden layer composed of 50 neurons. The network was trained by means of a backpropagation Levenberg-Marquardt algorithm [28] with a traditional mean square error (MSE) performance function.  
The activation functions were the hyperbolic tangent sigmoid transfer function and the log sigmoid transfer function respectively for the hidden and for the output layers.  
Additionally, in this case the evaluation of the classification performance has been carried out by means of the k-fold cross-validation technique with k = 5.