SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Handling concept drift in data
       stream mining
Student: Manuel Martín Salvador
Supervisors: Luis M. de Campos and Silvia Acid




         Master in Soft Computing and Intelligent Systems
      Department of Computer Science and Artificial Intelligence
                       University of Granada
Who am I?
1. Current: PhD Student in Bournemouth University
2. Previous:
  ●   Computer Engineering in University of Granada
      (2004-2009)
  ●   Programmer and SCRUM Master in Fundación
      I+D del Software Libre (2009-2010)
  ●   Master in Soft Computing and Intelligent
      Systems in University of Granada (2010-2011)
  ●   Researcher in Department of Computer Science
      and Artificial Intelligence of UGR (2010-2012)
Index
1. Data streams
2. Online Learning
3. Evaluation
4. Taxonomy of methods
5. Contributions
6. MOA
7. Experimentation
8. Conclusions and future work


                                 3
Data streams
  1. Continous flow of instances.
       ●    In classification: instance = (a1 , a2 , …, an , c)
  2. Unlimited size
  3. May have changes in the underlying distribution of the
    data → concept drift




                                                                  4
Image: I. Žliobaitė thesis
Concept drifts
●   It happens when the data from a stream changes its
    probability distribution ПS1 to another ПS2. Potential
    causes:
    ●   Change in P(C)
    ●   Change in P(X|C)
    ●   Change in P(C|X)
●   Unpredictable
●   For example: spam


                                                             5
Gradual concept drift




                             6
Image: I. Žliobaitė thesis
Types of concept drifts




                              7
Image: D. Brzeziński thesis
Types of concept drifts




                              8
Image: D. Brzeziński thesis
Example: STAGGER
                          color=red   color=green    size=medium
Class=true if →              and           or              or
                         size=small   shape=cricle     size=large




                                                                    9

Image: Kolter & Maloof
Online learning (incremental)
●   Goal: incrementally learn a classifier at least as
    accurate as if it had been trained in batch
●   Requirements:
    1. Incremental
    2. Single pass
    3. Limited time and memory
    4. Any-time learning: availability of the model




                                                         10
Online learning (incremental)
●   Goal: incrementally learn a classifier at least as
    accurate as if it had been trained in batch
●   Requirements:
    1. Incremental
    2. Single pass
    3. Limited time and memory
    4. Any-time learning: availability of the model
●   Nice to have: deal with concept drift.


                                                         11
Evaluation
Several criteria:
   ●   Time → seconds
   ●   Memory → RAM/hour
   ●   Generalizability of the model → % success
   ●   Detecting concept drift → detected drifts, false
       positives and false negatives




                                                          12
Evaluation
Several criteria:
   ●   Time → seconds
   ●   Memory → RAM/hour
   ●   Generalizability of the model → % success
   ●   Detecting concept drift → detected drifts, false
       positives and false negatives


Problem: we can't use the traditional techniques for
evaluation (i.e. cross validation). → Solution: new
strategies.
                                                          13
Evaluation: prequential
●   Test y training each instance.                     errors
                                                 processed instances

●   Is a pessimistic estimator: holds the errors since the
    beginning of the stream. → Solution: forgetting
    mechanisms (sliding window and fading factor).
                       errors inside window
     Sliding window:       window size                                 …...


                        currentError⋅errors
     Fading factor:    1⋅processed instances                         …...




    Advantages: All instances are used for training.
                Useful for data streams with concept drifts.                  14
Evaluation: comparing




         Which method is better?   15
Evaluation: comparing




       Which method is better? → AUC   16
Evaluation: drift detection
●   First detected: correct.
●   Following detected: false positives.
●   Not detected: false negatives.
●   Distance = correct – real.




                                           17
Taxonomy of methods
                            ● Change detectors
  Learners with             ● Training windows
  triggers                  ● Adaptive sampling



   ✔ Advantages: can be used by any classification algorithm.
   ✗ Disadvantages: usually, once detected a change, they discard the old
     model and relearn a new one.




                                                                            18
Taxonomy of methods
                            ● Change detectors
  Learners with             ● Training windows
  triggers                  ● Adaptive sampling



   ✔ Advantages: can be used by any classification algorithm.
   ✗ Disadvantages: usually, once detected a change, they discard the old
     model and relearn a new one.

                            ● Adaptive ensembles
  Evolving                  ● Instance weighting

  Learners                  ● Feature space

                            ● Base model specific


   ✔ Advantages: they continually adapt the model over time
   ✗ Disadvantages: they don't detect changes.                              19
Contributions
●   Taxonomy: triggers → change detectors
    ●   MoreErrorsMoving
    ●   MaxMoving
    ●   Moving Average
        –   Heuristic 1
        –   Heuristic 2
        –   Hybrid heuristic: 1+2

●   P-chart with 3 levels: normal, warning and drift

                                                       20
Contributions: MoreErrorsMoving
●   n latest results of classification are monitored →
    History = {ei , ei+1 , …, ei+n} (i.e. 0,0,1,1)

●   History error rate:
●   The consecutive declines are controlled
●   At each time step:
    ●   If ci - 1 < ci (more errors) → declines++
    ●   If ci - 1 > ci (less errors) → declines=0
    ●   If ci - 1 = ci (same) → declines don't change
                                                         21
Contributions: MoreErrorsMoving
●   If consecutive declines > k → enable Warning
●   If consecutive declines > k+d → enable Drift
●   Otherwise → enable Normality




                                                   22
Contributions: MoreErrorsMoving
                        History = 8
                        Warning = 2
                        Drift = 4




                        Detected
                        drifts:
                        46 y 88




                        Distance to real drifts:
                        46-40 = 6
                        88-80 = 8



                                               23
Contributions: MaxMoving
●   n latest success accumulated rates are monitored since
    the last change
    ●   History={ai , ai+1 , …, ai+n} (i.e. H={2/5, 3/6, 4/7, 4/8})
●   History maximum:
●   The consecutive declines are controlled
●   At each time step:
    ●   If mi < mi - 1 → declines++
    ●   If mi > mi - 1 → declines=0
    ●   If mi = mi - 1 → declines don't change
                                                                      24
Contributions: MaxMoving
                           History = 4
                           Warning = 4
                           Drift = 8




                           Detected
                           drifts:
                           52 y 90




                           Distance to real drifts:
                           52-40 = 12
                           90-80 = 10



                                                  25
Contributions: Moving Average
      Goal: to smooth accuracy rates for better detection.




                                                             26
Contributions: Moving Average 1
●   m latest success accumulated rates are smoothed → Simple
    moving average (unweighted mean)




●   The consecutive declines are controlled
●   At each time step:
    ●   If st < st - 1 → declines++
    ●   If st > st - 1 → declines = 0
    ●   If st = st - 1 → declines don't change
                                                               27
Contributions: Moving Average 1
                         Smooth = 32
                         Warning = 4
                         Drift = 8




                         Detected
                         drifts:
                         49 y 91




                         Distance to real drifts:
                         49-40 = 9
                         91-80 = 11



                                                28
Contributions: Moving Average 2
●   History of size n with the smoothed success rates →
    History={si, si+1, …, si+n}
●   History maximum:
●   Difference between st and mt – 1 is monitored
●   At each time step:
    ●   If mt – 1 - st > u → enable Warning
    ●   If mt – 1 - st > v → enable Drift
    ●   Otherwise → enable Normality
●   Suitable for abrupt changes
                                                          29
Contributions: Moving Average 2
                         Smooth = 4
                         History = 32
                         Warning = 2%
                         Drift = 4%


                         Detected
                         drifts:
                         44 y 87




                         Distance to real drifts:
                         44-40 = 4
                         87-80 = 7



                                                30
Contributions: Moving Average Hybrid
 ●   Heuristics 1 and 2 are combined:
     ●   If Warning1 or Warning2 → enable Warning
     ●   If Drift1 or Drift2 → enable Drift
     ●   Otherwise → enable Normality




                                                    31
MOA: Massive Online Analysis
●   Framework for data stream mining. Algorithms for
    classification, regression and clustering.
●   University of Waikato → WEKA integration.
●   Graphical user interface and command line.
●   Data stream generators.
●   Evaluation methods (holdout and prequential).
●   Open source and free.



                                      http://moa.cs.waikato.ac.nz
                                                                    32
Experimentation
●   Our data streams:
    ●   5 synthetic with abrupt changes
    ●   2 synthetic with gradual changes
    ●   1 synthetic with noise
    ●   3 with real data




                                           33
Experimentation
●   Our data streams:
    ●   5 synthetic with abrupt changes
    ●   2 synthetic with gradual changes
    ●   1 synthetic with noise
    ●   3 with real data
●   Classification algorithm: Naive Bayes




                                            34
Experimentation
●   Our data streams:
    ●   5 synthetic with abrupt changes
    ●   2 synthetic with gradual changes
    ●   1 synthetic with noise
    ●   3 with real data
●   Classification algorithm: Naive Bayes
●   Detection methods:
        No detection         MovingAverage1
        MoreErrorsMoving     MovingAverage2
        MaxMoving            MovingAverageH
        DDM                  EDDM             35
Experimentation
●   Parameters tuning:
    ●   4 streams y 5 methods → 288 experiments




                                                  36
Experimentation
●   Parameters tuning:
    ●   4 streams y 5 methods → 288 experiments
●   Comparative study:
    ●   11 streams y 8+1 methods → 99 experiments




                                                    37
Experimentation
●   Parameters tuning:
    ●   4 streams y 5 methods → 288 experiments
●   Comparative study:
    ●   11 streams y 8+1 methods → 99 experiments
●   Evaluation: prequential




                                                    38
Experimentation
●   Parameters tuning:
    ●   4 streams y 5 methods → 288 experiments
●   Comparative study:
    ●   11 streams y 8+1 methods → 99 experiments
●   Evaluation: prequential
●   Measurements:
    ●   AUC: area under the curve of accumulated success
        rates
    ●   Number of correct drifts
    ●   Distance to drifts
    ●   False positives and false negatives                39
Experimentation: Agrawal




                           40
Experimentation: Electricity




                               41
Conclussions of experimentation
1. With abrupt changes:
  ●   More victories: DDM and MovingAverageH
  ●   Best in mean: MoreErrorsMoving → very responsive
2. With gradual changes:
  ●   Best: DDM and EDDM
  ●   Problem: many false positives → parameter tunning only with abrupt
      changes
3. With noise:
  ●   Only winner: DDM
  ●   Problem: noise sensitive → parameter tunning only with no-noise data
4. Real data:
  ●   Best: MovingAverage1 and MovingAverageH

                                                                             42
Conclussions of this work
1. Our methods are competitive, although sensitive to
  the parameters → Dynamic fit
2. Evaluation is not trivial → Standardization is needed
3. Large field of application in industry
4. Hot topic: last papers from 2011 + conferences




                                                           43
Future work
1. Dynamic adjustment of parameters.
2. Measuring the abruptness of change for:
  ●   Using differents forgetting mechanisms.
  ●   Setting the degree of change of the model.
3. Develop an incremental learning algorithm which
  allows partial changes of the model when a drift is
  detected.




                                                        44
Thank you




            45

Mais conteúdo relacionado

Mais procurados

AlexNet, VGG, GoogleNet, Resnet
AlexNet, VGG, GoogleNet, ResnetAlexNet, VGG, GoogleNet, Resnet
AlexNet, VGG, GoogleNet, ResnetJungwon Kim
 
Support vector machine
Support vector machineSupport vector machine
Support vector machineMusa Hawamdah
 
Deep belief network.pptx
Deep belief network.pptxDeep belief network.pptx
Deep belief network.pptxSushilAcharya18
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep LearningSebastian Ruder
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter TuningJon Lederman
 
Loss Function.pptx
Loss Function.pptxLoss Function.pptx
Loss Function.pptxfunnyworld18
 
Deep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningDeep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningShubhmay Potdar
 
Gradient descent optimizer
Gradient descent optimizerGradient descent optimizer
Gradient descent optimizerHojin Yang
 
Support Vector Machines for Classification
Support Vector Machines for ClassificationSupport Vector Machines for Classification
Support Vector Machines for ClassificationPrakash Pimpale
 
Optimization in Deep Learning
Optimization in Deep LearningOptimization in Deep Learning
Optimization in Deep LearningYan Xu
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector Machinesnextlib
 
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...Jonas Traub
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximizationbutest
 
Convolutional Neural Network and Its Applications
Convolutional Neural Network and Its ApplicationsConvolutional Neural Network and Its Applications
Convolutional Neural Network and Its ApplicationsKasun Chinthaka Piyarathna
 
Long Short Term Memory (Neural Networks)
Long Short Term Memory (Neural Networks)Long Short Term Memory (Neural Networks)
Long Short Term Memory (Neural Networks)Olusola Amusan
 
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsPR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsJinwon Lee
 
Semi-Supervised Learning
Semi-Supervised LearningSemi-Supervised Learning
Semi-Supervised LearningLukas Tencer
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function홍배 김
 
Introduction to Statistical Machine Learning
Introduction to Statistical Machine LearningIntroduction to Statistical Machine Learning
Introduction to Statistical Machine Learningmahutte
 

Mais procurados (20)

AlexNet, VGG, GoogleNet, Resnet
AlexNet, VGG, GoogleNet, ResnetAlexNet, VGG, GoogleNet, Resnet
AlexNet, VGG, GoogleNet, Resnet
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Deep belief network.pptx
Deep belief network.pptxDeep belief network.pptx
Deep belief network.pptx
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep Learning
 
Hyperparameter Tuning
Hyperparameter TuningHyperparameter Tuning
Hyperparameter Tuning
 
Loss Function.pptx
Loss Function.pptxLoss Function.pptx
Loss Function.pptx
 
Deep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningDeep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter Tuning
 
Gradient descent optimizer
Gradient descent optimizerGradient descent optimizer
Gradient descent optimizer
 
Support Vector Machines for Classification
Support Vector Machines for ClassificationSupport Vector Machines for Classification
Support Vector Machines for Classification
 
Optimization in Deep Learning
Optimization in Deep LearningOptimization in Deep Learning
Optimization in Deep Learning
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector Machines
 
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...
Scalable Detection of Concept Drifts on Data Streams with Parallel Adaptive W...
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximization
 
Convolutional Neural Network and Its Applications
Convolutional Neural Network and Its ApplicationsConvolutional Neural Network and Its Applications
Convolutional Neural Network and Its Applications
 
Long Short Term Memory (Neural Networks)
Long Short Term Memory (Neural Networks)Long Short Term Memory (Neural Networks)
Long Short Term Memory (Neural Networks)
 
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual RepresentationsPR-231: A Simple Framework for Contrastive Learning of Visual Representations
PR-231: A Simple Framework for Contrastive Learning of Visual Representations
 
K Nearest Neighbor Algorithm
K Nearest Neighbor AlgorithmK Nearest Neighbor Algorithm
K Nearest Neighbor Algorithm
 
Semi-Supervised Learning
Semi-Supervised LearningSemi-Supervised Learning
Semi-Supervised Learning
 
The world of loss function
The world of loss functionThe world of loss function
The world of loss function
 
Introduction to Statistical Machine Learning
Introduction to Statistical Machine LearningIntroduction to Statistical Machine Learning
Introduction to Statistical Machine Learning
 

Semelhante a Handling concept drift in data stream mining

How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...Viach Kakovskyi
 
Machine learning using matlab.pdf
Machine learning using matlab.pdfMachine learning using matlab.pdf
Machine learning using matlab.pdfppvijith
 
adversarial robustness lecture
adversarial robustness lectureadversarial robustness lecture
adversarial robustness lectureMuhammadAhmedShah2
 
Optimization of power systems - old and new tools
Optimization of power systems - old and new toolsOptimization of power systems - old and new tools
Optimization of power systems - old and new toolsOlivier Teytaud
 
Tools for Discrete Time Control; Application to Power Systems
Tools for Discrete Time Control; Application to Power SystemsTools for Discrete Time Control; Application to Power Systems
Tools for Discrete Time Control; Application to Power SystemsOlivier Teytaud
 
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)Universitat Politècnica de Catalunya
 
Causality without headaches
Causality without headachesCausality without headaches
Causality without headachesBenoît Rostykus
 
Online machine learning in Streaming Applications
Online machine learning in Streaming ApplicationsOnline machine learning in Streaming Applications
Online machine learning in Streaming ApplicationsStavros Kontopoulos
 
Dimensionality Reduction | Machine Learning | CloudxLab
Dimensionality Reduction | Machine Learning | CloudxLabDimensionality Reduction | Machine Learning | CloudxLab
Dimensionality Reduction | Machine Learning | CloudxLabCloudxLab
 
Online Machine Learning: introduction and examples
Online Machine Learning:  introduction and examplesOnline Machine Learning:  introduction and examples
Online Machine Learning: introduction and examplesFelipe
 
Training DNN Models - II.pptx
Training DNN Models - II.pptxTraining DNN Models - II.pptx
Training DNN Models - II.pptxPrabhuSelvaraj15
 
Aaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAminaRepo
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...sleepy_yoshi
 
Beyond Churn Prediction : An Introduction to uplift modeling
Beyond Churn Prediction : An Introduction to uplift modelingBeyond Churn Prediction : An Introduction to uplift modeling
Beyond Churn Prediction : An Introduction to uplift modelingPierre Gutierrez
 
Jay Yagnik at AI Frontiers : A History Lesson on AI
Jay Yagnik at AI Frontiers : A History Lesson on AIJay Yagnik at AI Frontiers : A History Lesson on AI
Jay Yagnik at AI Frontiers : A History Lesson on AIAI Frontiers
 
Making BIG DATA smaller
Making BIG DATA smallerMaking BIG DATA smaller
Making BIG DATA smallerTony Tran
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
 
DRL #2-3 - Multi-Armed Bandits .pptx.pdf
DRL #2-3 - Multi-Armed Bandits .pptx.pdfDRL #2-3 - Multi-Armed Bandits .pptx.pdf
DRL #2-3 - Multi-Armed Bandits .pptx.pdfGulamSarwar31
 
Overview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningOverview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningKhang Pham
 

Semelhante a Handling concept drift in data stream mining (20)

How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...How to easily find the optimal solution without exhaustive search using Genet...
How to easily find the optimal solution without exhaustive search using Genet...
 
Machine learning using matlab.pdf
Machine learning using matlab.pdfMachine learning using matlab.pdf
Machine learning using matlab.pdf
 
adversarial robustness lecture
adversarial robustness lectureadversarial robustness lecture
adversarial robustness lecture
 
Optimization of power systems - old and new tools
Optimization of power systems - old and new toolsOptimization of power systems - old and new tools
Optimization of power systems - old and new tools
 
Tools for Discrete Time Control; Application to Power Systems
Tools for Discrete Time Control; Application to Power SystemsTools for Discrete Time Control; Application to Power Systems
Tools for Discrete Time Control; Application to Power Systems
 
Meetup_FGVA_Uplift @ Dataiku
Meetup_FGVA_Uplift @ DataikuMeetup_FGVA_Uplift @ Dataiku
Meetup_FGVA_Uplift @ Dataiku
 
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)
Optimization (DLAI D4L1 2017 UPC Deep Learning for Artificial Intelligence)
 
Causality without headaches
Causality without headachesCausality without headaches
Causality without headaches
 
Online machine learning in Streaming Applications
Online machine learning in Streaming ApplicationsOnline machine learning in Streaming Applications
Online machine learning in Streaming Applications
 
Dimensionality Reduction | Machine Learning | CloudxLab
Dimensionality Reduction | Machine Learning | CloudxLabDimensionality Reduction | Machine Learning | CloudxLab
Dimensionality Reduction | Machine Learning | CloudxLab
 
Online Machine Learning: introduction and examples
Online Machine Learning:  introduction and examplesOnline Machine Learning:  introduction and examples
Online Machine Learning: introduction and examples
 
Training DNN Models - II.pptx
Training DNN Models - II.pptxTraining DNN Models - II.pptx
Training DNN Models - II.pptx
 
Aaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clusteringAaa ped-16-Unsupervised Learning: clustering
Aaa ped-16-Unsupervised Learning: clustering
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
 
Beyond Churn Prediction : An Introduction to uplift modeling
Beyond Churn Prediction : An Introduction to uplift modelingBeyond Churn Prediction : An Introduction to uplift modeling
Beyond Churn Prediction : An Introduction to uplift modeling
 
Jay Yagnik at AI Frontiers : A History Lesson on AI
Jay Yagnik at AI Frontiers : A History Lesson on AIJay Yagnik at AI Frontiers : A History Lesson on AI
Jay Yagnik at AI Frontiers : A History Lesson on AI
 
Making BIG DATA smaller
Making BIG DATA smallerMaking BIG DATA smaller
Making BIG DATA smaller
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
 
DRL #2-3 - Multi-Armed Bandits .pptx.pdf
DRL #2-3 - Multi-Armed Bandits .pptx.pdfDRL #2-3 - Multi-Armed Bandits .pptx.pdf
DRL #2-3 - Multi-Armed Bandits .pptx.pdf
 
Overview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep LearningOverview on Optimization algorithms in Deep Learning
Overview on Optimization algorithms in Deep Learning
 

Mais de Manuel Martín

Automatizando el aprendizaje basado en datos
Automatizando el aprendizaje basado en datosAutomatizando el aprendizaje basado en datos
Automatizando el aprendizaje basado en datosManuel Martín
 
Modelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsModelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsManuel Martín
 
Brand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveBrand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveManuel Martín
 
Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Manuel Martín
 
Improving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesImproving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesManuel Martín
 
Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Manuel Martín
 
Towards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsTowards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsManuel Martín
 
From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...Manuel Martín
 
Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Manuel Martín
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyManuel Martín
 
Artificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisArtificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisManuel Martín
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datosManuel Martín
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datosManuel Martín
 
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaAndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaManuel Martín
 
Operaciones Colectivas en MPI
Operaciones Colectivas en MPIOperaciones Colectivas en MPI
Operaciones Colectivas en MPIManuel Martín
 
Introducción a GNU/Linux
Introducción a GNU/LinuxIntroducción a GNU/Linux
Introducción a GNU/LinuxManuel Martín
 
Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Manuel Martín
 
Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Manuel Martín
 

Mais de Manuel Martín (20)

Hogar (Des)Conectado
Hogar (Des)ConectadoHogar (Des)Conectado
Hogar (Des)Conectado
 
Automatizando el aprendizaje basado en datos
Automatizando el aprendizaje basado en datosAutomatizando el aprendizaje basado en datos
Automatizando el aprendizaje basado en datos
 
Modelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsModelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri Nets
 
Brand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveBrand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspective
 
Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...
 
Improving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesImproving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devices
 
Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?
 
Towards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsTowards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive Systems
 
From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...
 
Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
 
Artificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisArtificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data Analysis
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datos
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datos
 
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaAndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Operaciones Colectivas en MPI
Operaciones Colectivas en MPIOperaciones Colectivas en MPI
Operaciones Colectivas en MPI
 
Introducción a GNU/Linux
Introducción a GNU/LinuxIntroducción a GNU/Linux
Introducción a GNU/Linux
 
Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011
 
Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Handling concept drift in data stream mining

  • 1. Handling concept drift in data stream mining Student: Manuel Martín Salvador Supervisors: Luis M. de Campos and Silvia Acid Master in Soft Computing and Intelligent Systems Department of Computer Science and Artificial Intelligence University of Granada
  • 2. Who am I? 1. Current: PhD Student in Bournemouth University 2. Previous: ● Computer Engineering in University of Granada (2004-2009) ● Programmer and SCRUM Master in Fundación I+D del Software Libre (2009-2010) ● Master in Soft Computing and Intelligent Systems in University of Granada (2010-2011) ● Researcher in Department of Computer Science and Artificial Intelligence of UGR (2010-2012)
  • 3. Index 1. Data streams 2. Online Learning 3. Evaluation 4. Taxonomy of methods 5. Contributions 6. MOA 7. Experimentation 8. Conclusions and future work 3
  • 4. Data streams 1. Continous flow of instances. ● In classification: instance = (a1 , a2 , …, an , c) 2. Unlimited size 3. May have changes in the underlying distribution of the data → concept drift 4 Image: I. Žliobaitė thesis
  • 5. Concept drifts ● It happens when the data from a stream changes its probability distribution ПS1 to another ПS2. Potential causes: ● Change in P(C) ● Change in P(X|C) ● Change in P(C|X) ● Unpredictable ● For example: spam 5
  • 6. Gradual concept drift 6 Image: I. Žliobaitė thesis
  • 7. Types of concept drifts 7 Image: D. Brzeziński thesis
  • 8. Types of concept drifts 8 Image: D. Brzeziński thesis
  • 9. Example: STAGGER color=red color=green size=medium Class=true if → and or or size=small shape=cricle size=large 9 Image: Kolter & Maloof
  • 10. Online learning (incremental) ● Goal: incrementally learn a classifier at least as accurate as if it had been trained in batch ● Requirements: 1. Incremental 2. Single pass 3. Limited time and memory 4. Any-time learning: availability of the model 10
  • 11. Online learning (incremental) ● Goal: incrementally learn a classifier at least as accurate as if it had been trained in batch ● Requirements: 1. Incremental 2. Single pass 3. Limited time and memory 4. Any-time learning: availability of the model ● Nice to have: deal with concept drift. 11
  • 12. Evaluation Several criteria: ● Time → seconds ● Memory → RAM/hour ● Generalizability of the model → % success ● Detecting concept drift → detected drifts, false positives and false negatives 12
  • 13. Evaluation Several criteria: ● Time → seconds ● Memory → RAM/hour ● Generalizability of the model → % success ● Detecting concept drift → detected drifts, false positives and false negatives Problem: we can't use the traditional techniques for evaluation (i.e. cross validation). → Solution: new strategies. 13
  • 14. Evaluation: prequential ● Test y training each instance. errors processed instances ● Is a pessimistic estimator: holds the errors since the beginning of the stream. → Solution: forgetting mechanisms (sliding window and fading factor). errors inside window Sliding window: window size …... currentError⋅errors Fading factor: 1⋅processed instances …... Advantages: All instances are used for training. Useful for data streams with concept drifts. 14
  • 15. Evaluation: comparing Which method is better? 15
  • 16. Evaluation: comparing Which method is better? → AUC 16
  • 17. Evaluation: drift detection ● First detected: correct. ● Following detected: false positives. ● Not detected: false negatives. ● Distance = correct – real. 17
  • 18. Taxonomy of methods ● Change detectors Learners with ● Training windows triggers ● Adaptive sampling ✔ Advantages: can be used by any classification algorithm. ✗ Disadvantages: usually, once detected a change, they discard the old model and relearn a new one. 18
  • 19. Taxonomy of methods ● Change detectors Learners with ● Training windows triggers ● Adaptive sampling ✔ Advantages: can be used by any classification algorithm. ✗ Disadvantages: usually, once detected a change, they discard the old model and relearn a new one. ● Adaptive ensembles Evolving ● Instance weighting Learners ● Feature space ● Base model specific ✔ Advantages: they continually adapt the model over time ✗ Disadvantages: they don't detect changes. 19
  • 20. Contributions ● Taxonomy: triggers → change detectors ● MoreErrorsMoving ● MaxMoving ● Moving Average – Heuristic 1 – Heuristic 2 – Hybrid heuristic: 1+2 ● P-chart with 3 levels: normal, warning and drift 20
  • 21. Contributions: MoreErrorsMoving ● n latest results of classification are monitored → History = {ei , ei+1 , …, ei+n} (i.e. 0,0,1,1) ● History error rate: ● The consecutive declines are controlled ● At each time step: ● If ci - 1 < ci (more errors) → declines++ ● If ci - 1 > ci (less errors) → declines=0 ● If ci - 1 = ci (same) → declines don't change 21
  • 22. Contributions: MoreErrorsMoving ● If consecutive declines > k → enable Warning ● If consecutive declines > k+d → enable Drift ● Otherwise → enable Normality 22
  • 23. Contributions: MoreErrorsMoving History = 8 Warning = 2 Drift = 4 Detected drifts: 46 y 88 Distance to real drifts: 46-40 = 6 88-80 = 8 23
  • 24. Contributions: MaxMoving ● n latest success accumulated rates are monitored since the last change ● History={ai , ai+1 , …, ai+n} (i.e. H={2/5, 3/6, 4/7, 4/8}) ● History maximum: ● The consecutive declines are controlled ● At each time step: ● If mi < mi - 1 → declines++ ● If mi > mi - 1 → declines=0 ● If mi = mi - 1 → declines don't change 24
  • 25. Contributions: MaxMoving History = 4 Warning = 4 Drift = 8 Detected drifts: 52 y 90 Distance to real drifts: 52-40 = 12 90-80 = 10 25
  • 26. Contributions: Moving Average Goal: to smooth accuracy rates for better detection. 26
  • 27. Contributions: Moving Average 1 ● m latest success accumulated rates are smoothed → Simple moving average (unweighted mean) ● The consecutive declines are controlled ● At each time step: ● If st < st - 1 → declines++ ● If st > st - 1 → declines = 0 ● If st = st - 1 → declines don't change 27
  • 28. Contributions: Moving Average 1 Smooth = 32 Warning = 4 Drift = 8 Detected drifts: 49 y 91 Distance to real drifts: 49-40 = 9 91-80 = 11 28
  • 29. Contributions: Moving Average 2 ● History of size n with the smoothed success rates → History={si, si+1, …, si+n} ● History maximum: ● Difference between st and mt – 1 is monitored ● At each time step: ● If mt – 1 - st > u → enable Warning ● If mt – 1 - st > v → enable Drift ● Otherwise → enable Normality ● Suitable for abrupt changes 29
  • 30. Contributions: Moving Average 2 Smooth = 4 History = 32 Warning = 2% Drift = 4% Detected drifts: 44 y 87 Distance to real drifts: 44-40 = 4 87-80 = 7 30
  • 31. Contributions: Moving Average Hybrid ● Heuristics 1 and 2 are combined: ● If Warning1 or Warning2 → enable Warning ● If Drift1 or Drift2 → enable Drift ● Otherwise → enable Normality 31
  • 32. MOA: Massive Online Analysis ● Framework for data stream mining. Algorithms for classification, regression and clustering. ● University of Waikato → WEKA integration. ● Graphical user interface and command line. ● Data stream generators. ● Evaluation methods (holdout and prequential). ● Open source and free. http://moa.cs.waikato.ac.nz 32
  • 33. Experimentation ● Our data streams: ● 5 synthetic with abrupt changes ● 2 synthetic with gradual changes ● 1 synthetic with noise ● 3 with real data 33
  • 34. Experimentation ● Our data streams: ● 5 synthetic with abrupt changes ● 2 synthetic with gradual changes ● 1 synthetic with noise ● 3 with real data ● Classification algorithm: Naive Bayes 34
  • 35. Experimentation ● Our data streams: ● 5 synthetic with abrupt changes ● 2 synthetic with gradual changes ● 1 synthetic with noise ● 3 with real data ● Classification algorithm: Naive Bayes ● Detection methods: No detection MovingAverage1 MoreErrorsMoving MovingAverage2 MaxMoving MovingAverageH DDM EDDM 35
  • 36. Experimentation ● Parameters tuning: ● 4 streams y 5 methods → 288 experiments 36
  • 37. Experimentation ● Parameters tuning: ● 4 streams y 5 methods → 288 experiments ● Comparative study: ● 11 streams y 8+1 methods → 99 experiments 37
  • 38. Experimentation ● Parameters tuning: ● 4 streams y 5 methods → 288 experiments ● Comparative study: ● 11 streams y 8+1 methods → 99 experiments ● Evaluation: prequential 38
  • 39. Experimentation ● Parameters tuning: ● 4 streams y 5 methods → 288 experiments ● Comparative study: ● 11 streams y 8+1 methods → 99 experiments ● Evaluation: prequential ● Measurements: ● AUC: area under the curve of accumulated success rates ● Number of correct drifts ● Distance to drifts ● False positives and false negatives 39
  • 42. Conclussions of experimentation 1. With abrupt changes: ● More victories: DDM and MovingAverageH ● Best in mean: MoreErrorsMoving → very responsive 2. With gradual changes: ● Best: DDM and EDDM ● Problem: many false positives → parameter tunning only with abrupt changes 3. With noise: ● Only winner: DDM ● Problem: noise sensitive → parameter tunning only with no-noise data 4. Real data: ● Best: MovingAverage1 and MovingAverageH 42
  • 43. Conclussions of this work 1. Our methods are competitive, although sensitive to the parameters → Dynamic fit 2. Evaluation is not trivial → Standardization is needed 3. Large field of application in industry 4. Hot topic: last papers from 2011 + conferences 43
  • 44. Future work 1. Dynamic adjustment of parameters. 2. Measuring the abruptness of change for: ● Using differents forgetting mechanisms. ● Setting the degree of change of the model. 3. Develop an incremental learning algorithm which allows partial changes of the model when a drift is detected. 44
  • 45. Thank you 45