Extending the Growing Neural Gas Classifier for Context Recognition

Similar documents
Context prediction based on learning user habits: A next step towards "smart" systems

Extending the Growing Neural Gas Classifier for Context Recognition

Feature Extraction in Wireless Personal and Local Area Networks

Recognizing and Predicting Context by Learning from User Behavior

Security by Spatial Reference

Towards an Open Source Toolkit for Ubiquitous Device Authentication

Hierarchical Clustering 4/5/17

Objective. A Finite State Machine Approach to Cluster Identification Using the Hoshen-Kopelman Algorithm. Hoshen-Kopelman Algorithm

Pedestrian Detection with Radar and Computer Vision

Slides for Data Mining by I. H. Witten and E. Frank

Extract an Essential Skeleton of a Character as a Graph from a Character Image

Case-Based Reasoning. CS 188: Artificial Intelligence Fall Nearest-Neighbor Classification. Parametric / Non-parametric.

CS 188: Artificial Intelligence Fall 2008

Feature Extractors. CS 188: Artificial Intelligence Fall Nearest-Neighbor Classification. The Perceptron Update Rule.

Machine Learning 13. week

Autoorganised Structures for Extraction of Perceptual Primitives

Fast Fuzzy Clustering of Infrared Images. 2. brfcm

CSE 573: Artificial Intelligence Autumn 2010

MIT 801. Machine Learning I. [Presented by Anna Bosman] 16 February 2018

Topological Correlation

Segmentation of Images

BRACE: A Paradigm For the Discretization of Continuously Valued Data

7. Nearest neighbors. Learning objectives. Centre for Computational Biology, Mines ParisTech

PARALLEL CLASSIFICATION ALGORITHMS

7. Nearest neighbors. Learning objectives. Foundations of Machine Learning École Centrale Paris Fall 2015

Kernels + K-Means Introduction to Machine Learning. Matt Gormley Lecture 29 April 25, 2018

Modification of the Growing Neural Gas Algorithm for Cluster Analysis

INTRODUCTION TO ARTIFICIAL INTELLIGENCE

ECG782: Multidimensional Digital Signal Processing

Machine Learning Reliability Techniques for Composite Materials in Structural Applications.

A New Online Clustering Approach for Data in Arbitrary Shaped Clusters

Lecture 7: Decision Trees

CS 343: Artificial Intelligence

Machine Learning Techniques for Data Mining

Based on Raymond J. Mooney s slides

Clustering & Classification (chapter 15)

Intro to Artificial Intelligence

2. Basic Task of Pattern Classification

Kernels and Clustering

Pouya Kousha Fall 2018 CSE 5194 Prof. DK Panda

Practical MU-MIMO User Selection on ac Commodity Networks

A Review on Cluster Based Approach in Data Mining

CSE4334/5334 DATA MINING

A Self-Adaptive Insert Strategy for Content-Based Multidimensional Database Storage

Artificial Neural Networks

Feature Extractors. CS 188: Artificial Intelligence Fall Some (Vague) Biology. The Binary Perceptron. Binary Decision Rule.

Topology and fmri Data

Chapter 7: Competitive learning, clustering, and self-organizing maps

9. Lecture Neural Networks

Big Data Methods. Chapter 5: Machine learning. Big Data Methods, Chapter 5, Slide 1

Emotion Classification

Associative Cellular Learning Automata and its Applications

Classification: Feature Vectors

Private Notes: Encrypted XML Notes Synchronization and Sharing with Untrusted Web Services

Supervised vs unsupervised clustering

CS4445 Data Mining and Knowledge Discovery in Databases. A Term 2008 Exam 2 October 14, 2008

More Efficient Classification of Web Content Using Graph Sampling

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

ECE519 Advanced Operating Systems

4. Cluster Analysis. Francesc J. Ferri. Dept. d Informàtica. Universitat de València. Febrer F.J. Ferri (Univ. València) AIRF 2/ / 1

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany

The Hitchhiker s Guide to TensorFlow:

Data Mining. Part 2. Data Understanding and Preparation. 2.4 Data Transformation. Spring Instructor: Dr. Masoud Yaghini. Data Transformation

Announcements. CS 188: Artificial Intelligence Spring Classification: Feature Vectors. Classification: Weights. Learning: Binary Perceptron

CHAPTER 4: CLUSTER ANALYSIS

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition

Classifying Documents by Distributed P2P Clustering

Random Forest A. Fornaser

A Comparative study of Clustering Algorithms using MapReduce in Hadoop

COMPUTATIONAL INTELLIGENCE SEW (INTRODUCTION TO MACHINE LEARNING) SS18. Lecture 6: k-nn Cross-validation Regularization

Data Mining Classification - Part 1 -

Seismic regionalization based on an artificial neural network

A Neural Classifier for Anomaly Detection in Magnetic Motion Capture

Improving the Efficiency of Fast Using Semantic Similarity Algorithm

CogniSight, image recognition engine

Nearest Neighbor with KD Trees

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

Clustering Algorithms In Data Mining

GENERATING HIGH LEVEL CONTEXT FROM SENSOR DATA FOR MOBILE APPLICATIONS

CS229 Lecture notes. Raphael John Lamarre Townshend

Adaptive Gesture Recognition System Integrating Multiple Inputs

A Two Stage Zone Regression Method for Global Characterization of a Project Database

Classification. Vladimir Curic. Centre for Image Analysis Swedish University of Agricultural Sciences Uppsala University

Analysis of Sorting as a Streaming Application

QoS support for Intelligent Storage Devices

CSIS. Pattern Recognition. Prof. Sung-Hyuk Cha Fall of School of Computer Science & Information Systems. Artificial Intelligence CSIS

Supervised Learning: K-Nearest Neighbors and Decision Trees

SOMSN: An Effective Self Organizing Map for Clustering of Social Networks

Exploratory Data Analysis using Self-Organizing Maps. Madhumanti Ray

TreeGNG - Hierarchical Topological Clustering


9/6/14. Our first learning algorithm. Comp 135 Introduction to Machine Learning and Data Mining. knn Algorithm. knn Algorithm (simple form)

identified and grouped together.

Representation of 2D objects with a topology preserving network

Structural and Syntactic Pattern Recognition

Data Engineering. Data preprocessing and transformation

Nearest Neighbor with KD Trees

Data Mining. 3.5 Lazy Learners (Instance-Based Learners) Fall Instructor: Dr. Masoud Yaghini. Lazy Learners

MTTTS17 Dimensionality Reduction and Visualization. Spring 2018 Jaakko Peltonen. Lecture 11: Neighbor Embedding Methods continued

Transcription:

Extending the Classifier for Context Recognition Eurocast 2007, Workshop on Heuristic Problem Solving, Paper #9.24 14. February 2007, 10:30 Rene Mayrhofer Lancaster University, UK Johannes Kepler University Linz, AT 2007-02-14 Extending GNG for Context Classific 1

Motivation Input to Classification Issues Motivation: Context and Context Awareness What is Pervasive Computing? The vision to integrate computer systems with everyday objects Implicit, unobtrusive user interfaces instead of explicit, importunate ones What is Context? In the area of pervasive computing: the environment/situation in which something happens Context is everything except the explicit in- and outputs [LS 2000]. Context Inputs I(t) Outputs O(t) [LS 2000] H. Lieberman, T. Selker: Out of context: Computer systems that adapt to, and learn from, context 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 2

Motivation Input to Classification Issues Motivation: The Big Picture Problem description of this research: How can the current context of a device or its user be determined autonomously from sensor information and the future context be predicted from recorded context histories? Feature extraction Classification C 1 C 2 C m Labeling Meeting n t At desk m t+ C k / P k Aggregation with remote appliances Prediction <f 1, f 2,..., f n > t <c 1, c 2,..., c m > t <c 1, c 2,..., c m > t+ Δ Feature vector Class vector Future class vector [MRF 2003a] R. Mayrhofer, H. Radi, A. Ferscha: Recognizing and Predicting Context by Learning From User Behavior, Proceedings of MoMM2003, OCG, September 2003 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 3

Motivation Input to Classification Issues Heterogeneous Input Space Different types of features: Numerical (continuous): e.g. brightness, heart rate, microphone Numerical (discrete): e.g. number of access points in range Ordinal: e.g. day of week Nominal: e.g. current WLAN SSID, list of WLAN/BT devices in range 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 4

Motivation Input to Classification Issues Coding Nominal Input Dimensions Typically: encode as multiple input dimensions (A) one (binary) feature for each nominal value ( one-of-c ) only feasible for small set of possible values, problematic with large or unbound sets (e.g. WLAN MAC addresses with 2 48 possible nominal values) Problem: set of actually occurring values out of large sets is not known a priori for many sensors Peer #1, #2, #8 (B) Meeting Possible solutions: a) Feature vectors with variable (increasing) number of features variable number of dimensions b) Coding binary combinations as numerical discrete values c) Coding binary values as numerical discrete values multiple concurrent points in the input space Peer #23 Peer #15 Peer #3 (C) Meeting 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 5

Motivation Input to Classification Issues Additional Issues for Classifying Context High-dimensional input space Limited ressources Classification (clustering) should be: soft classification unsupervised online/incremental adaptive w.r.t. trends and changes in the environment dynamic number of classes and dynamic structure robust against noise interpretability of found classes 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 6

What can it do? How does it do? What can't it do? (GNG) Features Online/incremental and adaptive number of clusters (not many algorithms with these criteria...) Soft clustering possible with extensions Familiar concepts (family of Cell Structures, minimizes same cost function as k- means) [Fri 2003] B. Fritzke: A Network learns Topologies, Advances in Neural Information Processing Systems (7), MIT Press 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 7

What can it do? How does it do? What can't it do? Basic Methodology (GNG) Builds upon simple, spherical clusters and edges between clusters Algorithm starts with 2 connected clusters and inserts new ones (growing) For each input point, a winning cluster is determined and adapted in the direction of the new input; edge between winner and second cluster is created or renewed Edges with high age are removed, clusters without edges pruned Lifelong GNG (LLGNG): Modification of GNG for life-long learning [Ham 2001] Difference: applies local criteria for each cluster to prevent the unbounded insertion of new clusters (instead of a global limit on the number of clusters) [Ham 2001] F.H. Hamker: Life-long Learning Cell Structures continuously learning without Catastrophic Interference, Neural Networks (14) 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 8

What can it do? How does it do? What can't it do? Shortcomings for Context Classification Only defined for numerical (continuous) input space Output space is the vector of clusters with varying dimensionality, but: clusters do not have any high-level meaning in terms of context Computationally expensive (in comparison to e.g. k-means) 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 9

Coping with Heterogeneous Input Space Meta Clusters Splits and Merges with Vetoing Performance Optimizations Mapping Heterogeneous Dimension Dealing with nominal and ordinal inputs: Don't code, but use in their original range (coding changes the meaning) Only two operations are necessary for each feature dimension similarity measure (distance metric) adaptation operator [MRF 2003b] R. Mayrhofer, H. Radi, A. Ferscha: Feature Extraction in Wireless Personal and Local Area Networks, Proceedings of 6th IFIP MWCN 2003, World Scientific, October 2003 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 10

Coping with Heterogeneous Input Space Meta Clusters Splits and Merges with Vetoing Performance Optimizations Meta Clusters for Higher-Level Classification to LLGNG for context recognition: Usage of a heterogeneous feature space Utilizing the internal topology to allow arbitrarily shaped clusters (components) with dimensionality of input space Feature 2 Cluster space Meta clusters as additional level of abstraction Feature 1 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 11

Coping with Heterogeneous Input Space Meta Clusters Splits and Merges with Vetoing Performance Optimizations Meta Clusters for Higher-Level Classification Connectivity of clusters changes during run-time Creating and removing edges can have influence on connectivity of meta-clusters Merge: new edge created between meta-clusters when input point occurs in between Split: aged edge can cause a metacluster to fall apart into two Merge can be prevented by veto from higher layers when both meta-clusters already mapped Feature 2 Cluster space Need to decide which meta-cluster retains mapping during split Feature 1 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 12

Coping with Heterogeneous Input Space Meta Clusters Splits and Merges with Vetoing Performance Optimizations Dealing with Limited CPU Resources Splaytrees Finding nearest and second nearest cluster to an input point is a common task but expensive because similarity measure needs to be computed for every dimension Limit the amount of comparisons when they can not be optimized Splaytrees keep recently accessed nodes on top of a sorted tree Assumption 1: input points (feature values) are not evenly distributed in cluster space Caching Deletion criterion depends on local similarity of clusters Distance of a cluster to each of its neighbors needs to be computed Computationally expensive because similarity measure needs to be computed for all neighbors in all dimensions Caching local similarity at each node improves performance (but recalculation necessary when a cluster or one of its neighbors changes its position) Assumption 2: input points do not change spontaneously too often (complete change in sensor readings means context switch) 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 13

Coping with Heterogeneous Input Space Meta Clusters Splits and Merges with Vetoing Performance Optimizations Dealing with Limited CPU Resources Preventing split before removal Procedure for removing edges: remove the edge check if previously adjacent clusters are still connected (caching!) if no longer connected, assign new meta cluster ID to one of the meta clusters (split) When a single cluster is split from a meta cluster, it will be deleted afterwards (pruning: clusters without any edge are deleted) Do not complete the split in such a case as it is not necessary 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 14

Comparison with SOM and K-Means Optimizations Open Issues Initial Evaluation with Real-World Data Recorded with a standard laptop Recording completely in the background unobtrusive operation Time frame: ca. 2 months 28 feature dimensions 90000 data points Evaluation of k-means, SOM and LLGNG K-means: smallest error with 6 clusters: 0,7451 SOM: smallest error with 71x21 (=1491) neurons in output layer: 0,5659 Extended LLGNG: 9 meta clusters with 109 clusters: 0,0069 LLGNG produces a smaller error with less clusters than SOM, extended variant offers the additional concept of meta cluster 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 15

Comparison with SOM and K-Means Optimizations Open Issues of Optimizations Evaluation system: Intel P3 Mobile, 850 MHz, 256 MB RAM Linux 2.4.22, Glibc 2.3.2, g++ 3.3.2 with Debugging-Code 131041 points of artificial test data (simulated sensor values every 2 minutes for a period of 26 weeks) Run time Faster by Speedup Splaytree only 165 s 0 % 1 With Caching 88 s 46,67 % 1,875 With Split prevention 166 s - 0,6 % 0,994 All 86 s 47,87 % 1,919 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 16

Comparison with SOM and K-Means Optimizations Open Issues Open Research Questions Better handling of noise in input space User-level feedback loop for meta-cluster mapping during merge and split Dealing with meta-clusters where some input dimensions are not contributing to classification (detecting clusters in sub-spaces) Analyzing influence of heterogeneous input space on various criteria Preserving topology between meta-clusters: mapping to lower dimensionality? Ideas for solutions: Maintaining statistical values per meta-cluster (e.g. center, maximum distance between neighbors, average distance, extent of the whole meta-cluster, etc.) possibly sufficient for topology preservation Tracking global parameters (e.g. error frequency w.r.t. to number of clusters) Maintaining a change vector for each cluster (last change and moving average) possibly helpful for detecting and dealing with noise 2007-02-14 Extending GNG for Context Classification Rene Mayrhofer 17

I find that a great part of the information I have was acquired by looking up something and finding something else on the way. Franklin P. Adams Journalist 2007-02-14 Extending GNG for Context Classific 18

Thank you for your attention! Slides: http://www.mayrhofer.eu.org/presentations Sources: http://www.mayrhofer.eu.org/contextprediction Later questions: rene@mayrhofer.eu.org OpenPGP key: 0xC3C24BDE 7FE4 0DB5 61EC C645 B2F1 C847 ABB4 8F0D C3C2 4BDE 2007-02-14 Extending GNG for Context Classific 19