# Lifting Activity Assessment Using Kinematic Features and Neural Networks
## 2 Materials and Methods
### Neural Networks Design and Mapping Functions  
A neural network model (ANNs) was used to estimate the biomechanical risk in terms of LI on the basis of kinematic features, as schematically described in Figure 1.  
Particularly, we used a set of feedforwards ANNs trained using different feature combinations, and different network topologies: the latter were implemented by varying the number of Hidden Layers (HL) and the number of Neurons (N) populating each HL. The output set (OS) provided an orthogonal coding of the three LI levels: (1 0 0), (0 1 0) and (0 0 1) representing LI = 1, LI = 2 and LI = 3, respectively. Different features were combined into the eight training sets (SET\({}_{i}\), I = 1,..., 8) (Figure 1) constituted as in the following:  
* SET\({}_{1}\) contained energy data derived from the CoM of the whole body-load complex (LEC\({}_{k\_Tot}\), LEC\  
* SET\({}_{2}\) contained energy data derived from the CoM of the upper body-load complex (LEC\({}_{\text{k\_Upp+L}}\), LEC\({}_{\text{p\_Upp+L}}\) and LEC\({}_{\text{M\_Upp+L}}\));
* SET\({}_{3}\) contained jerk data derived from lower limbs (J\({}_{\text{knee}}\));
* SET\({}_{4}\) contained jerk data derived from upper limbs (J\({}_{\text{elbow}}\));
* SET\({}_{5}\) contained jerk data derived from trunk (J\({}_{\text{trunk}}\));
* SET\({}_{6}\) contained all jerk data (J\({}_{\text{knee}}\), J\({}_{\text{elbow}}\), J\({}_{\text{trunk}}\));
* SET\({}_{7}\) contained both energy and jerk data derived from upper body and load (LEC\({}_{\text{k\_Upp+L}}\), LEC\({}_{\text{p\_Upp+L}}\), LEC\({}_{\text{M\_Upp+L}}\), J\({}_{\text{elbow}}\) and J\({}_{\text{trunk}}\));
* SET\({}_{8}\) contained all energy and jerk data (all extracted features).  
In terms of network architecture, we tested nine different network architectures defined by the combination of number of HL and number of N in each layer. Particularly, we tested ANNs with one, two or three HL and different number of neurons in each HL: N was set to 12, 20 and 50 for the first HL (N\({}_{\text{HL1}}\)) and, in the other HL, if defined, was N/2 for the second (N\({}_{\text{HL2}}\)) and N/3 (N\({}_{\text{HL3}}\)) for the third [30].  
A Levenberg-Marquardt back-propagation algorithm [37] was used to train the ANNs; the stopping criterion was defined as the occurrence of at least one of the following conditions: number of iterations = 1000, number of consecutive fails on the validation set = 6, mean square error \(<\)10\({}^{-6}\)[25].  
We trained a total of 720 ANNs (10 times \(\times\) 9 network topologies \(\times\) 8 training sets) using for each training a random of 80% samples as the training test and 20% as the testing set. A confusion matrix 3 \(\times\) 3 was calculated for each ANNs considering the actual LI and the one estimated by the ANN on the randomly extracted testing set. Then, the mean confusion matrix was obtained for each network topology and each SET and a performance parameter (P) was calculated as the mean (%) of the elements on the diagonal of these confusion matrices, where 100% indicates the absence of misclassifications [30].