knowledge about a user’s geoplace based on the
places his or her associated device is observed.
Recognizing User-Centered Places
We wish to determine a user’s place at any given time
using data captured from her smartphone: location,
sensor readings, wifi, bluetooth scannings, and
phone settings. We have addressed the problem
using a semisupervised expectation maximization
algorithm as well as standard machine-learning classifiers. In the former, we determine place based on
unaligned historical sensor data and user labels. The
focus is on place as a set of positions and we are able
to recognize disjoint spatial regions as a single place.
In the latter, contextual information is also taken
into account. We recognize place and activity at different levels of granularity. Further, we are able to recognize the same spatial region as more than one
We developed (Hang, Murukannaiah, and Singh
2013) a semisupervised expectation-maximization
(EM) algorithm to recognize user-centered places.
Our approach recognizes subjective places; does not
require manual tuning of place radius and duration;
and employs infrequent sensor readings from multiple sources. Each user is required to label places of his
or her interest (at least once for each place). Given a
user’s place labels and historical sensor data from
multiple sources, our algorithm operates as follows:
Build a data set consisting of a data instance for each
sensor reading and user label. Further, consider a training set as a subset of the above data set, consisting of
instances corresponding to place labels only.
Assign features to training instances. For each sensor
type, add three features — a sensor reading at the time
of labeling one immediately before and one immediately after.
Assign a place label to each unlabeled instance. For
each unlabeled instance, find the similarity of the
instance to each labeled instance and assign the label
corresponding to the most similar instance.
Remove incorrect labels by establishing a similarity
boundary for each place and iteratively shrinking it
(using EM) until instances assigned to each place are
sufficiently similar to each other.
We evaluated our approach in a study of six users.
Each carried an Android phone installed with a data-collection program for at least three weeks. The program recorded the sensor data (including GPS, Wi-Fi,
and Bluetooth) and prompted users to label places at
random intervals. We compared our approach with
two stay-point approaches (Hariharan and Toyama
2004; Zheng et al. 2012). Platys cannot be directly
compared with a stay-point approach since the latter
only recognizes whether a user is in some stay point
or not (not the specific stay point as there are no
labels). To enable a fair comparison, we implemented
two versions of Platys: ( 1) Place-or-not, which only
recognizes whether a user is in one of the labeled
places or not, and ( 2) Which-place, which recognizes
the specific place. Figure 4 shows the comparison.
Our main findings are as follows. First, Platys (
Place-or-not) performs better than both stay-point
approaches used for comparison. Importantly, the F-measures for Platys, unlike those of stay-point
approaches, are straight lines since they do not
depend on place radius and duration. Second, stay-point approach with optimal place parameter values
may perform better than Platys for some users. However, as shown, optimal place parameter values vary
Figure 3. Property Chain Axioms Asserting Facts About a User’s Location.
(a) Device is observed at the place whose position it maps to. (b) User’s location is the place where his or her associated device is observed.
(c) Generalization of user location based on spatial containment (part of ).
e c alP :sytalp e c alP :sytalp e c alP :sytalp e c alP :sytalp n oitis o P :sytalp
owns location location location
part of observed_at maps to
)c( ) b ( )a(