## 3 Materials and Methods
### Neural Network Architecture  
To analyze the kinematic data of punches, the ANN model in the form of a multilayer perceptron was used [19; 20]. MLP is a feedforward artificial neural network model. This is one of the oldest methods of deep learning, and a special case of the Rosenblatt perceptron, which was developed in 1957. When training, the MLP uses a supervised learning algorithm of back propagation of error [19; 20]. MLPs have shown the ability to find approximate solutions for extremely complex problems. In particular, they are a universal function approximator, so they are successfully used in the construction of regression models. Since classification can be considered a special case of regression, when the output variable is categorical, classifiers can be built on the basis of MLP. Figure 3: Schematic diagram of the device operation. Figure 2: Hand with the inertial measurement unit (IMU) on the wrist. The positive directions of the accelerometer axes are shown, as well as the positive directions of the angular rate. In our work, the use of MLP is due to the fact that this model solves classification problems very well. In [16], where the recognition of boxers' punches was performed by various machine learning methods, MLP proved to be the most effective algorithm. The disadvantages of MLP are its low learning rate, as well as the need to select the structure of the neural network for a specific task. Furthermore, the choice of topology is often based on heuristic methods, as described in the book [19]: \"The number of hidden neurons should be between the size of the input layer and the size of the output layer. The number of hidden neurons should be 2/3 the size of the input layer, plus the size of the output layer. The number of hidden neurons should be less than twice the size of the input layer\". However, these rules, or others, can only act as a starting point for the empirical design of the MLP architecture. For example, in the aforementioned work [16], where the analysis of boxers' strikes was carried out, the MLP configuration was as follows: \"MLP-NN: Activation = tanh, alpha = 0.0001, hidden layer sizes = 8, 8, 8 (3 hidden layers with 8 nodes each), learning rate = constant, solver = lbfgs\". In order for the neural network to learn correctly based on a given data sample with the greatest accuracy, it is necessary to select the optimal number of neurons. There should not be many of them, but there should also be enough for a good approximation of the function in the space of synaptic weights. If the number of neurons in the hidden layer is not high enough, then the problem of learning based on the training set cannot be solved. If there are too many neurons, the network may learn excessively [21]. The topology of the ANN (Figure 4) in this work was as follows:  
* Input layer--600 nodes (600 values of absolute accelerations and angular velocities);
* Hidden layers--512, 256, 128, and 64 (four hidden layers);
* Output layer--4 nodes (straight punch, hook, uppercut, and movement without punches). In work [21], it states, \"An MLP with one hidden layer has limited capacity, and using an MLP with multiple hidden layers can learn more complicated functions of the deep neural input. That is the idea behind deep neural networks where, starting from networks raw input, each hidden layer combines the values in its preceding layer and learns more complicated functions of the input\". Data processing was carried out using the Keras library. Keras is a deep learning API written in Python, running on top of the machine-learning platform TensorFlow. It was developed with a focus on enabling fast experimentation [20]. The activation function determines the output value of the neuron, depending on the result of the weighted sum of the inputs and the threshold value. In our work, the  
Figure 4: The topology of the artificial neural network (ANN). sigmoid activation function was applied to each layer.