Predicting non-linear ground movements Malcolm Bolton Cambridge University, UK.
Learning and Predicting User’s Movements for Intelligent...
Transcript of Learning and Predicting User’s Movements for Intelligent...
Learning and Predicting User’s
Movements for Intelligent
Location-based Services
Sang-Jun Han
The Graduate School
Yonsei University
Department of Computer Science
and Industrial Systems Engineering
Learning and Predicting User’s
Movements for Intelligent
Location-based Services
A Dissertation
Submitted to the Department of Computer Science
and Industrial Systems Engineering
and the Graduate School of Yonsei University
in partial fulfillment of the
requirements for the degree of
Master of Science
Sang-Jun Han
June 2004
This certifies that the master thesis of
Sang-Jun Han is approved.
Thesis Supervisor: Sung-Bae Cho
Yoon-chul Choy
Shin-Dug Kim
The Graduate School
Yonsei University
June 2004
CONTENTS
ABSTRACT vii
1 INTRODUCTION 1
1.1 Location-based Services . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Contribution of This Thesis . . . . . . . . . . . . . . . . . . . . . 4
2 BACKGROUND 5
2.1 Location-sensing Technologies . . . . . . . . . . . . . . . . . . . 5
2.2 Extracting High-level Context from Low-level Information . . . . 7
2.3 Link to Other Works . . . . . . . . . . . . . . . . . . . . . . . . 12
3 LEARNING AND PREDICTING USER’S MOVEMENT 14
3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Learning User’s Movements . . . . . . . . . . . . . . . . . . . . 15
3.2.1 Discovering Meaningful Movement Patterns . . . . . . . 17
3.2.2 Building Local Models . . . . . . . . . . . . . . . . . . . 22
3.3 Predicting Future Movement . . . . . . . . . . . . . . . . . . . . 24
3.3.1 Evaluating Current Movement . . . . . . . . . . . . . . . 25
3.3.2 Selecting the Closest Movement Pattern . . . . . . . . . . 25
4 APPLICATION 28
4.1 Device Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Finding Current Location . . . . . . . . . . . . . . . . . . 28
4.2.2 Assigning Services . . . . . . . . . . . . . . . . . . . . . 30
iii
4.2.3 Delivering Services . . . . . . . . . . . . . . . . . . . . . 31
5 EXPERIMENTS 34
5.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.2 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 CONCLUSION 41
BIBLIOGRAPHY 44
ABSTRACT (KOREAN) 49
iv
LIST OF FIGURES
1.1 A comparison of approaches to LBS . . . . . . . . . . . . . . . . 3
3.1 An overview of the proposed technique. . . . . . . . . . . . . . . 15
3.2 Procedure of learning movement patterns . . . . . . . . . . . . . 17
3.3 Input and output layer of SOM. . . . . . . . . . . . . . . . . . . . 18
3.4 An example of topological neighborhood and neighborhood func-
tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 RSOM training procedure. . . . . . . . . . . . . . . . . . . . . . 21
3.6 Combination of RSOM and Markov model. . . . . . . . . . . . . 23
3.7 Procedure of the movement prediction. . . . . . . . . . . . . . . . 24
3.8 Relationship among SOM clusters, local models, and services. . . 27
4.1 Handheld computer with a GPS sensor. . . . . . . . . . . . . . . 29
4.2 Current location screen . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 User interface for assigning services . . . . . . . . . . . . . . . . 30
4.4 Service delivery screen . . . . . . . . . . . . . . . . . . . . . . . 31
4.5 Available services . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1 Collected GPS data superimposed on campus map . . . . . . . . . 35
5.2 Labeled output units of RSOM . . . . . . . . . . . . . . . . . . . 37
5.3 Changes of the best matching nodes over time . . . . . . . . . . . 38
5.4 Changes of local model probabilities and significances . . . . . . 40
v
LIST OF TABLES
2.1 Researches on extracting high-level contexts . . . . . . . . . . . . 8
2.1 continued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1 User’s movements in GPS data . . . . . . . . . . . . . . . . . . . 36
5.2 Result of prediction experiments . . . . . . . . . . . . . . . . . . 39
vi
ABSTRACT
Learning and Predicting User’s Movements forIntelligent Location-based Services
Sang-Jun Han
Dept. of Computer Science and
Industrial Systems Engineering
The Graduate School
Yonsei University
Location-based services which is delivered according to user’s geographical
location are an important application of context-aware computing. For realiz-
ing location-based services, various location-sensing techniques and experimen-
tal/commercial services have been developed. However, in conventional location-
based services, the services are delivered simply depending on the current location
of user. They, thus, have a limitation in terms of flexibility and personalization.
For advanced location-based service, the researches on extracting high-level in-
formation from location data have been actively conducted. In this thesis, a novel
method of predicting user’s future movement by learning user’s location data and
a prototype location-based service application are proposed.
GPS is used for sensing user’s geographical location. RSOM which is special-
ized to process sequential data clusters the GPS data and finds meaningful moving
patterns automatically. Markov chain is used to build the model of each moving
pattern by learning clustered location data. The prediction of future movement is
done by comparing current movement with the models of movement pattern and
selecting most similar movement pattern.
vii
A prototype of location-aware application is also presented. It assists an uni-
versity student using predicted future movement. The learned moving patterns
are visualized and the user can assign desired services to each moving pattern.
RSOM’s topology preservation ability allows the user to select services easily
and intuitively. HP iPaq handheld computer which has built-in wireless LAN and
additional GPS receiver is used to implement this application.
For verifying the proposed method, real GPS data is collected on campus and
the clustering and predicting performance were evaluated. The result is acceptable
and it worked flexibly even in ambiguous situation.
Keywords: Location-based Services, Context-awareness, Self-organizing Map,
Markov Model
viii
1. INTRODUCTION
Recent advances in the concept and technology for mobile computing realized
high performance palm-top computers and high speed wireless communications.
These changes allowed people to access several computing resources anywhere
and anytime. Utilizing context information which is captured from sensors, user’s
personal information, device status is specially emphasized in mobile computing
application for following reasons.
First, human-computer interaction in mobile devices is more awkward than
that in conventional desk-top devices. Most of handheld-sized computers such
as personal digital assistants (PDA) and smartphones have small-sized display
panel and pen-based input interface. Context-awareness can be a good solution to
interaction problem of mobile device. For example, we can reduce the number of
interaction cycles needed to access desired information or select information to be
displayed user-adaptively using information about user’s preference and current
environment.
Second, the purpose of use of mobile device is highly dependent to his/her
environment, location, and time. Thus, context-awareness can be a key technique
to create a novel mobile services which are proactive and adaptive to current situ-
ation.
The notion of context includes many aspects such as physical location, user
identity, personal information, preferences, and time of day [20]. Among them,
location is very commonly used but a crucial component of context and there
was much effort to develop techniques for location-aware and create new services
which is adaptive to current location [14, 10, 15, 3, 27, 24]. However, only simple
1
location information is not enough to develop new intelligent services. It is needed
to mine hidden information such as user’s current task, and future movements
from location information.
In this thesis, I propose a technique to extract high-level context by profiling
user’s movements for personalized location based service and a potential appli-
cation of the proposed technique. The main aims of the proposed technique are
forecasting user’s future movement and providing service appropriate to the fore-
casted movement.
1.1 Location-based Services
Location-based service(LBS) is service based on geographical location of user.
Location is very essential information to provide services that adapt to user needs
because user’s surroundings and situations are dependent on his/her location. The
examples of commercial LBS are as follows: The wireless Emergency 911 (E-
911) public safety service enables rapid response in situations where callers are
unable to speak or do not know their location by locating the caller’s cellular
phone [11]. Location-based services are already be also widely used in the mar-
ket. Wireless service providers can offer new customer-based rates which bills
different rates depending on whether the call is made from the home or offices
using location information [34]. Major credit card companies have created the
wireless ATM-locator services. Wireless device users can find the nearest teller
machine. Location information is a key component for intelligent transport sys-
tems, and telematics [9]. The ability to locate a vehicle enables services such
as providing localized information to travelers, more effective fleet management,
and rapid respond to traffic incidents. AT&T provides ‘find people nearby’ ser-
vice which allows that the user can finds the location of his/her friend and family
2
Location Service
Location Context Service
User Model
(a) Conventional approach
(b) Advanced approach
Figure 1.1: A comparison of approaches to LBS
[2].
Developing a novel LBS is a challenging research topic. Z. Pousman et. al
designed a location-aware event planner for handheld-sized computer [32]. Their
planner integrates mail box, address book, event scheduler, friends finder which
displays buddy’s location on campus map. User can organize their social events in
contextually-enhanced ways. It also includes privacy management functionality
which enables to manage user’s visibility to his/her buddies. Another interesting
research topic is the location-based game, provides experiences, depending on
player’s current location and context information. ‘Can You See Me Now’ of
Mixed Reality Laboratory at University of Nottingham and ‘Human Pacman’ of
Mixed Reality Laboratory at National University of Singapore provide the novel
gaming environments enhanced by physical location [32, 5].
In contrast to these present-day LBS only attempts to measure where a user is
now, this thesis moves beyond present-day location systems by extracting high-
level context (the future movement of a user) from location data. Prediction of
where a uses is going can play a important role to provide user-adaptive services
because the destination location is very closely related to the goal of user’s move-
ment.
3
1.2 Contribution of This Thesis
This thesis investigates the advanced location-based service system enhanced by
context extraction. The main results of the thesis are following:
� A novel method for predicting user’s future movement and providing ser-
vices based on movement prediction is proposed and verified using real GPS
data that is colleted based on university student life. The proposed method
has the advantage in terms of flexibility comparing with previous work.
� A prototype application which provides personalized location-based ser-
vices in campus domain is developed. It has intuitive interface which is
easy to use non-expert users and the services are designed to assist the cam-
pus life of university students.
The rest of this thesis is organized as follows. Chapter 2 discusses about back-
ground and related work. The detailed description of the method of learning and
predicting user’s movements is presented in Chapter 3. Chapter 4 describes a
prototype application based on the proposed movement prediction technique. Ex-
perimental results are shown in Chapter 5. Chapter 6 is about the conclusion and
future works.
4
2. BACKGROUND
In this chapter, we discuss background and related work in topics close to this
thesis. Section 2.1 presents discussions about variable location-sensing technolo-
gies. Section 2.2 discusses related work on inferring high-level information from
location information. The difference between the previous works on movement
prediction and this thesis is given in Section 2.3.
2.1 Location-sensing Technologies
Various systems and technologies for locate people, equipment, and other tangi-
ble things have been developed by many researchers, but there is no universally
applicable location-sensing technology because they are aimed for solving differ-
ent problems and to support different applications [15]. GPS is the most widely
known location-sensing technologies for global area today. It uses time-of-flight
lateration information derived from radio signals. The world-wide constellation
of satellite provides ubiquitous coverage and enables a GPS receiver to compute
latitude, longitude, and altitude to within few meters. The satellite infrastruc-
ture of GPS invested and Maintained by U.S. government is very expensive, but
civilian users can benefit from that by using a receiver which is relatively cheap
(around $100). Despite of these advantages, GPS has a significant drawback: it
works only outdoors because receivers cannot detect the satellites’ transmissions
indoors, especially in still-framed buildings [29]. In addition, its accuracy is not
sufficient for many small-scale applications for home or office use.
For wide-area location-sensing systems, the technology of locating cellular
5
phones have been developed. The systems of this kind compute the distance or
direction from cellular phone to multiple base stations as follows: A cell phone
emits radio waves, which are received by one or more cellular base stations. The
distances to all receiving base stations is calculated based on the measurement
either signal strength, the angle of arrival (AOA) and the time difference of arrival
(TDOA) between the reception at all receivers, or their combinations, and from
this data, the position of the phone can be calculated [4, 8]. This approach has
the advantage of that it can work on existing phones, but its accuracy is relatively
lower (it can locate the position to within 150-300m).
The wireless network signal has been utilized for small-area location-sensing
systems which are used in home, office and building environment. RADAR, a
building-wide location system based on the IEEE 801.11 wireless LAN technol-
ogy, which has been developed by a Microsoft research group is an representa-
tive location-sensing system for small-area [3]. It uses the radio-frequency signal
strength as a measure of the distance between a base station and a receiver, then,
it computes the location within a building using this data. There are commercial
location-sensing products which use similar approach [31, 36]. This approach has
the advantage of that it does not need the special-purpose infrastructure because
it uses existing wireless networking.
In this thesis, GPS is used to track user’s location because we can collect
location data only with a GPS sensor which is relatively cheap and additional
infrastructure is not required. Another advantage of GPS is that additional imple-
mentation of computation procedure is not needed. We can sense user’s location
by directly using data from GPS receiver.
6
2.2 Extracting High-level Context from Low-level In-
formation
Extracting user’s context has been a main issue in mobile and pervasive comput-
ing because it is critically required for creating pervasive computing applications
which recognize and respond to user’s tacit needs [28]. The main approach for
obtaining user’s context is to build the models of the desired contexts from the
low-level sensor data. Many research groups have been working on this topic.
They have attempted to extract various contexts such as human’s activity, type of
place, human’s affect, visiting preference, and future movement by learning and
modeling the low-level data from one or more sensors, which are wearable, at-
tached to mobile device, or installed in specific target place. Table 2.1 summaries
representative research results.
Several artificial intelligence techniques have been applied for extracting high-
level context. Especially, soft computing techniques such as probabilistic model-
ing, neural networks, and fuzzy logic have been actively applied. Hidden Markov
model (HMM) which is a simple case of probabilistic network model has been
used actively because it is known for good performance in time series data mod-
eling. A.P. Pentland and his colleagues have applied HMM to make wearable
messaging system be aware of audio environment[6]. The conversation which is
made by and around the user is detected by modeling audio data using HMM and
by doing this, wearable messenger can notify incoming messages at the time and
in the way which is appropriate to current environmental context. In [7], they have
extended their research by importing additional sensor: an wearable camera and
various target context: coarse locations and activities. N. Oliver and A.P. Pentland
have applied HMM to recognize driver’s behavior [26]. HMM is used for mod-
eling signals from several sensors installed in real car and recognizing driver’s
7
Table 2.1: Researches on extracting high-level contexts
Researchers(Year) Information sources Techniques Target contexts
D.J. Patterson et al.(2003)[28] Location(GPS) DBN1 Transportation mode: car, bus, walk
F. Sparacino (2003)[33] Location DBN1 Museum visitor type: greedy, busy,
selective
D. Ashbrook et al. (2002)[1] Location(GPS) modified
kMC2,
MC3
Future movement
J. Mantyjarvi et al. (2001)[25] Acccelation sensors MLP3 Activity: Up/down stairs, start/stop
point, level walk
Korpipaa et al. (2003)[22] Microphone, Sensors
for acceleration, light
intensity, tempera-
ture, humidity, skin
conductivity
Naive
Bayes
Activity: walking, running, Place:
elevator, car, Sound: rock music,
classical music, speech
Lee and Mase (2002) [18, 19] Acceleration sensors FS9, Dead
reckoning
Activity: sitting, standing, walking,
Location in a office
Peltonen et al. (2002)[30] Microphone kNN6,
GMM10
Place: streets, office, library, car,
church, etc.
8
Table 2.1: continued
Researchers(Year) Information sources Techniques Target contexts
Laerhoven and Cakmarci (2000)[17] Acceleration sensors SOM5,
kNN6 ,
MC3
Activity: sitting, standing, running,
riding bycicle, etc.
Clakson et al. (2000)[6, 7] Wearable camera, Mir-
cophone
HMM4 Activity: leave/enter office, sitting
on grass, crossing street, etc.
Himberg et al. (2001)[16] Microphone, Sen-
sors for acceleration,
luminosity,
DP7, GIR8 Activity: sitting, walking, standing,
etc., Place: coridor, porch, lobby,
etc.
Oliver and Pentland (2000) [26] Sensors installed in car
for speed, gear, brake,
acceleration, steering
angle
HMM4 Driver’s behavior: passing, turning,
changing lane, etc.
�Dynamic Bayesian Network, �k-Means Clustering, �Markov Chain, �Multi-layer Perceptron, �Hidden Markov Model, �Self-
organizing Map, �k-Nearest Neighbor, �Dynamic Programming, �Global Interactive Replacement, �Fuzzy Sets, ��Gaussian Mixture Model
9
behavior such as passing, changing lane, and turning.
Naive Bayesian network which is the most straightforward and simplest Bayesian
learning method has applied to classify the context of a mobile device user by P.
Korpipaa et al. [22]. A small sensor box which contains sensors for accelera-
tion, light intensity, temperature, humidity, skin conductivity, and audio is used
for measuring environmental situation. They classified 13 context using features
extracted these sensors achieving an accuracy of 87% true positives and 95% true
negatives against sensor data collected in real world condition with leave-one-out
cross validation.
Dynamic Bayesian network which can be viewed as a generalization of hid-
den Markov model represents the knowledge dependent on time for temporal data
modeling using directed graph model. D.J. Patterson et al. proposed a method
for current transportation mode such as taking a bus, driving a car, and walking
from GPS data using dynamic Bayesian network model [28]. Domain knowledge
about real world constraints such that cars are left in parking lots and bus take off
passengers only at bus stops was incorporated into the Bayesian network model
and the parameters of heir network are learned using expectation-maximization
(EM) algorithm. In their experimental results against real GPS data, the network
model learned using EM outperforms the decision tree, and the network model
without domain knowledge. F. Sparacino utilized dynamic Bayesian network for
user adaptive storytelling in museum [33]. User’s location is tracked by infrared
beacons and she built Bayesian network model that estimates the visitor’s type
such as greedy, selective, and busy from user�s location and duration at each lo-
cation. Visitors see the different explanation about exhibits according to their
visiting habit.
Neural network also has been applied by several researchers in this domain. J.
Mantyjarvi et al. applied multi-layer perceptron classifier to recognize human’s
10
activity [25]. They used principal component analysis (PCA) and independent
component analysis (ICA) for extracting features from three acceleration sensors
that attached to user’s belt. In their experiments, multi-layer perceptron was used
to classify four activities and the classification results of ICA were superior to
that of PCA. K.V. Laerhoven et al. applied the self-organizing map which is the
representative unsupervised learning neural network as a quantization component
of their context-aware system. SOM plays the role of clustering signals from
various sensors in their system. they mentioned the potential applications which
utilize location-forecasting technique to deliver advanced location-based service.
Fuzzy logic has been used in order to quantize the low-level sensor signal
information of which boundaries are uncertain into context symbols of a finite
number. In [19], S.-W. Lee et al. attempted to recognize three types of human’s
walking activities: walking on level ground, going upstairs and going downstairs
using acceleration sensors. Fuzzy logic reasoning was applied to classify the level
walking activity into one of the sub-categories: slow, normal, or fast for more
accurate location estimation. P. Korpipaa et al. also used fuzzy sets to quantize
extracted feature values from sensor signal [22]. The membership value of each
context symbol are used as input of naive Bayesian classifier.
Besides these soft computing techniques, statistical classification methods have
also been applied. D. Ashbrook et al. proposed a technique for predicting user’s
future movements using a modification of k-means clustering algorithm and Markov
chain model [1]. GPS data were clustered by k-means algorithm to find significant
locations at which the user stayed relatively long time. The historical movements
among these locations were modeled by Markov chain model. J. Himberg et al.
viewed context recognition as time series segmentation problem which is to find
segments that minimize the intra-segment variances [16]. Dynamic programming
which can always provide optimal solution was applied, but it is not feasible be-
11
cause of its heavy computational cost. Therefore, they applied global iterative
replacement, a kind of greedy optimization algorithm, which can find near opti-
mal solution in shorter time.
K-nearest neighbor classifier(kNN) and Gaussian mixture models(GMM) were
applied to recognize environmental scenes using audio information [30]. They
tested 1-NN classifier and GMM learned using EM algorithm against audio data
which include 17 types of environmental scene. The recognition rate of their
method: 68.4% was comparable with human’s accuracy: 70%.
2.3 Link to Other Works
Previously, D. Ashbrook et al. attempted to predict user’s future movement using
a modified k-means clustering algorithm and a Markov chain model [1]. They
discovered meaningful locations by clustering GPS data and used single Markov
model which uses each location as a state to predict future movement. They also
mentioned the potential applications which utilize location-forecasting technique
to deliver advanced location-based service. However, their work has some limita-
tions.
Their system has the disadvantage of inflexibility, and consequently it cannot
cope with ambiguous situations. It is because it does not consider how the user
moves, but where the user is. For example, when the user is about to leave home,
it will predict that he is likely to move toward school if school is the place to which
he most frequently moved from home. But, even in cases of that the user leaves
for shopping center or restaurant, their method will predict the same. This can be
a big problem when it is attempted to be put into practical use. Another limitation
is that they did not realize potentially-practical application they mentioned.
This thesis attempts to develop a location system based on movement predic-
12
tion and improved in terms of flexibility and practicality. The technique proposed
in this thesis predicts future movement by learning the path of movement for more
flexible prediction. To get up to the practical real-world application, more concrete
application based on location prediction is implemented.
13
3. LEARNING AND PREDICTING
USER’S MOVEMENT
This chapter presents the proposed learning and predicting method for intelligent
location-based service. We start by describing the overall architecture of the pro-
posed method in Section 3.1. Section 3.2 presents the technique for clustering
GPS data. In Section 3.2.2, we explain about building local models using Markov
models., and Section 3.3 describes the method to predict user’s future movement.
3.1 Architecture
The main ideas of the proposed are two. First one is automatic knowledge discov-
ery from location data captured from a user’s everyday life. Meaningful move-
ment patterns are discovered without pre-knowledge. Second one is to solve
global problem by dividing it into local problems and solving them. Learning
the whole user’s movement is achieved by dividing user’s movement data into
the groups of similar movements and learning each data group. Prediction of fu-
ture movement is done by finding the movement group which is closest to current
movement.
The proposed method is comprised of four layers. In measurement layer, a
GPS sensor which is carried by user is used to measure user’s movement. Dis-
covery layer plays the role of discovering meaningful patterns from measurement
data and forming local problems. SOM is used to clustering the historic GPS data
collected and discovery local problems. Markov model is used to learning each
cluster of GPS data in learning layer. Action layer delivers the services which are
14
MeasurementGPS
DiscoverySOM
LearningMarkov model
ActionManual assignment
User
PersonalizedServices
Figure 3.1: An overview of the proposed technique.
most suitable to current situation to user. In this thesis, users manually assign the
services desired to be delivered while they are moving along a certain path. Figure
3.1 illustrates an overview of the proposed technique.
3.2 Learning User’s Movements
There are many kinds of movements in people’s life and the type of movements
are very different person to person. If we attempt to use supervised leaning ap-
proach to modeling a person’s movements, pre-knowledge about the target user
is strongly required. In other words, the number and type of his/her movement
must be known because we have to label each movement pattern. Therefore, it is
not feasible to develop the movement learning system which is able to be easily
adapted to any user. To develop the movement learning system which is eas-
ily adaptable to user’s life pattern, it is need to automatically find what kinds of
15
movements exist in a person’s life with minimum pre-knowledge. Self-organized
learning is very suited to this purpose. It enables to discover novel knowledge
without pre-knowledge. Self-organizing map, thus, is employed to discover the
types of persons movement from historic location data.
The benefit of SOM is not limited to automatic knowledge discovery. There
are two more reasons of using SOM. One of the nice characteristics of SOM
is topology preservation ability. Output layer provides a good representation of
important feature of input data. Competitive learning algorithm tunes the location
of the units in output layer to be topologically ordered. Consequently, similar
movements are mapped onto contiguous locations in SOM output space. This
feature plays a viable role to develop an intuitive user interface.
The second major benefit is that SOM provides a good approximation of orig-
inal input space. SOM maps continuous input space to discrete output space. The
output space of SOM can be viewed as a smaller set of prototypes which stores
a large set of input vectors. This property contributes to simplify the problem.
The sequences of raw GPS records can be transformed to the sequences of units
of finite number by projecting them onto SOM output space. We can state the
transformed movement data as the state transition sequence of user’s movement.
Thus, we can model user’s movement pattern more effectively by learning tran-
sition sequence of finite states rather than learning sequences of vectors of two
floating-point numbers
After discovering meaningful movement patterns, historic movement data are
clustered into local data sets using SOM and each local data sets are used to learn
local models with Markov chain model. The service which are desired to be deliv-
ered when a user moves along a specific movement pattern is manually assigned
to each local model. The overall procedure of learning user’s movement and as-
signing services are shown in Fig. 3.2.
16
LearningSOM
Bu
ilding Local M
odels
Assignin
g Service
sClustering
Svc
Svc
Svc
. . .
. . .
SOM
Local data set
. . .
LocalModel
LocalModel
LocalModel
TrainingData
LocalData
LocalData
LocalData
Figure 3.2: Procedure of learning movement patterns
3.2.1 Discovering Meaningful Movement Patterns
Recurrent Self-organizing Map
SOM is a representative unsupervised learning neural network. It has been used to
solving clustering and vector quantization problem. The principal goal is to trans-
form an incoming input pattern of arbitrary dimension into a one or two dimen-
sional discrete map [13]. The output map � consists of a rectangular or hexagonal
lattice of �� units. Figure 3.3 illustrates the schema of input and output layer of
SOM which uses 4�4 size rectangular output map and 3-dimensional input vec-
tor. Each element of input vector is fully connected to all the units in output layer
and each �th unit in output layer has an associated codebook vector ��.
The algorithm for training SOM involves four essential processes: initializa-
tion, competition, cooperation, adaptation. First, we initialize the codebook vec-
tors �����. It can be done in various ways, but most widely used method is assign-
ing randomly-generated numbers. Next three steps are summarized as follows:
1. Competition We draw a input pattern ���� from input space and compute
the difference between current input pattern and each unit in output map
using Euclidean distance measure. The unit of the minimum difference is
17
Output layer
Input layer
Figure 3.3: Input and output layer of SOM.
selected as the best matching unit (BMU) ���� at time step �.
���� � ����������� ������ (3.1)
By this process, continuous input pattern is mapped onto discrete output
space.
2. Cooperation The topological neighborhood is defined with respect to the lat-
tice structure, not according to difference between the current input pattern
and map units. The best matching unit locates the center of a topological
neighborhood of cooperating units. The following Gaussian function � is
typically used as a neighborhood function.
���������� � ���������
������ (3.2)
It decay smooth with lateral distance ���� between BMU �, and unit . The
size of topological neighborhood shrinks with time by decreasing the width
18
Best matching unit
(a) Topological neighborhood (b) Neighborhood function
Figure 3.4: An example of topological neighborhood and neighborhood function
of neighborhood function ���� at time step �. Using this function, immedi-
ate units are activated more that farther away. Figure 3.4 shows an example
of topological neighborhood and neighborhood function
3. Adaptation The weights of units inside the neighborhood are updated in
relation to input vector using the following equation.
����� �� � ����� � ������������������� ������ (3.3)
The learning rate parameter ��� is also varied during learning. It should
decrease gradually with increasing time �. By the neighborhood function,
the units in neighborhood are updated in a distance-weighted manner rather
than update all units within neighborhood equally. The algorithm is con-
tinued with competition step until no noticeable changes in output map are
observed.
RSOM is a modification of SOM, which is specialized for temporal sequence
processing but inherits original properties of SOM [23]. The differences between
19
RSOM and standard SOM is as follows. RSOM allows storing temporal context
from consecutive input vectors by putting the leaky integrator into the difference
formula of competition step.
����� � ��� ������� �� � ������� ������ (3.4)
where � is the leaking coefficient, ����� is the leaked difference vector at step
� and ���� is input vector at step �. The best matching neuron criterion and
codebook vector update rule are not different from the standard SOM. The best
matching unit at time step �, ����, is the unit with minimum difference.
���� � ������������� (3.5)
The �th codebook vector at step �, �����, is updated as follows:
����� �� � ����� � ���������� ������� (3.6)
The difference vectors are reset to zero after learning each input sequence. The
procedure of training RSOM is shown in Fig. 3.5.
Clustering Movement Data
In this problem, the input vector, ����, is GPS data observed at time �, which is
two dimensional vector composed of user’s longitude and latitude. New GPS data
is captured one or two times per second even if user does not move. Therefore,
there are many meaningless data in raw GPS data. For this reason, we filtered raw
data. Only after user travels some distances, GPS data are captured and used for
training and predicting.
User’s movement, �� � ����� ���� � � � �����, is clustered according to
the last best matching unit. After building the output map, each movement data
in training data set is evaluated by trained RSOM and the sequence of BMU is
traced. The movements which are clustered into the �th output unit forms a local
data set, �� � ��� �� � � � ���.
20
End
InitializeCodebook Vectors
SelectInput Sequence
Similarity Matching
Set NextInput Vector
Updating
End ofSequence?
End Condition?
No
No
Yes
Yes
Figure 3.5: RSOM training procedure.
21
3.2.2 Building Local Models
Markov Chain Model
A Markov model is a stochastic process based on the Markov assumption, under
which the probability of a certain observation only depends on the observation that
directly preceded it. A Markov model has a finite number of states, � � � � � that
are defined by a transition probability matrix
� �
���������
��� ��� � � � ���
��� ��� � � � ���...
... � � �...
��� ��� � � � ���
���������
(3.7)
and an initial probability distribution
� � ��� �� � � � ��� (3.8)
where ��� is the probability of state transition from � to , �� is the probability of
which the state � is observed at time 0 and
�����
��� � � (3.9)
We can learn a Markov model by computing the transition probability and the
initial probability distribution from the training data as follows:
��� ����
��
(3.10)
where ��� is the number of state transitions from state � to state and �� is the
number of observation of state � [37].
�� ���
�(3.11)
where � is the total number of observations.
22
.
.
.
Best maching unitsof SOM
Markov modelGPS recordsequence
x1:(latt, long)
x2:(latt, long)
xn:(latt, long)
x3:(latt, long)
x4:(latt, long)
x5:(latt, long)
x6:(latt, long)
x7:(latt, long)
Probability
bMMRaw GPS data: Sequence of BMUs:
Figure 3.6: Combination of RSOM and Markov model.
Combination of RSOM and Markov Model
Local models are built using first-order Markov model. A Markov model learns
the sequences of the best matching unit instead of raw GPS data. The changes
of the best matching unit during processing sequence data can be considered as
changes of state because SOM approximates the input space.
A transformed local data set ��� is built by transforming each moving pattern
�� into the sequence of best matching unit � �� � ����� ���� � � � ����� and a
local model ��� associated to the �th output node learns a transformed local data
set, ��.
A local model ��� is learned with ��� . There are local models which are
as many as the number of output units of RSOM because one Markov model is
used per one local data set. Figure 3.6 illustrates the combination of RSOM and
Markov model.
23
ReadNew GPS Record
Find BMU
ExceedThreshold?
Evaluate BMUSequence
ComputeSignificance
Execute AssignedService
Select LM of MaxProbability
Figure 3.7: Procedure of the movement prediction.
3.3 Predicting Future Movement
The procedure of the movement prediction is shown in Fig. 3.7. A new GPS
record is read from GPS receiver and it is inputted into RSOM to get the BMU.
The new sequence of BMU is made by concatenating the newly obtained BMU
and previously obtained BMUs. Then, the BMU sequence is evaluated using local
models and the local model of maximum probability is selected. If the probability
of the selected model is significantly high, current movement is considered as the
movement pattern which corresponds to the selected local model and the service
which is manually pre-assigned to that local model is invoked. The rest of this
section describes how the BMU sequence is evaluated by local models and how
the significant local model is selected.
24
3.3.1 Evaluating Current Movement
The state � in Markov model corresponds to the �th output unit in SOM because
the sequences of the best matching units are used as inputs. The probability that
a sequence of the best matching unit ���� ���� � � � ��� � occurs from a given
Markov model is computed as follows:
� ����� ���� � � � ��������� � �����
�����
��������� (3.12)
The higher probability we obtain from (3.12), the more likely user moves similarly
to the corresponding local data set.
3.3.2 Selecting the Closest Movement Pattern
The predicttion of user’s future movement is made using the probabilities of local
models. The simplest solution to selecting the likeliest movement pattern is maybe
applying a threshold to the probability of the local model and selecting the local
model which shows the probability exceeds the predefined threshold. However,
this method is lack of flexibility because the level of probability varies according
to the length of the movement. As the movement the overall level of probability
decreases because the longer user moves, the more the state transition probability
of Markov model is multiplied. Thus, the decision boundary has to be varied
according to movement pattern.
Therefore, the significance of a local model is used rather than the direct use of
the local model probability. GPS data which are newly generated from user’s cur-
rent movement are inputted to RSOM to get intermediate state and the sequence
of intermediate states is evaluated by local models. Prediction of future movement
is made if there is a local model which shows significantly higher probability than
others. We select the outstandingly probable local model. The significance of a
25
local model is computed as follows:
������������� � � �� ��������
������� ��
� �� �������
� � �(3.13)
The significance of a local model is defined as the difference between the prob-
ability of that the current sequence is generated from one model and the mean
of probability from others. If the significance of a local model which shows the
maximum probability exceeds the predefined threshold, we predict that the user
will move similarly to the corresponding local data set. Using this method we
can predict user�s movement as soon as the probable pattern is found. The lower
threshold we set the earlier we can predict user’s movement. If threshold is set as
high, the prediction is likely made later but the risk of miss prediction is relatively
low.
If the prediction is made, the service which is assigned to corresponding local
model is invoked. Figure 3.8 illustrates the relationship among SOM clusters,
local models, and services. units used for clustering. A SOM cluster is related
to a local model and a local model is related to a service. The relation between
a SOM cluster and a local model is made automatically and static. The relation
between a local model and a service is made manually and dynamic. It can be
changed according to user’s preference.
26
SVC3
LM1
LM6
LM9
LM3
LM2 LM8LM5
LM10
Local models
SOM Clusters
Assigned ServicesSVC1
SVC2
SVC3 SVC3
SVC4SVC4
SVC5SVC5
SVC4
LM2
LM4
Figure 3.8: Relationship among SOM clusters, local models, and services.
27
4. APPLICATION
Movement prediction ability can be utilized in much application domains. In [1],
they introduced potential applications for single-user and multi-user environments
based on movement prediction. User assistant may be the most common but use-
ful application. We have implemented a prototype user-assistant which uses the
proposed movement-prediction system. Our application targeted to a university
student and assists the user using predicted future movement. User who carries
palm-top computer with GPS sensor can receive desired services according to
his/her movements in campus.
4.1 Device Platform
A HP iPaq handheld computer based on Microsoft Pocket PC is used. An ad-
ditional GPS sensor is attached to this handheld device to track user’s location.
User can access world-wide web using built-in wireless LAN and web browser
anywhere in campus. Figure 4.1 shows the handheld computer with a GPS sen-
sor used to implement our application.
4.2 User Interface
4.2.1 Finding Current Location
The application starts with the current location screen as shown in Figure 4.2. A
red box located at the center of the screen points the user’s current location on
campus map.
28
Figure 4.1: Handheld computer with a GPS sensor.
Figure 4.2: Current location screen
29
(a) (b)
Figure 4.3: User interface for assigning services
4.2.2 Assigning Services
Figure 4.3(a) shows the user interface for browsing moving patterns which are
discovered by RSOM. The group of buttons corresponds to the output units of
RSOM. The activated buttons mean meaningful moving pattern. Only buttons
which are associated with output unit used to clustering are activated. User can
see GPS data clustered into an output unit by tapping one of activated buttons.
GPS data is displayed being superimposed on campus map in order to catch how
he/she moved at a glance. After seeing discovered pattern, user can select a service
which is desired to receive when he/she moves like that pattern in next time from
the service list. The moving patterns located at near output unit are likely to
be similar because SOM construct topological map from training data. Thus, user
can browse location data and select services easily and intuitively by assigning the
same service to near buttons. Figure 4.3(b) shows the user interface for display
GPS data and selecting desired service.
30
Figure 4.4: Service delivery screen
4.2.3 Delivering Services
When the movement prediction is made, the pre-assigned service is delivered to
user. A new pop-up window appears on the top of screen with ringing a bell as
shown in 4.4. If user taps ’OK’ button, the corresponding service is executed, and
if taps ’Cancel’ button, the service recommendation is ignored.
We can imagine many useful services with wireless-enabled handheld com-
puter and movement prediction ability because what he/she wants to do is strongly
related to where he/she will go and wireless network enables anywhere access to
desired information. In [35], M. Weiser introduced many possible changes in cam-
pus with ubiquitous computing infrastructure such as wireless networks, personal
e-card and location tracking system. F. Gandon et al. implemented some location
based services on campus [12]. We have implemented some services which can
be related to user’s movement pattern. Figure 4.5 shows the services currently
available on our application.
These services can provide useful assists when they are associated with pre-
31
ferred movement pattern. For example, user may be reminded of the topics of to-
day’s lecture before he/she arrives at lecture room by assigning the lecture home-
page service to the movement pattern toward certain building. User may see lunch
menu in advance to arrive at restaurant and subway schedule while walking to
subway station to be back to home.
32
(a) Lecture web page (b) Finding friends
(c) Lunch menu (d) Subway schedule
Figure 4.5: Available services
33
5. EXPERIMENTS
In this chapter, the performance of the proposed method is evaluated in terms of
clustering, accuracy, and prediction performance. Section 5.1 describes how to
collect data which is used for experiments and the experimental results are given
in Section 5.2.
5.1 Data
To test the proposed method, we collected real GPS data based on actual campus
life for university student. We modeled usual 10 movements. She usually moves
among 9 places for attending a lecture, having lunch, studying and participating
club activity as shown in Table 5.1. Two users walked along these predefined paths
with a GPS-enabled handheld computer. Each movement can be discriminated
using the loss of GPS signal and each movement is labeled according to its start
location and end location. The data set contains 10 classes of movement and each
class has 6 instances. Total 60 movements are included.
Figure 5.1 shows all GPS data superimposed on campus map and location of
buildings. Collected data are not the same as real moving paths due to the errors
of GPS signal.
34
8 9
7
6
5 4
23
1
1. Main Gate2. Engineering Hall |3. Engineering Hall |||4. Student Union5. Central Library6. Auditorium7. College of Liberal Arts |8. College of Liberal Arts ||9. College of Social Science
Figure 5.1: Collected GPS data superimposed on campus map
35
Table 5.1: User’s movements in GPS data
Number Path Description
1 Main Gate � Engineering Hall I Lecture
2 Engineering Hall I � College of Liberal Arts II Part-time job
3 College of Liberal Arts II � Auditorium Lecture
4 Auditorium � College of Social Science Lecture
5 College of Social Science � Engineering Hall III Lecture
6 Engineering Hall III � Student Center Having lunch
7 Student Center � Engineering Hall III Lecture
8 Engineering Hall III � Central Library Studying
9 Central Library � College of Liberal Arts I Club activity
10 College of Liberal Arts I � Main Gate Return home
5.2 Experimental Results
5.2.1 Clustering
First, we have tested clustering performance of RSOM. After training RSOM,
each output unit is labeled by one of the 10 classes. We evaluate the training data
using the RSOM developed and each movement pattern is associated with its last
best matching unit. Then, each unit is labeled as the dominant moving patterns.
We have used 8 � 8 map size of SOM. The initial learning rate is 0.03 and the
initial neighborhood radius is 4. The training algorithm is repeated 1000 times.
Figure 5.2 illustrates an example of the labeled output units of RSOM.
Each circle represents an output unit and the shaded circle means the output
unit which does not participate in the clustering. As shown in the figure, the
same moving patterns are located at near locations. All the output units labeled
as the same class are adjacent. In addition, we can observe two large groups:
36
5 5 8 8
7 5
1 6 9
10 6 2
6 2 2
6 2
6 3
3 4
Figure 5.2: Labeled output units of RSOM
left-top side and right-bottom side. In left-top side of map, there are 1, 5, 6, 7,
8, and 10. 2, 3, 4, and 9 are at right-bottom side. The left-top side group ends in
the southern part of campus: engineering hall I/III, main gate, student center, and
central library. On the other hand, the right-bottom group ends in the northern part
of campus: auditorium, college of liberal arts I/II and college of social science.
These are due to the topology preservation property of SOM. This property helps
the user browse clustered moving patterns and assign desired services easily.
5.2.2 Prediction
Figure 5.3 shows the changes of the best matching unit over time. We can see that
the different moving patterns show the different sequences of the best matching
unit and ends at the different output unit. Thus, we can predict user�s movement
by observing how the best matching unit changes at present and comparing it with
that of historical sequences of the best matching unit.
The movement data set contains an ambiguous situation, i.e. there are move-
37
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8 9 10
Figure 5.3: Changes of the best matching nodes over time
ments from the same location, but to multiple locations. In this situation, the
start location of movement is not enough to predict future movement accurately.
This ambiguity occurs comes out when predicting the movement pattern 6 and 8.
The pattern 6 is from engineering hall III to student union and the pattern 8 from
engineering hall III to central library. Figure 5.4 shows how the probability and
significance of local models changes as the user moves along the path of pattern
6. Local models which show zero probability are omitted from table. Bold-faced
numbers mean the local model of maximum probability at each time step. User
starts to move at engineering hall III. In the early period of movement, the prob-
ability of local model 8(2) is higher than that of others because pattern 8 which
starts at engineering hall III and ends at central library is similar to pattern 6. How-
ever, its significance is small and does not exceed threshold, which is set as 5.5.
At time 11, it becomes more certain that the user does not move toward central
library because the user passed the fork of a road. For this reason, the state transi-
38
Table 5.2: Result of prediction experiments
1 2 3 4 5 6 Avg.
Miss rate 16.7% 0% 0% 16.7% 16.7% 16.7% 11.13%
Error rate 16.7% 16.7% 0% 16.7% 16.7% 16.7% 13.91%
tion which did not exist in the local data set of 8(2) occurs and the probability of
local model 8(2) is dropped to zero. The next winner is 6(5). At time 12, the sig-
nificance of 6(5) exceeds the threshold and user�s future movement is predicted as
pattern 6 and the service which was map into 6(2) is executed. This result verifies
that the proposed method works flexibly even in an ambiguous situation.
The prediction performance was evaluated with whole data set. Because the
size of data set is not large, we applied 6-fold cross validation. Whole data set
is divided into 6 subsets and each subset contains 10 moving patterns of different
class. RSOM is trained with the five subsets and the one remaining subset is used
for testing. The result of each cross validation is shown in Table 5.2
Miss means that the prediction was not made because of low significance and
error means that future movement was predicted wrongly. Most of misses was
occurred when predicting the pattern 1. There is no time enough to exceed the
threshold because main gate and engineering hall I are near. The time which
elapsed until prediction is also measured. The average moving time is 5 minutes
25 seconds and the average time elapsed until prediction is 1 minute 31 seconds.
We can control the decision making time by adjusting the threshold of local model
significance.
39
1
Student UnionCentral Library
Eng. Hall III
611
19
Local model (probability � significance)
Time 5(1) 5(2) 6(1) 6(2) 6(3) 6(4) 6(5) 8(1) 8(2)
1 -1.6 1.6 -2.8 2.7 -0.6 0.4 -0.5 0.4 -1.2 1.0 -1.1 1.0 -0.8 0.6 -1.0 0.8 -0.3 0.12 -1.9 1.7 -3.0 2.9 -0.8 0.5 -0.6 0.4 -1.3 1.1 -1.3 1.1 -0.9 0.7 -1.2 1.0 -0.4 0.23 -2.0 1.9 -3.1 3.0 -0.8 0.6 -0.7 0.5 -1.5 1.3 -1.4 1.2 -1.0 0.8 -1.4 1.2 -0.5 0.34 -2.2 2.0 -3.3 3.1 -0.9 0.7 -0.8 0.6 -1.6 1.4 -1.6 1.4 -1.1 0.9 -1.6 1.4 -0.5 0.35 -2.3 2.1 -3.5 3.3 -1.1 0.8 -0.9 0.6 -1.8 1.6 -1.7 1.5 -1.2 1.0 -1.9 1.6 -0.6 0.46 -2.4 2.2 -3.6 3.4 -1.3 0.9 -1.0 0.7 -1.9 1.7 -1.9 1.7 -1.3 1.1 -2.1 1.9 -0.7 0.47 -2.6 2.3 -3.8 3.6 -1.3 1.0 -1.0 0.8 -2.1 1.8 -2.0 1.8 -1.4 1.2 -2.3 2.1 -0.8 0.58 -2.7 2.4 -3.9 3.7 -1.4 1.1 -1.1 0.9 -2.2 2.0 -2.2 1.9 -1.5 1.3 -2.5 2.3 -0.8 0.69 -4.8 4.2 -5.9 5.4 -3.6 3.1 -3.6 3.1 -4.2 3.7 -4.1 3.6 -3.8 3.3 -4.1 3.6 -3.5 3.0
10 -5.9 5.4 -6.9 6.4 -4.3 3.9 0 0 -4.5 4.0 0 0 -4.5 4.0 -4.8 4.3 -4.2 3.711 0 0 0 0 0 0 0 0 -5.8 5.8 0 0 -5.2 5.1 0 0 0 0
12 0 0 0 0 0 0 0 0 -6.5 6.5 0 0 -5.6 5.5 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 -6.7 6.7 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 -7.4 7.4 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 -8.1 8.1 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Figure 5.4: Changes of local model probabilities and significances
40
6. CONCLUSION
In this thesis, a novel method for learning user’s movement patterns and predicting
future movements is presented. It learns how the user moves using GPS data.
RSOM is used to discover meaningful movement patterns and divide into local
problems by clustering GPS data. Markov model is used to build local models by
learning the discovered patterns. Current movement is evaluated by local models
and the prediction is made when there is a local model which shows remarkably
higher probability than others.
The performance of movement prediction is verified with real GPS data col-
lected based on real university student life. The result is acceptable and it works
flexibly in the ambiguous situation ,even if the data set size is relatively small.
However, for more reliable evaluation, collecting large GPS data captured from
real human life is strongly required.
A possible application that utilizes the proposed method for assisting a uni-
versity student on campus is also presented. User who carries a handheld com-
puter with GPS sensor can be received useful services according to his/her current
movement. The topology preservation property of RSOM helps to implement in-
tuitive and easy-to-use user interface. The proposed movement-prediction based
application is potentially useful, but its usefulness is not systemically evaluated.
It is needed to conduct the experiment for testing the usability of the proposed
application with several university students.
More useful services which are feasible on university campus and other dif-
ferent application of movement prediction can also be developed. For example,
movement prediction can be utilized for saving network cost. Let us consider
41
the situation of that the user is writing an e-mail message in CDMA network is
only available. Assuming that e-mail agent knows the user is moving to the place
where wireless LAN which is cheaper than CDMA network is available, sending
the message should be held back until wireless LAN becomes available for saving
cost.
In the future work, the following improvements can be done.
� Giving semantics to the movement patterns which is discovered: In current
system, user recognizes the type of movement pattern by seeing movement
path which is superimposed on campus map. and assigns the desired ser-
vice to the cluster of the movement pattern. However, for more intuitive
user interface, it is needed to giving semantic information to the movement
patterns. For instances, the system provides the semantic information of
movement pattern like that this movement pattern is from main gate to cen-
tral library. rather than shows the movement path.
� Assigning services automatically: This may be achieved by utilizing se-
mantic information of the movement patterns. Building the service assign-
ing rules which cover some general cases like if movement toward lecture
room, show lecture web page can be a simple solution. location ontology
Another possible solution is ontology reasoning. Building ontology for rep-
resenting location information and ontology reasoning rules can be a more
systemically solution.
� Utilizing additional information such as time of day and user’s schedule:
Some ambiguous situations may be occurred when using only location in-
formation. For example, if the user is moving from lecture room to main
gate, the purpose of the movement can be various. It can be returning home,
or going to restaurant outside of university. It is hard to handle this situation
42
using only location information. Thus, supplementary information which
enables richer modeling is required. Time of day and schedule information
can be a good complementary information.
43
BIBLIOGRAPHY
[1] Ashbrook, D. and Starner, T., “Learning Significant Locations and Predict-
ing User Movement with GPS,” Proceedings of IEEE Sixth International
Symposium on Wearable Computing, Seattle, WA. October 2002.
[2] AT&T, Find Friends,
http://www.attwireless.com/personal/features/organization/findfriends.jhtml,
2004.
[3] Bahl, P. and Padmanabhan, V., “RADAR: An In-Building RF-based User
Location and Tracking System,” Proceedings of IEEE Infocom 2000, pp.
775-784, March 2000.
[4] Caffery, J.J. and Stuber, G.L., “Overview of radiolocation in CDMA cellular
systems,” the IEEE Communications Magazine, vol. 36, no. 4, pp. 38-45,
1998.
[5] Cheok, A.D., Goh, K.H., Liu, W., Farbiz, F., Fong, S.W, Teo, S.L., Li, Y.
and Yang, X., “Human Pacman: a Mobile, Wide-area Entertainment Sys-
tem Based on Physical, Social, and Ubiquitous Computing,” Personal and
Ubiquitous Computing, pp. 71-81, 2004.
[6] Clarkson, B. and Pentland, A., “Extracting Context from Environmental Au-
dio,” 1998.
[7] Clarkson, B., Mase, and K., Petland, A., “Recognizing User Context via
Wearable Sensors,” 2000.
44
[8] Drane, C., Macnaughtan, M., and Scott, C., “Positioning GSM telephones,”
the IEEE Communications Magazine, vol. 36, no. 4, pp. 46-54, 1998.
[9] Drane, C., and Rizos, C., Positioning Systems for Intelligent Transportation
Systems, Boston: Artech House, 1998.
[10] Enge, P., and Misra, P., “Special Issue on GPS: The Global Positioning Sys-
tem,” Proceedings of IEEE, vol. 87, no. 1, pp. 3-172, 1999.
[11] FCC News, ‘FCC Adopts Rules to Implement Enhanced 911 for Wireless
Services,” CC docket no. 94-102, 1996.
[12] Gandon, F., and Sadeh, N., “A Semantic eWallet to Reconcile Privacy and
Context Awareness,” Proceedings of the Second International Semantic Web
Conference, pp. 385-401, Florida, October 2003.
[13] Haykin, S., Neural Networks: A Comprehensive Foundation, Second Ed,
Prentice Hall, 1999.
[14] Hazas, M., Scott, J., and Krumm, J., “Location-aware Computing Comes of
Age,” IEEE Computer, vol. 37, no. 2, pp. 95-97, 2004.
[15] Hightower J.and Borriello G., “Location Systems for Ubiquitous Comput-
ing,” IEEE Computer, vol. 34, no. 8, pp. 57-66, 2001.
[16] Himberg, J., Korpiaho, K., Mannila, H., and Tikanmaki, J., “Time Series
Segmentation for Context Recognition in Mobile Devices,” 2001.
[17] Laerhoven, K.V. and Cakmarci, O., “What Shall We Teach Our Pants?,”
2000.
45
[18] Lee, S.-W. and Mase, K., “Incremental Motion-based Location Recogni-
tion,” Proceedings of the 5th International Symposium on Wearable Com-
puting, pp. 123-130, 2001.
[19] Lee, S.-W. and Mase, K., “Activity and Location Recognition Using Wear-
able Sensors,” Pervasive Computing, 2002.
[20] Lockerd, A. and Arroyo, E., “Personal Data for Personal Use: Case Studies
in User Modeling for Context-Aware Computing,” AAAI Fall Symposium on
Etiquette for Human Computer Interaction, 2002.
[21] Kohonen, T., “The Self-organizing Map,” Proceedings of IEEE, vol. 78, no.
9, pp. 1464-1480, September 1990.
[22] Korpipaa, P., Koskinen, M., Peltola, J., Satu-Marja M., and Seppanen, T.,
“Bayesian Approach to Sensor-based Context Awareness,” Personal and
Ubiquitous Computing, vol. 7, pp. 113-124, 2003.
[23] Koskela, T., Varsta, M., Heikkonen, J., and Kaski, K., “Temporal Sequence
Processing using Recurrent SOM,” Proceedings of Second International
Conference on Knowledge-Based Intelligent Engineering Systems, vol. 1,
pp. 290-297, Adelaide, Australia, April 1998.
[24] Krumm, J., Harris, S., Meyers, B., Brumitt, B., Hale, M., and Shafer, S.,
“Multi-Camera Multi Person Tracking for Easy Living,” Proceedings of the
3rd IEEE International Workshop Visual Surveillance, pp. 3-10, July 2000.
[25] Mantyjarvi, J., Himberg, J., and Seppanen, T., “Recognizing Human Motion
with Multiple Acceleration Sensors,” 2001.
[26] Oliver, N., and Pentland, A.P., “Driver Behavior Recognition and Prediction
in a Smart Car,” 2000.
46
[27] Orr, R.J. and Abowd, G.D., “The Smart Floor: A Mechanism for Natural
User Identification and Tracking,” Proceedings of Conference on Human
Factors in Computing Systems, pp. 275-276, April 2000.
[28] Patterson, D., Liao, L., Fox, D., and Kautz, H., “Inferring High-Level Behav-
ior from Low-Level Sensors,” Proceedings of the Fifth International Confer-
ence on Ubiquitous Computing, pp. 73-89, Seattle, WA, October, 2003.
[29] Patterson, C.A., Muntz, R.R., and Pancake, C.M., “Challenges in Location-
aware Computing,” IEEE Pervasive Computing, vol. 2, no. 2, pp. 80-89,
2003.
[30] Peltonen, V., Tuomi, J., Klapuri, A., Huopaniemi, J., and Sorsa, T., “Com-
putational Auditory Scene Recognition,” Proceedings of International Con-
ference oon Acoustics Speech and Signal Processing, 2002.
[31] PinPoint, PinPoint Real Time Asset Tracking Systems,
http://www.rftechnologies.com/pinpoint.
[32] Pousman, Z., Iachello, G., Fithian, R., Moghazy, J., and Stasko, J., “Design
Iterations for a Location-Aware Event Planner,” Personal and Ubiquitous
Computing, pp. 117-225, 2004.
[33] Sparacino, F., “Sto(ry)chastics: a Bayesian Network Architecture for User
Modeling and Computational Storytelling for Interactive Spaces,” Proceed-
ings of the Fifth International Conference on Ubiquitous Computing, pp.
54-72, Seattle, WA, October 2003.
[34] Stilp, L., “Carrier and End-User Applications for Wireless Location Sys-
tems,” Proceedings of SPIE, vol. 2602, pp. 119-126, 1996.
47
[35] Weiser, M., “The Future of Ubiquitous Computing on Campus,” Communi-
cations of the ACM, vol. 41, no. 1, pp. 41-42, 1998.
[36] WhereNet, http://www.widata.com.
[37] Winston, W.L., Operations Research: Applications and Algorithms, Bel-
mont, CA: Duxbury, 1994.
48
�����������
������������������������������������������������� ����
����������������������DZ�� ��� ������������ ������������ ����
� ���� �������������������������������������������������� !�������"�
����� �������� ����#�$%���&������!�.������������������������� �������
'�����(���� �������������������������������)*��+,������� ��Æ-.���
���#��������������$/0���!�.#����$%���������12�������3���4567+,89������
3���� :5DZ����� 3�!� ����������� ��� ���� ������;��� ���<=���#� #�>5����+,
��!�.�������������������������#�� �?@#�67���� �!�"����A�B2�����#�
� ����������C#�$���������%���������+,#����#������������������� �� ���%��
��"����!�.
��������������������������������������12� GPS����������!"�!�."�
��� �?@#�67DE����&�$���� RSOM%�����������89����� GPS?@#�67���'���� �
67������-.��������#�� �F2#��%����� ��������G���$!�.HI���J�K�LMN�OP���
%��������������%(��� ���#�� �F2#��%��� �!�"�����������#�� �F2#���ÆQI��&%��<=
)*$���!�.'+(R2�����#�� �%��<=)*$�� ���#�� �F2#��QI��&��� ��+S����0����-.
���������#�� �F2#��������������ÆA�B2�Æ#�� �%���C#�$���!�.
HI�������������� ���%�����������TU� ���V7 ����� �)�*��$W-.���������
���������������������������,����XW#��-�%��<='+(���!�.'���� �67���� -.
����#�� �F2#��%��"��������+,�������������#�� �F2#��������������� ���� �+
!�����!�. RSOM.��� �!�"?@#�67��� ��%��3�,/���$WYZ���������������012[\���
+, ����� ���������� ���� ��� #�� � F2#���� �+!�� �+ 89 ��!�. ���������� � �!�"��
#�� �F2#�� -.������������#�� � �+YZ������� ��� ������� ������"#%��89��
49
!�.#����]9��� _̂���$�̀ GPS89�����0����%"&�� HP iPaqÆ�-a�.�/a�����67���
���������<='+(��!"�!�.
������������#�� ��C#�$����%��0��0�������12�12��TU� �)�*�Æ)�*���%�������
�������� GPS?@#�67���TU� �3'4V7 � �����89�����+,#����#�������������
���� ����Æ'���� �67��,�C#�$������%��0��0���!"�!�.)*��� ��������� ���#���
������ÆA�B2�Æ����#�� ������������01$ �5�$W�C#�$0������+,3��6�������� ������
�bI-.�����$W�C#�$%��89��7� 8%����������!"�!�.
9(���&����)*+:������������ �,� ���� ��������,����<=�����bI,J�K�LMN�QI
��&
50