## 2 Related Background
### Machine Learning  
Machine learning (ML) is a field of computer science that uses algorithms that improve automatically through experience [34]. It is a subdomain within the broader field of artificial intelligence (AI) that encompasses various challenges such as classification, regression, clustering, and anomaly detection. Machine learning algorithms build a mathematical model based on sample data, known as training data, to make predictions or decisions without being explicitly programmed to do so [35]. Over the last decade, deep learning, a branch of machine learning using artificial neural networks, has excelled in applications ranging  
Figure 1: Trapezoidal course, one of the most common Olympic sailing courses. The red and green lines indicate the sailing course that is marked by white buoys. (Image courtesy of the BBC). from natural language processing to predicting local pandemic outbreaks, significantly enhancing its use in natural sciences [36; 37; 38; 39; 40; 41]. This work employs deep learning models, including CNN and MLP, which leverage multiple layers and activation functions like ReLU, Sigmoid, and Tanh to extract features and process complex input data relationships for accurate predictions or classifications [42; 43; 44]. An MLP model is a feedforward artificial neural network that consists of multiple layers of nodes, or neurons, arranged in a directed graph. The layers are typically organized into an input layer, one or more hidden layers, and an output layer. Each neuron in the MLP model takes a weighted sum of its inputs and applies a non-linear activation function to produce an output. The weights of the connections between the neurons are adjusted during the training process to minimize a loss function. The mathematical description of the MLP model can be expressed as follows:  
1. Input layer: The input layer consists of \(n\) input neurons, each of which receives an input value \(xi\) where \(1\leq i\leq n\). 2. Hidden layers: The MLP model can have one or more hidden layers. Each hidden layer consists of \(m\) neurons. The output of the \(j\)-th neuron in the \(l\)-th hidden layer is given by the following: \[h_{j}^{l}=\sigma(\sum_{i=1}^{n}w_{ij}^{l}x_{i}+b_{j}^{l})\] (1) where \(w_{ij}^{l}\) is the weight of the connection between the \(i\)-th input neuron and the \(j\)-th neuron in the \(i\)-th hidden layer, \(b_{j}^{l}\) is the bias of the \(j\)-th neuron in the \(i\)-th hidden layer, and \(\sigma\) is the activation function. 3. Output layer: The output layer consists of k output neurons. The output of the k-th neuron can be expressed according to Equation (1). A CNN is a different type of feedforward artificial neural network that is specifically designed to process data that have a grid-like structure, such as images. CNNs are commonly used for image classification, object detection, and other computer vision tasks. The mathematical description of a CNN model can be expressed as follows:  
1. Input layer: The input layer of a CNN model typically consists of a multi-dimensional array of values representing the input. 2. Convolutional layers: CNNs use convolutional layers to extract features from the input image. A convolutional layer consists of a set of filters, which are small matrices of weights. The filters are convolved with the input tensor, producing a feature map. The output of the \(l\)-th convolutional layer is given by the following: \[F^{l}=\sigma\Big{(}w^{l}\times X^{l-1}+b^{l}\Big{)}\] (2) where \(w^{l}\) is the set of filters in the \(l\)-th convolutional layer, \(X^{l-1}\) is the output of the previous layer, \(b^{l}\) is the bias term for the \(l\)-th convolutional layer, \(\times\) denotes matrix multiplication, and \(\sigma\) is the activation function. 3. Pooling layers: Pooling layers are used to reduce the dimensionality of the feature maps produced by the convolutional layers. Pooling layers typically use a max pooling or average pooling operation. 4.