# From Ethnographic Research to Big Data Analytics--A Case of Maritime Energy-Efficiency Optimization
## 4 Applying Big Data Analytics for Maritime Energy Efficiency
### Constructing Prediction Models
#### 4.2.2 Self-Organizing Map (SOM)  
Self-organizing maps (SOMs) can be trained with unsupervised learning, which allows us to derive structure from data where we don't necessarily know the effect of the variables. The algorithm is designed to find correlations between inputs and outputs using competitive learning (instead of error-correcting learning like back-propagation). A high-dimensional input space is reduced to a typically two-dimensional discrete space. Due to SOMs' non-linear properties, they can be seen as non-linear biologically inspired generalization of principal component analysis [55; 56]. Continuous high-dimensional space is mapped to a low-dimensional and discrete space. Human brains are known to be dividable into different regions that are more active for certain tasks like hearing, seeing or motion. Neurons in a SOM are located in the same way, as soon as the SOM has converged. The input for a SOM is a vector that correlates to (\(x_{0},x_{1,...,x_{D}},y_{0,...,y_{C}}\)) as described in Section 4.2.1. Neurons are organized in an n-dimensional space (typically n = 2), called lattice s. Input nodes are fully connected with all neurons in the lattice. One weight \(w_{\mathrm{i}}=w_{\mathrm{s,i}}\) (or synaptic connection) is assigned to each neuron \(i\) and initialized with a small random number. Like MLP, the SOM has a training and a mapping phase. During training, three steps are performed:  
1. Competition: each neuron calculates its output via \(w_{\mathrm{i}}^{T}x\) depending on input vector x. The neuron with the largest output value is the best matching unit (BMU). If the BMU is excited, it means that its weights will be updated (synaptic adaptation). 2. Cooperation: the neuron's location in the lattice implies a neighboring topology to other neurons in the lattice. Neighboring neurons will also be excited and also undergo synaptic adaptation. 3. Synaptic adaptation: excited neurons change their synaptic connections to increase their output value for the given stimuli. The degree of change depends on the distance to the BMU, whereas the BMU will perform the most severe synaptic adaptation among all excited neurons. After training, the neurons represent a feature map. Their lattice location relative to each other represents properties from input vectors in the higher dimensional input space. A converged SOM meets three properties:  
Figure 9: Learning curve of final MLP model. 1. The feature map can be used as a decoder and encoder where competition mechanism (finding the best matching unit) is equivalent to c = encode(x). The weight vector wc represents the decoded value x' = decode(c). 2. The SOM is topologically ordered according to features of the input space. 3. When region on the input space occurs more often during training, more neurons will represent the mapping for these inputs in the feature map (the feature map will have a high resolution for these regions). In this paper, SOM is used to make predictions for fuel consumption and find a similarity order among journeys. If the SOM converges, it can be used to predict fuel consumption for vessel situations (data rows, or input vectors) that are not included in the training data, if there are enough training data vectors that are similar to the unseen input vector. Therefore, the process of finding a BMU has to be altered, such that the Euclidean distance can be masked for some entries of the input- and weight vectors. The SOM was trained on the input vectors with the dimensions speed through water, relative wind speed, draught, and fuel consumption can be queried for a prediction of fuel consumption by masking this entry on all weight vectors and the input vector when comparing them regarding Euclidean distance in the input space, to find the BMU. After the BMU is found, the previously masked entries are the result of the prediction query.