# Modeling of Tunneling Total Loads Based on Symbolic Regression Algorithm
## 2 Modeling Method Based on Symbolic Regression Algorithm
As the modeling of tunneling loads is a multi-parameter engineering problem, constructing \(\pi\) quantities based on dimensional analysis can achieve some dimension reduction effect, but the efficiency of the symbolic regression solution still needs to be improved. Figure 1: Modeling process. Therefore, it is necessary to eliminate unnecessary input parameters before model training. This paper presents a feature selection algorithm based on the random forest nonlinear model. The random forest method is an integrated algorithm based on decision trees [24] and can be used to evaluate the importance of each parameter for feature selection. The basic idea is illustrated in Figure 2. First, \(n\) samples are randomly extracted from the original dataset to generate \(n\) training sets. Based on these training sets, \(n\) decision tree models are then obtained. In each decision tree model, the parameters and samples are divided according to the Gini coefficient, so that each tree is constantly divided into different branches. Eventually, all the trees come together to form a random forest. When selecting the feature parameters based on the random forest model, the Gini coefficients are the calculation indices that determine the importance of each feature. In the regression decision tree, the Gini coefficient (GINI) of each node is actually the sample variance, as shown in Equation (1). Finally, the Gini index of each feature quantity in \(n\) trees is summarized and calculated to obtain the variable importance measure (VIM), so as to realize feature selection. Therefore, the feature selection method based on the random forest model has good applicability to nonlinear regression models. \[\text{GINI}= \frac{1}{n}\sum_{i=1}^{n}\left(y_{i}-\overline{y}\right)^{2} \tag{1}\]  
To output explicit load models that can describe the physical relationship between the parameters, a training model based on symbolic regression is proposed. After feature selection, the symbolic regression algorithm is applied to train the models. This is a nonlinear regression algorithm that automatically discovers rules and knowledge based on the data, without any prior assumptions about the functional form of the training model. Some fitness value (usually the mean absolute error) is taken as the optimization goal, and the optimal solution is discovered using a genetic algorithm [29]. Genetic algorithms are intelligent optimization algorithms that search for the optimal solution by simulating the natural evolution process [30]. Their basic operation process is shown in Figure 3. First, the population is initialized. The initialization settings include the number of individuals M, the number of superior individuals in each generation, and the maximum number of evolution generations GEN. At this time, the system will randomly generate M initial individuals, and then apply selection, crossover, and mutation operations based on the fitness of different individuals, to form the next-generation population. Successive generations continue to circulate and evolve until the maximum number of evolution generations is reached. Finally, the individual with the maximum fitness value is output as the optimal solution [31]. Compared with traditional optimization algorithms, which begin  
Figure 2: Basic concept of the random forest algorithm. the iteration process from a single solution, the genetic algorithm starts searching from a series of randomly generated solutions, which increases the coverage of the search and reduces the risk of becoming trapped around a local optimal solution [31; 32; 33]. However, a single application of the genetic algorithm cannot fully represent the constraints of the optimization problem. In the symbolic regression algorithm, these constraints are reflected in the operation symbol and the complexity of the function solution, which are set by two parameters: _\"function\"_ (operation symbol) and _\"parsimony_coefficient\"_ (model simplicity coefficient). Both of these settings directly affect the model morphology.