Mining High-Speed Data Streams Pedro Domingos Geoff Hulten Sixth ACM SIGKDD International Conference - 2000 Presented by: Tyler J. Sawyer UVM Spring 2014 - CS 332 Data Mining 2 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 3 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 4 Introduction • • • In today’s society, the ability to extract and interpret knowledge and data quickly and efficiently is an increasingly important task. Many organizations today have expandable databases that grow at a rate of several million records per day. Mining these databases yield the following: o Unique opportunities for data analysis o Complex challenges to overcome 5 Introduction - Cont. • • • Knowledge Discovery Systems are limited by the following: o Time o Memory o Sample Size Traditional Systems: o Amount of available data is small o Systems use a fraction of their computation power to avoid overfitting Current Systems: o Bottleneck is time and memory o Majority of sample data is unused; underfitting issues surface. 6 Introduction - Cont. • Today’s Algorithms: o o o o Efficient, but cannot handle supermassive databases. Current Data Mining systems are not equipped to handle the exponential increase of data expansion New examples arrive at a higher rate than they can be mined → Data Corruption! 7 Introduction - Cont. • Requirements for ‘Modern’ Algorithms: o o o o o o o Operate continuously and indefinitely Incorporate new examples as they become available Never lose potentially valuable information Build a model using at most one scan of a database or dataset Use only a fixed amount of main memory. Require small, constant time per record. Make a usable model that can be available at any point during the algorithm’s runtime. 8 Introduction - Cont. • What can fulfill these requirements? Incremental Learning Methods Online Methods Successive Methods Sequential Methods While these methods are efficient, they are not always accurate. These methods rarely recover from a set of unfavorable early examples o • • 9 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 10 Hoeffding Trees • Classic Decision Tree Learners o Examples: ID3, C4.5, CART o Assumes examples can be stored simultaneously in main memory; loss of learnable examples. • Disk-based Decision Tree Learners o Examples: SLIQ, SPRINT o Assumes examples are stored on disk. o Big Datasets easily fill disk and errors occur when the dataset is too large to fit. 11 Hoeffding Trees - Cont. • A typical type of Classification Problem o o o o Given : N training examples in the form (x,y) y = discrete class label x = vector of d attributes Goal: Produce a model, y = f(x), to predict classes y of future examples x with high accuracy. 12 Hoeffding Trees - Cont. • • Challenge : Design a decision tree learner for extremely large (potentially infinite) datasets with high accuracy and low computational cost. Given a stream of examples: o The first ones will be used to choose the root test o Succeeding ones will pass to corresponding leaves o Pick the best attributes at each leaf o Continue process recursively 13 Hoeffding Trees - Cont. • But how do we decide how many examples are necessary at each node? o o Use a statistical result! the Hoeffding bound (Chernoff bound) 14 Hoeffding Trees - Cont. • Hoeffding Bound : o G: heuristic measure used to choose test attributes C4.5 ⇒ information gain CART ⇒ Gini index Assume G(.) is to be maximized o G: heuristic measure after seeing n examples o Xa: attribute with the highest observed G o Xb: second-best attribute o △G: difference between Xa and Xb o △G = G(Xa) - G(Xb) > 0 o δ: probability of choosing the wrong attribute 15 Hoeffding Trees - Cont. • • The Hoeffding Bound: o after n examples, If △G > ϵ Xa is the best attribute with probability 1 - δ Node needs to accumulate examples from the stream until ϵ becomes smaller than △G. o R = range of a real numbered random variables, r o n = independent observations of this variable. 16 Hoeffding Tree Algorithm • Inputs: o o o o • S : sequence of examples X : set of discrete attributes G(.) : split evaluation function δ : desired probability of choosing the wrong attribute at any given node Output: o HT : A decision tree (Hoeffding Tree) 17 Hoeffding Tree Algorithm - Cont. 18 Hoeffding Tree Algorithm - Cont. 19 Hoeffding Tree Algorithm - Cont. 20 Hoeffding Trees - Cont. • • Hoeffding Tree Algorithm guarantees under realistic assumptions the trees generated will be similar to batch learners. o p1 : Leaf Probability (assume this is a constant) o HTδ : Tree produced by HT algorithm with desired δ given an infinite sequence of examples, S. o DT* : Decision tree produced by choosing at each node the attribute with the best G. o △i : Intentional disagreement between two decision trees. P(x) : Probability that the attribute vector x will be observed. l(x) : indicator function (1 : True, 0 : False) ⇒ △i (DT1, DT2) = Σx P(x) l [Path1(x) ≠ Path2(x)] Theorem 1: E[△i (HTδ,DT*)] < δ / p 21 Hoeffding Trees - Cont. • • • Suppose Xa and Xb differ by roughly 10%. According to o δ = 0.1% requires only 380 examples o δ = 0.0001% requires only 345 more examples. An exponential improvement in δ can be obtained with a linear increase in the number of examples. 22 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 23 The VFDT System • • • • Very Fast Decision Tree learner (VFDT) A decision tree learning system Based on the Hoeffding Tree algorithm VFDT allows the use of either information gain or the Gini index as the attribute evaluation measure. 24 The VFDT System - Cont. • Includes a number of refinements to the Hoeffding Tree algorithm: Ties o G-Computation o Memory o Poor Attributes o Initialization o Rescans o 25 The VFDT System - Ties • • • • • Two or more attributes may have similar G’s A large number of examples may be required to decide between them with high confidence. In this case, the chosen attribute makes little difference. In a VFDT, we specify a user-threshold, τ Thus, if △G < ϵ < τ : split on current best attribute. 26 The VFDT System - G-Computation • • • • The most significant part of the time cost per example is recomputing G. Computing a G value for every new example is inefficient. In a VFDT, users can specify an nmin value. nmin : Number of new examples that must accumulate at a leaf before recomputing G. 27 The VFDT System - Memory • • • • a VFDT’s memory use is dominated by the memory required to keep counts for all growing leaves. If the maximum available memory is reached, VFDT deactivates the least promising leaves. The least promising leaves are considered to be the ones with the lowest values of plel. When a leaf is deactivated, its memory is freed, except for a single number used to store the value of plel. 28 The VFDT System - Poor Attributes • • • a VFDT’s memory usage is also minimized by dropping early on attributes that do not look promising. As soon as the difference between an attribute’s G and the best one’s becomes greater than ϵ, then the attribute can be dropped. The memory used to store the corresponding counts can also be freed. 29 The VFDT System - Initialization • • • VFDT can be initialized with the tree produced by a conventional RAM-based learner on a small subset of the data. The tree can either be input as it is or over-pruned. Gives VFDT a “head start” 30 The VFDT System - Rescans • • • VFDT can rescan previously-seen examples. Rescans are activated if: o The data arrives slowly enough that time allows for rescans o The dataset is finite and small enough that it is feasible VFDT will never grow a tree smaller than ones produced by other algorithms. 31 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 32 Synthetic Data Study • • • • Comparing VFDT with C4.5 Release 8 Restricted Two Systems to using the same amount of RAM VFDT used information gain as the G function. o 14 concepts were used, all with 2 classes and 100 attributes. o For each level after the first 3: A fraction f of all the nodes were replaced by leaves The rest became splits on a random attribute. o At depth of 18, all the nodes were replaced with leaves. o Each leaf was randomly assigned a class. Stream of training examples were then generated o Sampling uniformly from the instance space. o Assigning classes according to the target tree. o Various levels of class and attribute noise was added. 33 Synthetic Data Study - Cont. Accuracy as a function of the number of training examples δ = 10-7 nmin = 200 τ = 5% 34 Synthetic Data Study - Cont. Tree Size as a function of the number of training examples δ = 10-7 nmin = 200 τ = 5% 35 Synthetic Data Study - Cont. Accuracy as a function of the noise level C4.5 : 100k examples, VFDT: 20 million examples 36 Lesion Study Effect of Initializing VFDT with C4.5 with and without pruning 37 Web Data - Trial Run • • • • Application of VFDT to mine the stream of Web Page Requests Test Location : The Entire University of Washington Campus δ = 10-7, nmin = 200, τ = 5% Statistics for mining 1.6 million examples: o VFDT took 1450 seconds to do one pass over the training data o 983 seconds were spent reading data from the disk o C4.5 took 24 hours to mine 1.6 million examples. 38 Web Data - Trial Run Results VFDT Performance on Web Data 39 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 40 Conclusion - Hoeffding Trees • • • • A method for learning online Learns from the increasingly common high-volume data streams Allows learning in very small constant time per example Strong guarantees of high asymptotic similarities to corresponding batch trees. 41 Conclusion - VFDT Systems • • • • A high-performance data mining system Based on Hoeffding trees Empirical studies show its effectiveness in taking advantage of massive numbers of examples Practical, efficient, and accurate. 42 Outline → Introduction → Hoeffding Trees → The VFDT System → Performance Study → Conclusion / Summary → Review Questions 43 Review Questions - 1 of 3 • Question: Name four challenges that modern algorithms have to overcome today. o o o o o o o o Answer: See Slide 7. Operate continuously and indefinitely Incorporate new examples as they become available Never lose potentially valuable information Build a model using at most one scan of a database or dataset Use only a fixed amount of main memory. Require small, constant time per record. Make a usable model that can be available at any point during the algorithm’s runtime. 44 Review Questions - 2 of 3 • Question: List the input requirements of the HTAlgorithm, and state what output is generated. o Answer: See Slide 16 o Inputs: S : sequence of examples X : set of discrete attributes G(.) : split evaluation function δ : desired probability of choosing the wrong attribute at any given node o Output: HT : A decision tree (Hoeffding Tree) 45 Review Questions - 3 of 3 • Question: How is memory management handled differently in a VFDT than a Hoeffding Tree? o Answer: See Slide 27 (& 28). o VFDT’s memory use is dominated by the memory required to keep counts for all growing leaves. o If the maximum available memory is reached, VFDT deactivates the least promising leaves. o The least promising leaves are considered to be the ones with the lowest values of plel. o When a leaf is deactivated, its memory is freed, except for a single number used to store the value of plel. o Might also state early-on attributes are dropped for memory efficiency 46 Any Questions?