Incremental kNN classifier exploiting correct - error

0 downloads 0 Views 330KB Size Report
Incremental kNN classifier exploiting correct - error teacher for activity recognition. Kilian Förster, Samuel Monteleone, Alberto Calatroni, Daniel Roggen, ...
Incremental kNN classifier exploiting correct - error teacher for activity recognition Kilian F¨orster, Samuel Monteleone, Alberto Calatroni, Daniel Roggen, Gerhard Tr¨oster Wearable Computing Laboratory, ETH Z¨urich {foerster, calatroni, roggen, troester}@ife.ee.ethz.ch Abstract—Non-stationary data distributions are a challenge in activity recognition from body worn motion sensors. Classifier models have to be adapted online to maintain a high recognition performance. Typical approaches for online learning are either unsupervised and potentially unstable, or require ground truth information which may be expensive to obtain. As an alternative we propose a teacher signal that can be provided by the user in a minimally obtrusive way. It indicates if the predicted activity for a feature vector is correct or wrong. To exploit this information we propose a novel incremental online learning strategy to adapt a k-nearest-neighbor classifier from instances that are indicated to be correctly or wrongly classified. We characterize our approach on an artificial dataset with abrupt distribution change that simulates a new user of an activity recognition system. The adapted classifier reaches the same accuracy as a classifier trained specifically for the new data distribution. The learning based on the provided correct - error signal also results in a faster learning speed compared to online learning from ground truth. We validate our approach on a real world gesture recognition dataset. The adapted classifiers achieve an accuracy of 78.6% compared to the subject independent baseline of 68.3%.

I. I NTRODUCTION Activity and gesture recognition from human motion is an important building block for wearable computing applications [1]. Typical approaches are based on standard machine learning techniques applied to data acquired from body worn motion sensors [2], [3]. The state of the art wearable activity recognition system is trained on prerecorded training data at design time and remains static during online operation. The underlying assumption is, that the training data captures all possible situations which may potentially appear during operation in the future. This is often not true for activity recognition systems intended to be used over long periods of time, in open ended environments, and by different users. Typical nonstationarity scenarios are: • The system is deployed to a new user for which it was not explicitly trained • The user’s behavior changes e.g. due to aging, mood, or different clothes restricting the movement. • The sensor position changes e.g. due to reattachment. These non-stationarities may lead to drifts or abrupt changes of the distributions in the feature space. As a result the recognition performance of the system decreases. Supervised [4] as well as unsupervised [5], [6] machine learning approaches have been proposed to adapt the classi-

fier in such cases. Unsupervised approaches do not always allow for controlled learning and may lead to an unstable behavior or less good adaptation compared to supervised approaches. Supervised approaches are likely to lead to a good behavior matching the user’s expectation but come at the potentially high costs for obtaining ground truth labels. Especially during system operation such labeling, performed by the user, may be perceived obtrusive and annoying. In wearable computing applications the user is continuously interacting with the recognition system and may therefore as well provide occasional indications about the system’s performance (as in experience sampling [7]). In contrast to experience sampling we do not expect ground truth labels but rather correct - error (c/e) information. This reduced feedback information is easier to provide by the user and therefore less obtrusive. The user feedback can be explicitly given, e.g. by means of a push button which is pressed whenever the system doesn’t behave correctly. One can also think of an even less obtrusive way, e.g. by automatically evaluating the user’s physiological signals, like the galvanic skin response [8] or brain signals [9], to find disagreements between the system’s behavior and the user’s expectations. To capitalize on the c/e teacher signal effectively, we need novel machine learning techniques. Typical online learning approaches require a ground truth teacher [10], [11]. We propose a novel instance based incremental online learning approach [12] which makes best use of the provided c/e teacher signal. Instance based learning has already shown potential in activity recognition [13]. In online activity recognition each instance is consecutively classified and assigned a prediction. The teacher therefore provides the information if the last prediction was correct or wrong. Instance, prediction and teacher signal are used to incrementally adapt the classifier online. A. Contribution We propose a novel incremental online learning strategy for weighted k-nearest-neighbor (kNN) classifiers guided by a c/e teacher. Our main contributions are: • A c/e teacher learning scenario • Strategies to adapt the kNN model incrementally based on c/e information • Methods to deal with the changing number of data points in the classifier model during online learning

• •

A characterization of our approaches A comparison to the state of the art online learning from a ground truth teacher

II. L EARNING S CENARIO We consider a learning scenario where an online activity recognition system is trained on prerecorded training data. After this initialization phase the system is deployed to a new, so far unseen user for operation. This new user is assumed to behave in a similar way as the one captured in the training data. The recognition system is therefore assumed to have some performance with this new user, but lower than if the system would be perfectly trained for him [14]. In non-incremental mode the system would remain static and operate with the reduced performance. To adapt the pretrained classifier to the new user we perform incremental online learning guided by a c/e teacher signal. The teacher provides the information if the last classification result was correct or wrong. In figure 1 we show the principle of our teacher based online learning scenario. An instance Xt is fed into the classifier Ct and classified to prediction c˜t . For each classification result we get the according teacher signal st . The instance together with the prediction and the teacher signal (Xt,˜c,s ) is fed into the incremental online learning of the classifier Ct , resulting in an adapted classifier Ct+1 . X t,c,s ~

Xt

st

incremental online learning

c~ t

The resulting prediction is c˜ = argmaxc (SWc )

(4)

B. Incremental kNN learning We extend the kNN learning to support learning form the c/e teacher signal s. For each labeled instance to learn this signal has one of the following two states: • correct: We assume the label of this instance is correct and corresponds to the ground truth • error: We assume the label of this instance is wrong and differs from the ground truth Our kNN online learning strategy comprises of two dedicated learning processes - one for correct and one for error instances. To learn a correct instance its feature vector f~ is added to the classifier model together with a weight wi,t = 1 and its class label c. The weights of the l neighboring data points, which are of the same class as the learned instance, are increased according to the weight adjustment function Winc . The correct learning strategy is outlined in algorithm 1. Algorithm 1 correct learning of instance i with label ci

kNN classifier C t

Figure 1. An instance X is classified by Ct to prediction c˜. The instance together with the prediction and the teacher signal (Xt,˜c,s ) is fed into the incremental online learning mechanism.

III. I NCREMENTAL O NLINE L EARNING K NN C LASSIFIER We extend the kNN learning with incremental online learning to allow for continuous adaptation. The learning is guided by a c/e teacher indicating if the label of the instance to learn is correct or wrong. A. Weighted kNN We use a weighted kNN classifier [15] where a weight is assigned to every data point in the classifier model. The kNN classifier Ct valid at time t consists of a model Mc,t for each class c. Ct = {M1,t , M2,t , M3,t , ...}

When training the classifier in non-incremental mode, all weights (wi,t=0 ) of the added instances are set to 1. For the classification of new instances the weights (wi,t ) of the k nearest neighbors (NN), belonging to the same class, are summed up to the sum of weights (SWc ). X SWc = wi,t ∀ NNi of class c (3)

(1)

Each model Mc,t consists of data points which are represented by tuples mapping a feature vector f~i of weight wi,t to class c. Mc,t = {(f~1 , w1,t , c), (f~2 , w2,t , c), (f~3 , w3,t , c), ...} (2)

1: 2: 3: 4: 5: 6: 7:

add (f~i , 1, c) to Mc,t find the l NN of f~i within Ct for each found NN j do if cj = ci then wj,t+1 = Winc (wj,t ) end if end for

When learning from error instances the actual ground truth class is not known. It is known though, that the instance is not of its class label c. We exploit this information in our error learning strategy. We find the l data points in the classifier model, which are neighbors of the instance to learn. The weights of the neighbors, which are of the error class c, are decreased according to the weight adjustment function Wdec . Data points with a weight below a fixed removal threshold κ are removed from the classifier models as they contribute only marginally to the classification result but increase the computational complexity. The error learning strategy is outlined in algorithm 2. The weight adjustment functions (see figure 2) were chosen as follows: Winc (wi,t ) = −

(wi,t − 2)2 +2; 2

Wdec (wi,t ) =

2 wi,t (5) 2

Algorithm 2 error learning of instance i with label c 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:

find the l NN of f~i within Ct for each found NN j do if cj = ci then wj,t+1 = Wdec (wj,t ) end if end for for each (f~m , wm,t , c) in Ct do if wm,t < κ then remove (f~m , wm,t , c) from Ct end if end for wi,t+1 = Winc(wi,t) wi,t+1

wi,t+1 0.5

1

wi,t

1.5

2

(8)

The number k of NN to take into account for the classification of new instances is defining the neighborhood radius within the feature space. With a constant k this radius decreases when the number of data points within the classifier model increases, as the coverage of the feature space with data points becomes more dense. We keep the radius constant by adapting k at every time step depending on the number of data points in the classifier model. We define k as the number of points being the fraction r  (0, 1) of all data points in the classifier model:

2

1

0 0

#Mx,t ≤ δ

wi,t+1 = Wdec(wi,t)

2

an absolute lower limit δ:

1

kt = r · #Ct 0 0

0.5

1

wi,t

1.5

2

Figure 2. Weight adjustment functions Winc and Wdec , used to increase and decrease the weights of the neighboring instances.

The concave and convex shape ensure the weight increase and decrease. The quadradic function alows for plasticity for high (low) weight values and stability for low (high) weight values in the increase (decrease) function. Weights are limited to [0, 2] to prevent single instances biasing the classification. C. Coping with variable number of data points in classifier model Due to the incremental learning the number of data points in the classifier models is not constant. Therefore we added several extensions to the kNN classifier to cope with this issue during online learning and classification. To prevent a bias in the classification, the sum of weights of all data points within the models Mx,t of class x should be similar. An equalization mechanism stops the incremental P learning, when the sum of weights of class x ( w Mx,t ) differs by the highest P α ∈ [0, 1] from the everage between P (maxc ( w Mc,t )) and the lowest (minc ( w Mc,t )) sum of weights of all classes. The correct learning for a specific class x is stopped if the following condition is fulfilled: X X X 1 Mx,t > (maxc ( Mc,t ) + minc ( Mc,t )) · (1 + α) 2 w w w (6) The error learning for a specific class x is stopped if the following condition is fulfilled: X X X 1 Mx,t < (maxc ( Mc,t ) + minc ( Mc,t )) · (1 − α) 2 w w w (7) We also stop the error learning for class x when the number of data points present in its model (#Mx,t ) reaches

(9)

with #Ct denoting the number of all data points within the classifier model at time t. Similarly the radius for learning, defined by l, is also increasing and decreasing with the number of points in the classifier model. To keep the learning radius constant we define a learning rate LR  (0, 1) from which l is calculated at every time step as follows: lt = LR · #Ct

(10)

IV. C HARACTERIZATION ON A RTIFICIAL DATASET We characterize our incremental online kNN learning based on simulations on an artificial dataset. The simulated learning scenario is according to the new user scenario described in section II. In the initial training of the kNN classifier all training instances from the initial set are added to the classifier model with weight wi,0 = 1. Afterwards each new instance is classified and the prediction together with the teacher signal used for online learning. We artificially generate the c/e teacher signal by comparing the result of the online classification to the ground truth. If prediction matches ground truth correct - otherwise error is generated. A. Artificial Dataset Generation The artificial dataset we generate allows to characterize the behavior of our learning algorithm in an abrupt change scenario like the new user scenario. It consists of four classes, each represented by a two dimensional Gaussion dis  1 0 tribution with a diagonal covariance matrix Σ = . 0 1 The distribution centers for each class are placed symmetrically at the edges of a square with side length d. This distance between classes is used to adjust the class overlap, and therefore the maximum accuracy an optimal classifier can achieve. To simulate a non-stationarity as it could appear e.g. at a sensor position change, we introduce an angle β by which the dataset can be rotated. The distributions are sampled with an equal number of samples per class. In figure 3 we show examples of generated datasets.

βadapt = 30°

feature 2

feature 2

d 2

d

0

d

−2

2

β

0

100

50

50

50

500

1000

0 0

d −4 0

−6

5

0

5

feature 1

feature 1

Figure 3. Artificial dataset consisting of four classes. Each class is represented by a two dimensional Gaussian distribution with the centers placed at the corners of a square. left: the class overlap and therefore the optimally achievable classification accuracy can be adjusted by changing the class distance d. right: The distributions can be rotated by an angle β to simulate a non-stationarity.

For each simulation we generate three datasets. The initial training set is used to train the initial classifier Ct=0 . A new user is simulated by a rotation of the data by angle βadapt in the adaptation set. The performance of the adapted classifier Ct is evaluated on the adaptation test set. The parameters d and β are changed according to the intended analysis. A summary of the generated datasets is given below: dataset initial train set adaptation set adaptation test set

d dsim dsim dsim

β in ◦ 0 βadapt βadapt

# samples 100 1000 800

B. Influence of initial accuracy In our learning scenario each instance is classified to prediction c˜ before it is fed into the online learning. If the prediction is according to the ground truth the teacher signal will be correct and correct learning will be applied. In case of a wrong prediction the teacher signal will be error and error learning will be applied. The performance of the classifier Ct therefore has a direct influence on the learning. For our simulations we empirically chose the following learning and classification parameters: r = 0.05

κ = 0.1

α = 0.1

adapted acc 1000 500 init acc

0 0

ub acc

−5

# data points

−5

LR = 0.05

δ = 13

In figure 4 we show the adaptation of the classifier for βadapt of 30◦ , 50◦ and 70◦ . We chose dsim = 3.95 which results in a good separation between classes. The accuracies of the initial classifier Ct=0 tested on the adaptation test sets are 75.0%, 36.9% and 11.1% respectively. These are the accuracies before the adaptation is started. An estimate of the upper bound accuracy, the adapted classifier can reach, is 94.3% (determined by training a kNN classifier on the adaptation set and testing it on the adaptation test set). In all three cases of βadapt the adapted classifiers reach the upper bound accuracy. The lower the initial accuracy for Ct=0 is, the longer the adaptation takes. During the adaptation phase, when the classifier is still improving, the number of data points in the model as well as the weights remain nearly constant. This indicates that the increase of weights as well as the addition of new data points is at a

500 1000 # data points weight sum

2000

2000 2000

2000 2000

2000

1000

1000 1000

1000 1000

1000

0 0

500

0 1000

0 0

500

t

0 1000

0 0

t

500

0 1000

t

Figure 4. The upper plots show the performance of the adapted classifier over time for dsim = 3.95 and three different βadapt . The estimates of the initial accuracy (init acc) and the upper bound accuracy (ub acc) are given as baselines. The time when the performance of the adapted classifier reaches the upper bound are marked. The lower the initial accuracy the longer the adaptation takes to reach the upper bound accuracy. The lower plots show the development of the number of data points in the model as well as the development of the sum of weights. Both values remain nearly constant until the performance of the adapted classifier is close to the upper bound accuracy. After that time the number of points as well as the sum of weights increase as the correct learning dominates. βadapt = 30° acc in %

−6

βadapt = 50°

βadapt = 70°

100

100

100

50

50

50

0 0

500

1000

0 0

adapted acc 1000 500 init acc

0 0

ub acc

# data points

−4

βadapt = 70°

100

0 0

−2

βadapt = 50°

100

weight sum

4

500 1000 # data points weight sum

2000

2000 2000

2000 2000

2000

1000

1000 1000

1000 1000

1000

0 0

500

0 1000

0 0

500

t

t

0 1000

0 0

500

weight sum

6

4

acc in %

6

0 1000

t

Figure 5. Similar to figure 4 we show the results for dsim = 1.85. The lower the initial accuracy the longer the adaptation takes to reach the upper bound accuracy. The increase in the number of data points and the sum of weights is slower compared to figure 4 as more error learning is performed.

similar level as the decrease of weights and the removal of data points. When the performance of the adapted classifier gets close to the upper bound accuracy the correct learning dominates and the number of data points in the model, as well as their weights, increase. In figure 5 we show the simulation results when the class separation is less good (dsim = 1.85). The initial accuracies in this case are 56.3%, 40.8% and 27.3% respectively. The estimated upper bound accuracy is 64.3%. The general behavior is similar to the former case, with the adaptation being faster when the initial accuracy is higher. The increase rate of data points and weights in the model is lower though. This is caused by the lower upper bound accuracy which makes correct and error learning more balanced as more error instances are generated. C. Influence of learning rate The learning rate is an important parameter in any online learning application to regulate the stability - plasticity trade off. We investigate the effect of the learning rate LR on our

LR = 0.4 100

50

50

50

0 0

# data points

LR = 0.1 100

500

1000

0 0

2000

2000 2000

1000

1000 1000

0 0

500

0 1000

0 0

adapted acc 1000 500 init acc max acc

0 0

2000 2000

500

0 1000

t

0 0

We compare our learning approach combining correct and error learning from a c/e teacher with correct learning from a ground truth teacher. In figure 7 we show the learning curves for both cases with the following learning parameters:

500 1000 # data points weight sum

1000 1000

t

D. Comparison to learning from ground truth

2000

1000

500

weight sum

acc in %

LR = 0.005 100

0 1000

t

Figure 6. We show the effect of the learning rate LR on the adaptation. The dataset is configured with dsim = 3.85 and βadapt = 70◦ . A higher learning rate LR makes the classifier more plastic and allows for faster learning (compare LR = 0.005 and LR = 0.1). This is also reflected by the stronger increase of the sum of weights when the learning rate is higher. Fast learning comes at the cost of stability though, as a high learning rate may lead to catastrophic forgetting (see LR = 0.4).

r = 0.08

κ = 0.1

α = 0.02

LR = 0.01

δ = 15

The combination of correct and error learning based on the c/e teacher outperforms the correct only learning with ground truth in terms of learning speed. This can be explained by the error learning allowing for active removal of those data points from the model, which lead to misclassifications. A removal of data points with the correct only learning is not possible. V. VALIDATION ON GESTURE RECOGNITION DATASET

incremental online learning kNN approach. In figure 6 we show the adaptation of the classifier for three different LR values, namely 0.005, 0.1 and 0.4. The other learning parameters are: r = 0.05

κ = 0.1

α = 0.1

δ = 13

The simulation datasets are configured with dsim = 3.85 and βadapt = 70◦ . A higher learning rate, e.g. LR = 0.1 compared to LR = 0.005, effectively leads to a faster increase of the weights. This leads to a faster learning so that the upper bound accuracy is reached earlier. The change of the number of data points in the classifier model is also affected by the learning rate. With a higher LR the weights of more data points are adjusted. A high learning rate, e.g. LR = 0.4 in this case, results in a poor adaptation, not reaching the upper bound accuracy. This is due to catastrophic forgetting which may lead to the loss of one class. The disability to recognize one class leads to only “error“ learning for this class and therefore continuous removal of points until the balancing mechanism stops the learning. In such a case the learning is never reactivated. The stability of the learning is not only affected by the learning rate but also depends on the initial accuracy, the number of points in the classifier model and the parameters of the equalization method. The higher the initial accuracy is, the less error learning is performed which reduces the risk of catastrophic forgetting. If there are more points in the classifier model also more have to be forgotten until the result is catastrophic, effectively leading to a higher stability. The parameters of the equalization method regulate when the learning is stopped. The more conservative these parameters are chosen, meaning the more balanced the number of data points for each class is, the more stable the learning is. This may delay the learning though.

We validate our approach in a new user scenario based on a hand gesture dataset (see [9] for details). The dataset consists of five different hand gestures performed by seven subjects in a human computer interface scenario. The recognition is based on six features calculated from the segmented hand acceleration [9]. We generate an initial train set containing 150 gestures selected randomly from six of the seven subjects, equally distributed over all classes. The adaptation set and the adaptation test set are generated from the left out subject containing 2240 and 500 gestures respectively. The simulations are performed in the same way as described in section IV with the following parameters: r = 0.05

κ = 0.1

α = 0.1

LR = 0.05

δ = 13

The results, averaged over all subjects, are shown in figure 8. In this case the incremental online learning based on the simple teacher performs worse than the learning from ground truth. The estimated upper bound accuracy of 83.2% is not reached. Nevertheless the accuracy is increased by 10.3% over the subject independent baseline of 68.3%, reaching 78.6%. VI. D ISCUSSION AND O UTLOOK The incremental online kNN learning method we present is sensitive to the order of the input samples. Incrementally learning the classifier with a different order of instances will result in a different classifier. The number of data points in the classifier model continuously increases during the online learning when the teacher provides more correct than error signals. This is likely to happen in recognition tasks with good class separation. Therefore we plan to add a mechanism which limits the correct learning when enough data points are in the classifier model. This is necessary to reduce the memory requirements to make our approach applicable for life long learning. We propose quadratic weight adjustment functions designed to limit the weights to the range [0, 2]. One can also

90

80

80

60 correct+error 40

ground truth

Framework Programme for Research of the European Commission, under FET-Open grant number: 225938.

70

correct+error ground truth

60

init acc

20

acc in %

acc in %

100

init acc

ub acc 0 0

200

400

600

800

ub acc 1000

50 0

500

1000

1500

2000

2500

t

t

Figure 7. Comparison between learning from the simple teacher with ”correct” and “error“ learning and the ground truth teacher with only correct learning. Both variants converge to the estimated upper bound. The correct and error learning allows for a faster convergence compared to the ground truth learning.

Figure 8. Learning from a simple teacher and from ground truth on a real world gesture dataset. With learning from the simple teacher the accuracy is improved by 10.3% over the initial subject independent accuracy. The increase is less compared to learning from ground truth and the estimated upper bound is not reached.

think of other weight adjustment functions, e.g. exponential or linear, or to alter the possible range of the weights to change the learning behavior. The validation of our approach on a real world dataset has shown the benefit of online learning from the c/e teacher. The behavior is different compared to the characterization on the artificial dataset. On the real world dataset the estimated upper bound accuracy is not reached by the adapted classifier. The reasons for that are subject of further investigation. In future work we will also investigate how an imperfect teacher signal with a certain error rate will affect the learning speed and the stability of our approach. VII. C ONCLUSION We investigated a novel approach for incremental online learning of a kNN classifier, guided by a c/e teacher. We proposed two learning mechanisms for learning from correct and error instances. The error learning mechanism is a major extension to state of the art online learning. We also presented novel strategies to cope with the changing number of data points in the kNN classifier model. We have shown that our method allows to adapt an initial classifier to a new distribution online based on a c/e teacher. The learning from the c/e teacher even provided a faster learning speed compared to learning from ground truth. We also investigated the influence of the learning parameters on stability and plasticity. The learning rate can effectively be used to regulate the learning speed and therefore the plasticity. A too high learning rate will result in catastrophic forgetting and unstable learning behavior. The validation on a real world gesture recognition dataset has shown the effectiveness of our approach. In average the adaptation through online learning from the c/e teacher increased the accuracy by 10.3% over the subject independent baseline of 68.3%. ACKNOWLEDGEMENT The project OPPORTUNITY acknowledges the financial support of the Future and Emerging Technologies (FET) programme within the Seventh

R EFERENCES [1] N. Davies, D. P. Siewiorek, and R. Sukthankar, “Activitybased computing,” IEEE Pervasive Computing, vol. 7, no. 2, pp. 20–21, 2008. [2] S. Mann, “Humanistic computing: “wearcom” as a new framework and application for intelligent signal processing,” Proceedings of the IEEE, no. 11, pp. 2123–2151, 1998. [3] J. A. Ward, P. Lukowicz, G. Tr¨oster, and T. Starner, “Activity recognition of assembly tasks using body-worn microphones and accelerometers,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 28, no. 10, pp. 1553–1567, October 2006. [4] S. D. Connell and A. K. Jain, “Writer adaptation for online handwriting recognition,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 24, no. 3, pp. 329–346, 0 2002. [5] C. Vidaurre, A. Schloegl, B. Blankertz, M. Kawanabe, and K.R. M¨uller, “Unsupervised adaptation of the lda classifier for brain-computer interfaces,” in of the 4th International BrainComputer Interface Workshop and Training Course, 2008. [6] K. F¨orster, D. Roggen, and G. Tr¨oster, “Unsupervised classier self-calibration through repeated context occurences: is there robustness against sensor displacement to gain?” in Proceedings of the 13th International Symposium on Wearable Computing. IEEE Computer Society, 2009, pp. 77–84. [7] S. Consolvo and M. Walker, “Using the experience sampling method to evaluate ubicomp applications,” IEEE Pervasive Computing, vol. 2, no. 2, pp. 24–31, 2003. [8] A. Kapoor, W. Burleson, and R. W. Picard, “Automatic prediction of frustration,” in International Journal of Human Computer Studies, 0 2007. [9] K. F¨orster, A. Biasiucci, R. Chavarriaga, J. del R. Mill`an, D. Roggen, and G. Tr¨oster, “On the use of brain decoded signals for online user adaptive gesture recognition systems,” in proceedings of the Eighth International Conference on Pervasive Computing, 2010. [10] J. Roure and R. Sang¨uesa, “Incremental methods for bayesian network learning,” Department de, Tech. Rep., 1999. [11] J. Gama and G. Castillo, “Adaptive bayes,” in IBERAMIA 2002: Proceedings of the 8th Ibero-American Conference AI. London, UK: Springer-Verlag, 2002, pp. 765–774. [12] D. W. Aha and D. Kibler, “Instance-based learning algorithms,” in Machine Learning, 1991, pp. 37–66. [13] L. Bao and S. S. Intille, “Activity recognition from userannotated acceleration data,” in Pervasive Computing: Proc. of the 2nd Int Conference, 0 2004, pp. 1–17. [14] N. Ravi, N. Dandekar, P. Mysore, and M. L. Littman, “Activity recognition from accelerometer data,” American Association for Artificial Intelligence, 2005. [15] A. Blum, Online Algorithms: The State of the Art. Fiat and Woeginger eds., 1998, ch. 4, 5.

Suggest Documents