## 3 Model Development
### AdaBoost and XGBoost Algorithms  
In the integrated learning technique of boosting [66], several poor classifiers are merged to enhance the performance of the classifier as a whole. This ensemble approach generally results in a model with higher accuracy compared to its constituents while also being effective in mitigating overfitting. The fundamental principle of boosting involves assigning weights to misclassified samples, ensuring they receive greater attention during subsequent training rounds. Consequently, these weak classifiers are trained iteratively and combined to form a robust ensemble. (1) AdaBoost  
As one of the most well-known boosting algorithms, AdaBoost is an iterative technique that weights a dataset by the classification outcomes from the previous round to improve the classifier fit [67]. By assigning weights to the training samples, the classification accuracy can be improved by focusing on the difficult samples. AdaBoost not only excels at multiclass classification issues but also can ensure the stability of the classifier weights by adjusting the classifier weights according to the classification error rate during the training process. The flow chart of AdaBoost is shown in Figure 9, and the details are elaborated as follows. Figure 9: Flow chart of AdaBoost. Initial weight distribution:  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]  
Error:  
\[e_{t}=P(H_{t}(x_{i})\
eq y_{i})=\sum_{i=1}^{N}w_{ti}I(H_{t}(x_{i})\
eq y_{i}) \tag{6}\]  
Weak classifier weight:  
\[\alpha_{t}=\frac{1}{2}\ln\left(\frac{1-e_{t}}{e_{t}}\right) \tag{7}\]  
Weight distribution of the training samples:  
\[D_{t+1}=\frac{D_{t}(i)\exp(-\alpha_{t}y_{i}H_{t}(x_{i}))}{Z_{t}} \tag{8}\]  
\[Z_{t}=2\sqrt{e_{t}(1-e_{t})} \tag{9}\]  
Combining the weak classifiers:  
\[f(x)=\sum_{t=1}^{T}\alpha_{t}H_{t}(x_{i}) \tag{10}\]  
Strong classifier:  
\[H_{\text{final}}=sign(f(x))=sign\left(\sum_{t=1}^{T}\alpha_{t}H_{t}(x_{i})\right) \tag{11}\]  
where \(D_{t}(i)\) is the weight distribution of the training sample set, \(\omega_{i}\) is the weight of each training sample, \(h\) is a weak classifier, \(H\) is the basic classifier, \(H_{final}\) is the final strong classifier, \(e_{t}\) is the error rate, and \(\alpha_{t}\) is the weight of the weak classifier. When the sample is divided incorrectly, it is expressed as follows:  
\[y_{i}H_{t}(x_{i})=-1 \tag{12}\]  
\[D_{t+1}(i)=\frac{D_{t}(i)}{2e_{t}} \tag{13}\]  
When the sample is split into pairs, it is expressed as follows:  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]0  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]1  
(2) XGBoost  
An integrated tree model named XGBoost was proposed by [PERSON] et al. [67], using an improved gradient boosting algorithm with a second-order Taylor expansion of the loss function. It enables convex optimization and has the benefits of quick training and high prediction accuracy. The structure of the XGBoost algorithm is shown in Figure 10, where different colored bullets represent the data for different rockburst labels. The details are elaborated as follows. If the objective function is  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]2  
And among them is  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]3  
then  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]4  
The optimal solution of the objective function is found as follows:  
\[D_{t}(i)=\left(\omega_{n}^{(1)},\omega_{n}^{(2)},\cdots,\omega_{n}^{(t)}\right) \tag{5}\]5  
where \(l\) represents the loss function and \(L\) is the model's prediction in round \(t\). The equation mentioned can serve as a metric to assess the score of each leaf node within a decision tree.