1. A computer-implemented method for training a pattern recognition system for determining a location of a user device, comprising the steps of: traversing one or more regions with a device configured to communicate with one or more transmitting devices; scanning one or more radio frequencies for one or more visible transmitting devices within a region among the one or more regions; receiving a signal strength pattern and identifiers for the one or more visible transmitting devices within the region; querying a database containing location points for a plurality of visible transmitting devices by using the identifiers; performing a weighted average analysis of those location points for each identifier to determine an average of those location points for each identifier of each visible transmitting device having location points within the database, resulting in a set of weighted averages, wherein a weight assigned to each location point is based on the signal strength for the visible transmitting device corresponding to that location point; mapping the signal strength pattern and the set of weighted averages to the region to create a learning example for the pattern recognition system; repeating the steps of scanning, receiving, querying, weighted averaging, and mapping to create a plurality of learning examples; training the pattern recognition system using the plurality of learning examples; and training additional pattern recognition systems using the plurality of learning examples.