## 3 Experiments and Settings
### Training the Network  
From the data construction, it can be seen that there are five input features, so the input layer has five nodes. Moreover, there are eight categories of GM network performance; therefore, the output layer has eight nodes. We initialized the parameters (weights, biases) of the BP network. Through forward propagation calculation, that is, iterative calculation from the input layer to the output layer, then predict the type of network performance and compare whether the prediction is correct (calculate the deviation between the predicted  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Simulation Parameter** & **Value** \\ \hline Transmitter range & 150 m–290 m \\ Bandwidth & 2 Mbps \\ Simulation time & 500 s \\ Number of nodes & 40 \\ Speed & 0 m/s–140 m/s \\ Environment size & 1000 m \(\times\) 1000 m \\ Traffic type & constant bit rate \\ Packet rate & 4 packets/s \\ Packet size & 64 bytes \\ Number of flows & 10 \\ Propagation model & Friis loss model \\ Transmit power & 7.5 dBm \\ \hline \hline \end{tabular}
\end{table}
Table 2: Simulation parameter settings.  
Figure 5: Packet delivery ratios of three mobility models under AODV routing protocol.  
value and the true value through the loss function, the smaller the deviation, the closer the classification is to the truth; finally select the optimal parameter and save the neural network model).  
There are h (h = 3) hidden layers, and according to the forward propagation order, the number of nodes in each hidden layer is denoted as \(m_{1},m_{2},\cdots,m_{h}\); the outputs of each hidden layer are \(y^{1},y^{2},\cdots,y^{h}\); and the weight matrices of each layer are denoted as \(w^{1},w^{2},\cdots,w^{h},w^{h+1}\). The neural network framework is built based on PyTorch, and the above neural network is implemented and trained on a CPU (AMD Ryzen 5600H with Radeon Graphics 3.30 GHz). The following Algorithm 1 is the detailed process:  
```
1. Initialization of neural network: random initialize weights and bias; set batch size = 32 and learning rate = 0.004.
2. Input sample data with five features, \(x=\left(x_{1},x_{2},\cdots,x_{n}\right)^{T},n=5\), and calculate the output for each layer, \(y_{j}=f\left(V_{j}^{T}X\right)j=1,2,\cdots,m\)\(\mathcal{O}_{k}=f\left(w_{j}^{T}Y\right)k=1,2,\cdots,l\).
3. Calculate loss: \(E=\frac{1}{2}\sum\limits_{p=1}^{p}\sum\limits_{k=1}^{l}\left(d_{k}^{p}-O_{k}^{ p}\right)^{2}\).
4. Calculate loss signals for each layer: \[\delta_{k}^{o}=\left(d_{k}-\mathcal{O}_{k}\right)\left(1-\mathcal{O}_{k} \right)\mathcal{O}_{k}\,k=1,2,\cdots,l\quad\delta_{j}^{o}=\left(\sum\limits_{ k=1}^{l}\delta_{k}^{o}\omega_{jk}\right)\left(1-y_{j}\right)y_{j}\,j=1,2,\cdots,m.\]
5. Adjusting the weight values of each layer: \(\omega_{jk}\Leftarrow\omega_{jk}+n\delta_{k}^{o}y_{j}\)\((k=1,2,\cdots,l;j=0,1,\cdots,m)\)\(v_{ij}\Leftarrow v_{ij}+n\delta_{j}^{o}x_{i}\)\((j=1,2,\cdots,m;x=0,1,\cdots,n)\).
6. At the end of the iteration, save the optimal neural network parameters; otherwise, continue with Step 2.
7. End.
```  
**Algorithm 1** The proposed BPNN-based algorithm for the mobility model and network performance evaluation method.