## 3 ANN Drag Model and Training Strategy
### The Optimal Contribution Rate Algorithm (OCRA)
#### 3.2.2 Adaptive Searching of Optimal Contribution Rate  
In the previous section, we have introduced the concept of the contribution rate of the training samples. To effectively improve the training efficiency in the certain error tolerance, it needs to analyze the training sample set and use the most valuable information to train the ANN. Meanwhile, some samples with a low contribution rate need to be excluded from the training. In view of these, an adaptive searching method of the optimal contribution rate for the training dataset needs to be designed; it is hoped to maximize the computational efficiency of the ANN within the given error tolerance of the system.  
To establish the adaptive searching algorithm of the optimal contribution rate in the training dataset, the basic idea of the bisection algorithm for solving nonlinear equations is employed. The algorithm can be divided into four steps:  
(I) First, set the error tolerance of the system as:  
\[(0,K\cdot E_{MSE,total})\]  
Since the mean square error (MSE) has the approximate growing trend with the mean absolute error (MAE) and mean relative error (MRE) in the data fitting, and can better demonstrate the degree of errors dispersion of the predicted results, the MSE is adopted as the standard of error. \(K\) denotes the coefficient of error, and \(E_{MSE,total}\), \(E_{MAE,total}\), and \(E_{MRE,total}\) denote the MSE, MAE, and MRE of the system [57], respectively. Their mathematical expressions are given as follows:  
\[E_{MSE}=\frac{1}{n}\sum\limits_{i=1}^{n}{(y_{i}-\hat{y}_{i})^{2}}, \tag{22}\]  
\[E_{MAE}=\frac{1}{n}\sum\limits_{i=1}^{n}{|y_{i}-\hat{y}_{i}|}, \tag{23}\]  
\[E_{MRE}=\frac{1}{n}\sum\limits_{i=1}^{n}{\left|\frac{y_{i}-\hat{y}_{i}}{y_{i} }\right|}, \tag{24}\](II) The contribution rate interval [0, 100] is divided into 2 equivalent intervals: [0, 50] and [50, 100]. If the \(E_{MSE}\) at the midpoint 50 meets the given error tolerance \((0,K\cdot E_{MSE,total})\), the left interval [0, 50] will be selected; otherwise, the right interval [50, 100] will be selected.  
(III) It will determine whether the difference between the right end of the interval and the left end of the interval meets the accuracy of the solution. If the accuracy of the solution is met, go to step (IV); otherwise, it will return to step (II) to divide the interval again until the accuracy of the solution is met.  
(IV) Output the midpoint of the interval that meets the accuracy.  
In Figure 3, \(I_{low}\) denotes the left end of the contribution rate interval, \(I_{high}\) denotes the right end of the contribution rate interval, \(I_{mid}\) denotes the midpoint of the contribution rate interval, \(K\) denotes the coefficient of error, \(E_{MSE,total}\) denotes the MSE of the system, and \(E_{MSE,mid}\) denotes the MSE of the midpoint in the contribution rate interval. One of the main advantages of the OCRA is the adaptability. This algorithm can identify the training sample set with the optimal contribution rate, where the given error tolerance of the system is met automatically.  
Figure 3: Adaptive searching process of optimal contribution rate.  
The verification that the system can identify the optimal contribution sample set automatically via the above-mentioned four steps will be demonstrated in the next section.