Brief introducton:
- try to use collected wifi fingerprint to train a rough neural network to roughly predict the location of a mobile device
- using the accelerometer and the magnetometer data to enhence the time consistency of the location prediction(trajectory continuity)
Current progress:
- collected data insite, and get the ouput files from the prebuilt android mobile app(more information available: https://github.com/vradu10/LSR_DataCollection.git).
- preprocessed the data file, and converted them into standard inputs and outputs that the neural nets required.
- constructed 2 simple neural nets(classification, regression) to predict the location from wifi fingerprint
- implemented autoencoder layerwise to pretrain the neural nets(make use of the large amount of unlabeled wifi data collected previously)
- compare different network strcuctures([32,64,16] and [200,200,200]). Meantime, see how dropout layer and autoencoder pretrained weights(parameters) helps the prediction process.
- get the transition probability matrix, and the median wr 'matrix'(each element in this two matrices indicate transition between two grid[start_grid -> row, end_grid -> column]).
Current results visualization:
The following plots is the "error in meters cdf" of different models. More detailed plots(such as error line plot, training curve plot .etc) can be found in results(*) directory. Note: C indicates classification models, while R indicates regression models.
simple vs dropout:
simple vs autoencoder:
autoencoder vs autoencoder+dropout:
To be continue:
- implement the Hidden Markov Model to enforce time consistency(2 adjacent timestep's location do not differ too much -> tragectory continuity), also think about a way to integrate the accelerometer and magnetometer data to the inputs.