## 2 Materials and Methods
### Data Modeling  
#### 2.2.1 Modeling with Artificial Neural Network  
The obtained data set was randomly divided in two subsets. One subset was used to train and test the neural networks that were designed to predict the thrust force (Y\({}_{1}\)) and drilling torque (Y\({}_{2}\)) based on drill tip angle (X\({}_{1}\)), tooth bite (X\({}_{2}\)), and drill type (X\({}_{3}\)). The sample size for this subset was 107 in the case of flat drill and 112 in the case of helical drill. The other subsets were used to validate the developed models. In the case of flat drill, the sample size was equal to 15 and in the case of helical drill, the sample size was equal to 17. The main descriptive statistics of both subsets are presented in Table 1. One could observe that both subsets are roughly the same from the point of view of analyzed statistical indicators. The ANN models were developed by involving the Neural Ware Predict Software (Predict), NeuralWare Inc., Carnegie, 239, PA, USA [20]. This software integrates all the facilities needed to apply neural modeling techniques, namely, data analysis, variable transformation, and reveal the network architecture. Predict is built based on cascade correlation learning algorithm. This algorithm starts with a minimum architecture of the multi-layer perceptron (MLP), which is one of the most popular architectures, and new hidden units are added step by step till the optimum configuration of MLP is achieved. The main structure of MLP architecture is depicted in Figure 4.  
The MLP architecture is formed by a number of layers, namely, the input layer, the hidden layer, and the output layer. The input layer receives the input signals and transmits the signals to the hidden layer to be processed. The output layer shows the results of the network. An MLP architecture may contain one or more hidden layers in function to the complexity of the problem that is going to be addressed through ANN modeling technique. Each layer contains various number of neurons or processing elements, which are not connected in the same layer. The process of developing ANN models begins with training the neural network with a known input and output data set. During the training process, the values of weights and biases are adjusted till the best performance is obtained. The value of weights and biases are saved and could be used to predict outputs with new input values, if the designed neural networks performed well during the testing phase [21]. According to [PERSON] [22], the job of one neuron is to receive signals (\(x_{i}\)) from the neurons that are located in the previous layer together with its corresponding weight factor (\(w_{ij}\)), to sum the weighted signals (\(net_{j}\)) and the bias of the layer (\(\theta_{j}\)) and to communicate the output (\(y_{j}\)) to the next layer. A mathematical (transfer) function (\(f\) (.)) is applied to compute the output value (Equations (3) and (4)). \[net_{j}=\sum_{i=1}^{n}x_{i}w_{ij}-\theta_{j} \tag{3}\]  
\[y_{j}=f\big{(}net_{j}\big{)} \tag{4}\]  
Figure 4: The multi-layer perceptron architecture. The number of neurons in the input layers is equal to the number of inputs of the network. The number of processing elements or neurons in the hidden layer is typically found by applying the trial-error approach or various optimization algorithms. The number of neurons in the output layers is equal to the number of desired outputs. \[Y_{j}=W_{0}+\sum_{j=1}^{n}x_{i}w_{ij} \tag{5}\]  
Since most of the default settings of Predict are useful in solving useful problems, these settings, also, were applied in this work [20]. The models were designed to have a hyperbolic-tangent transfer function in the hidden layer and a sigmoid transfer function in the output layer. The adaptive gradient learning rule and a learning rate equal to 0.01 was used in this study. The adaptive gradient learning is based on back-propagation technique designed to train the MLP network.