## 4 Experiment Results and Analysis
### Localization Performance of MVF  
We apply the popular deep learning platform Keras in Python to build CNN location classification model. We select Adam as the optimization function and the initial learning rate is 0.0001. The training epoch and batch size are set as 200 and 50. Cross-entropy is selected as the loss function. The parameter \(K\) in the weighted probability centroid method is set to 5. In order to explore the rationality of MVF, we tested CNN and several other commonly used machine learning and deep learning methods.  
We apply the popular machine learning platform Sklearn in Python to build KNN and MLP model. The number of nearest neighbors in KNN is set to 5 by default in sklearn module. The weights of neighbors are the same and Euclidean is selected as the distance measurement method. For MLP, the number of hidden layers and the number of neurons in each layer are both 16. The activation function is ReLUs. The optimization function is Adam and the initial learning rate is 0.001. The training epoch and batch size are both set as 200 by default.  
The data set used by the three algorithms are the same. The input of CNN is an image, so the data set is converted into 16 readings as a training sample. KNN and MLP still employ 1 reading as a training sample. Figure 6 shows the positioning error of KNN, MLP and CNN with and without MVF in Room A, respectively. Figure 7 shows the positioning error of KNN, MLP and CNN with and without MVF in Room B respectively. In the case without using MVF, we only use RSRP measurements to construct the fingerprints.  
Figure 6: The positioning error of KNN, MLP and CNN with and without MVF in Room A: (**a**) KNN, (**b**) MLP. (**c**) CNN.  
Figure 7: The positioning error of KNN, MLP and CNN with and without MVF in Room B: (**a**) KNN, (**b**) MLP. (**c**) CNN.  
As show in Figures 6 and 7, in both room A and room B, the positioning error of the three localization algorithms is reduced when the MVF is used.  
The positioning error of KNN, MLP and CNN with or without MVF in room A are shown in Table 1.  
In room A, it is seen from the Table 1 that the average positioning error of KNN, MLP and CNN without MVF are 3.00 m, 2.28 m and 2.54 m respectively. The average positioning error of KNN, MLP and CNN with MVF are 2.10 m, 1.66 m and 1.62 m respectively. The average positioning accuracy of KNN, MLP and CNN has been improved by 30.00%, 27.19% and 36.22% respectively. The positioning error of KNN, MLP and CNN with MVF are less than 3.21 m, 2.41 m and 2.26 m for 80% test samples respectively. The positioning accuracy of CNN is 29.59% and 6.22% higher than that of KNN and MLP respectively.  
The positioning error of KNN, MLP and CNN with or without MVF in room B are shown in Table 2.  
In room B, it is seen from the Table 2 that the average positioning error of KNN, MLP and CNN without MVF are 2.25 m, 1.85 m and 2.62 m, respectively. The average positioning error of KNN, MLP and CNN with MVF are 1.87 m, 1.58 m and 1.41 m respectively. The average positioning accuracy of KNN, MLP and CNN has been improved by 16.89%, 14.59% and 46.18% respectively. The positioning error of KNN, MLP and CNN with MVF are less than 2.98 m, 2.17 m and 1.96 m for 80% test samples respectively. The positioning accuracy of CNN is 34.23% and 9.68% higher than that of KNN and MLP, respectively.  
The results show that the CNN model has better performance in data feature extraction and classification than KNN and MLP.