# Research on Prediction of TBM Performance of Deep-Buried Tunnel Based on Machine Learning
## 3 Prediction Model of TBM Penetration Rate Based on Machine Learning
### Prediction Model of TBM Penetration Rate Based on BP Neural Network  
#### 3.2.1 Principle of Back Propagation Neural Network Algorithm  
The back propagation neural network (BPNN) was proposed by [PERSON] et al. [17] in 1986. It is a neural network that continuously modifies the connection weights between various neurons through the training method of error back propagation. The neuron model is shown in Figure 4. \(f(x)\) is called the activation function, which enables the neural network to deal with nonlinear problems. \(s_{\mathrm{i}}\) is the input from the previous neuron, \(w_{\mathrm{ij}}\) is the connection weight between the two neurons and \(\theta_{\mathrm{j}}\) is the threshold of the neuron. If \(Y_{\mathrm{j}}\) is the output value of \(s_{\mathrm{i}}\) after passing through a neuron, the output signal \(Y_{\mathrm{j}}\) of the jth neuron can be calculated by Equation (5). \[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]  
The structure of the back propagation neural network is obtained by extending a single neuron, as shown in Figure 5. It includes three layers, namely the input layer, hidden layer and output layer. For a training sample \((x,y)\in R^{\mathrm{d}}\times R^{\mathrm{l}}\), the corresponding output vector is \(\hat{g}=(\hat{g}_{1},\hat{g}_{2}\dots,\hat{g}_{n})\). After each neuron connection calculation, the loss function on the output node can be expressed by the three most common loss functions: mean square error, mean absolute percentage error and mean absolute error. The specific expressions are in Equations (6)-(8). Figure 4: Neuron model. Figure 3: Comparison of predicted and measured value of penetration rate. \[\text{MSE}=\frac{1}{n}\sum_{j=1}^{n}\left(y_{\text{j}}-\hat{y}_{\text{j}}\right)^{2} \tag{6}\]  
\[\text{MAPE}=\frac{100\%}{n}\sum_{j=1}^{n}\left|\frac{y_{\text{j}}-\hat{y}_{ \text{j}}}{y_{\text{j}}}\right| \tag{7}\]  
\[\text{MAE}=\frac{1}{n}\sum_{j=1}^{n}\left|y_{\text{j}}-\hat{y}_{\text{j}}\right| \tag{8}\]  
The essence of the back propagation neural network algorithm is gradient descent. When training the neural network, the iterative update formula of any parameter is:  
\[w_{new}=w_{old}+\Delta w \tag{9}\]  
The iterative process of the weight \(w_{\text{ij}}\) from the hidden layer to the output layer is shown in Equations (10)-(16):  
\[\Delta w_{\text{ij}}=-\eta\frac{\partial E}{\partial w_{\text{ij}}} \tag{10}\]  
According to the chain derivation rule:  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]0  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]1  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]2  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]3  
Therefore, after error back propagation, the change of the neuron connection weight \(w_{\text{ij}}\) is:  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]4  
Similarly, the change of the neuron connection threshold is expressed by Formula (16):  
\[Y_{\mathrm{j}}=f\big{(}\sum w_{\mathrm{ij}}s_{\mathrm{i}}-\theta_{\mathrm{i}} \big{)} \tag{5}\]5  
At this time, the error is propagated back to the hidden layer. Similarly, the connection weight \(w_{\text{ij}}\) and the connection threshold from the hidden layer to the input layer can be calculated \(\theta_{\text{j0}}\) It can be seen from the algorithm principle of the BPNN model that BPNN can learn and store a large number of input-output mode mapping relationships without knowing the mathematical expression of this mapping relationship in advance. Its learning rule is to use the steepest descent method to continuously correct the weight \(w_{\text{ij}}\) and threshold between each neuron through back propagation error \(\theta_{\text{j}}\).