Significant, ormeaningful, locations form the backbone of many geospatial ser- vices as they identify locations that have some meaning to the user. These applications include predicting future visits to locations [Ashbrook and Starner, 2002, 2003; Fukano et al., 2013; Wang and Prabhala, 2012], predicting how long a user will stay at a given location [Liu et al., 2013], as well as labelling loca- tions with their likely meaning [Krumm and Rouhana, 2013]. Literature has also considered the problem of predicting locations in which people will meet [Yu et al., 2015b], and providing recommendations of places to visit to users
2. Background and Related Work
new to a city based on the locations visited by others [Bao et al., 2015; Zheng and Xie, 2010].
2.3.1
Extracting Locations
Section 2.2.3 discusses methods of identifying visits from geospatial trajecto- ries, resulting in a sequence of such visits that each represents a period of time in which a user remained in one place. The majority of existing work in ex- tracting significant locations makes use of these identified visits by clustering them together to determine visits that belong to the same location. This results in a sequence of visits to locations, where unlike sets of trajectories or visits, repeated visits to the same location, l(i), are possible, for example:
l(1)!l(2)!l(1)!l(3)!l(4)!l(2)!... (2.2)
Grouping visits into locations has been performed using unsupervised learn- ing techniques such as clustering. Such algorithms are categorised into two main types: Hierarchical and partitional. The aim of a hierarchical algorithm is to create a tree-like structure of clusters with a single root cluster and di↵er- ent scales of sub-cluster below. Partitional algorithms, in contrast, cluster the entire dataset into discrete partitions at a single scale.
These types are further broken down into two categories of algorithms: ag- glomerative anddivisive. Agglomerative algorithms start with each point as a singleton cluster and continually perform rounds of merging until a termination condition is met (bottom-up clustering). Divisive clustering, on the other hand, starts with a single cluster containing all points and repeatedly splits the clus- ters until some termination criterion is met (top-down clustering) [Jain et al., 1999].
K-means are a family of iterative relocation algorithms that perform ex- pectation maximisation to split the dataset into k clusters [MacQueen, 1967]. The algorithms start with a random initial assignment of points to clusters
2. Background and Related Work
and continually make changes until the associated error ceases to change sig- nificantly [Jain et al., 1999]. There are many di↵erent algorithms that use the K-means approach, with MacQueen’s [1967] algorithm being the most widely used. K-means is di↵erentiated from K-medoid algorithms in that the clusters are described by their centre, while in K-medoid the clusters are described by an existing point in the dataset that is as close as possible to the centre [Kaufman and Rousseeuw, 1987]. This technique has been used for clustering visits into locations in [Ashbrook and Starner, 2002; MacQueen, 1967]. However k-means requires a value for k, the number of clusters, to be known a priori, which is typically not the case. Ashbrook and Starner [2003] provided a technique for selecting a value forkby performing clustering for several values and observing the results of plotting the number of clusters extracted on a graph.
Without needing the number of clusters to be known a priori, Density-Based Spatial Clustering of Applications with Noise (DBSCAN) [Ester et al., 1996], a density-based clustering algorithm that determines clusters according to param- eters, has also been shown to be e↵ective for visit clustering [Andrienko et al., 2013; Montoliu and Gatica-Perez, 2010]. DBSCAN does not, however, apply a maximum cluster size, instead allowing arbitrarily large clusters providing that a sufficient density of visits exists.
Hierarchical algorithms such as CLARANS [Han, 2002] are also used for unsupervised learning problems such as this, where some similarity cuto↵ is typically used to select a level of cluster for a specific application. CLARANS is based on K-medoid, and builds upon PAM and CLARA [Kaufman and Rousseeuw, 1987]. Another such hierarchical clustering algorithm is BIRCH [Zhang et al., 1997]. BIRCH is designed to run on large datasets with limited memory available, where not all data is available at the start. It operates by creating a new data structure, a CF-Tree, and summarising clusters by their centroid, radius and diameter, updating leaf nodes as new points are brought into the system.
2. Background and Related Work
proposed by Zheng et al. [2010b]. This algorithm works by overlaying a grid on extracted visits, where the length of each square is a user-specified param- eter. Squares containing more visits than a threshold are merged with all of their neighbours that have not already been assigned to a location, under the constraint of the maximum location size being defined as 3⇥3 squares. The clustering stops once no unassigned square exists with greater than the thresh- old number of visits. While this approach constrains the maximum location size, unlike DBSCAN, the shapes of the locations extracted are more regular, and therefore may not represent the shapes of the real-world locations as accurately. Although having a slightly di↵erent aim, namely that of grouping activities that occur at the same place and at similar times of day, Bamis and Savvides propose a clustering algorithm, STA Agglomerator, that clusters based on both time and location [Bamis and Savvides, 2010]. The STA Agglomerator operates by summarising visits as their 3-dimensional bounding box (along the latitude, longitude and time dimensions) and progressively merging visits into clusters based on a similarity function, with weightings given to longitude, latitude and time. With a weighting to the time dimension of zero, this has the e↵ect of performing visit clustering. However, the algorithm has both space and time complexities ofO(n2), far exceeding those of both k-means and DBSCAN.
Location extraction as a topic is revisited in Chapter 4, where locations are clustered using DBSCAN from visits extraction using both existing and new approaches.
Alternative Approaches
In contrast to the approach of splitting a temporally ordered dataset into visits, there are methods of extracting visits and locations using a single algorithm. Lit- erature that uses a single technique has focused on using existing and modified clustering algorithms to identify dense groups of points without first performing visit extraction [Guidotti et al., 2015; Zhou et al., 2014]. This has the draw- back of identifying dense groups of points that happen to be together through
2. Background and Related Work
chance (e.g. along a road travelled frequently but at which the user did not stop). While this may o↵er utility to certain applications, several applications of extracted locations are only interested in places where the individual spent time, for example, location prediction.
Considering both spatial and temporal proximity, ST-DBSCAN [Birant and Kut, 2007] and DJ-Cluster [Zhou et al., 2007] are density-based clustering algo- rithms that are designed to cater for spatio-temporal data by extracting clusters that are similar in both space and time. While they overcome the problem of performing only two-dimensional clustering directly to trajectories (that of ex- tracting dense groups of points without considering time), these approaches are more computationally intensive than performing visit extraction followed by clustering, as the number of visits is typically far lower than the number of tra- jectory points. Furthermore, only locations are identified and not visits through this technique, so it becomes harder to reason about behaviour.
2.3.2
Labelling and Recommending Locations
Once extracted, locations can be used as a basis for location-aware systems and services, but they can also be enriched with additional information and used, for example, to guide individuals around a city or other point of interest. To this end, research has been conducted into extracting locations from visits and using them to o↵er suggestions to new users who may be visiting an unfamiliar area, achieved by matching the interests of users based on the locations they have visited [Zheng et al., 2010a,b,c]. This idea has been extended by person- alising the recommendations even more towards the user, where the type of location a user wishes to visit next is predicted, and a recommendation that fits this category given [Zhao et al., 2015]. Research has also been conducted into automatic labelling of locations by treating the labels as a supervised learning problem, where a dataset is created with manually assigned labels, and classi- fiers used to label the remaining locations [Andrienko et al., 2011, 2013; Do and Gatica-Perez, 2013; Farrahi and Gatica-Perez, 2009]. Yan et al. [2013] extend
2. Background and Related Work
this by providing locations with annotations of semantic information extracted from a land usage dataset. In a related area, Gong et al. [2011] use locations to characterise user similarity based on how much time people spend at the same places and, under the assumption that users with similar preferences have similar movement patterns, use historical information from correlated users to predict where others are going to visit in the future.