0

I am currently working on an indoor navigation system using a Zigbee WSN in star topology.

I currently have signal strength data for 60 positions in an area of 15m by 10 approximately. I want to use ANN to help predict the coordinates for other positions. After going through a number of threads, I realized that normalizing the data would give me better results.

I tried that and re-trained my network a few times. I managed to get the goal parameter in the nntool of MATLAB to the value .000745, but still after I give a training sample as a test input, and then scaling it back, it is giving a value way-off.

A value of .000745 means that my data has been very closely fit, right? If yes, why this anomaly? I am dividing and multiplying by the maximum value to normalize and scale the value back respectively.

Can someone please explain me where I might be going wrong? Am I using the wrong training parameters? (I am using TRAINRP, 4 layers with 15 neurons in each layer and giving a goal of 1e-8, gradient of 1e-6 and 100000 epochs)

Should I consider methods other than ANN for this purpose?

Please help.

appster
  • 11
  • 5

2 Answers2

0

For spatial data you can always use Gaussian Process Regression. With a proper kernel you can predict pretty well and GP regression is a pretty simple thing to do (just matrix inversion and matrix vector multiplication) You don't have much data so exact GP regression can be easily done. For a nice source on GP Regression check this.

jkt
  • 2,538
  • 3
  • 26
  • 28
0

What did you scale? Inputs or outputs? Did scale input+output for your trainingset and only the output while testing?

What kind of error measure do you use? I assume your "goal parameter" is an error measure. Is it SSE (sum of squared errors) or MSE (mean squared errors)? 0.000745 seems to be very small and usually you should have almost no error on your training data.

Your ANN architecture might be too deep with too few hidden units for an initial test. Try different architectures like 40-20 hidden units, 60 HU, 30-20-10 HU, ...

You should generate a test set to verify your ANN's generalization. Otherwise overfitting might be a problem.

alfa
  • 3,058
  • 3
  • 25
  • 36
  • Thank you alfa for your reply. I had scaled the inputs - turns out that I needed to train with the new inputs with the same parameters. The MSE was higher than 0.000745 but the performance was more satisfactory. – appster Oct 03 '12 at 04:28