Incremental decision tree

From HandWiki

An incremental decision tree algorithm is an online machine learning algorithm that outputs a decision tree. Many decision tree methods, such as C4.5, construct a tree using a complete dataset. Incremental decision tree methods allow an existing tree to be updated using only new individual data instances, without having to re-process past instances. This may be useful in situations where the entire dataset is not available when the tree is updated (i.e. the data was not stored), the original data set is too large to process or the characteristics of the data change over time.

Applications

  • On-line learning
  • Data streams
  • Concept drift
  • Data which can be modeled well using a hierarchical model.
  • Systems where a user-interpretable output is desired.

Methods

Here is a short list of incremental decision tree methods, organized by their (usually non-incremental) parent algorithms.

CART family

CART[1] (1984) is a nonincremental decision tree inducer for both classification and regression problems. developed in the mathematics and statistics communities. CART traces its roots to AID (1963)[2]

  • incremental CART (1989)[3] Crawford modified CART to incorporate data incrementally.

ID3/C4.5 family

ID3 (1986)[4] and C4.5 (1993)[5] were developed by Quinlan and have roots in Hunt's Concept Learning System (CLS, 1966)[6] The ID3 family of tree inducers was developed in the engineering and computer science communities.

  • ID3' (1986)[7] was suggested by Schlimmer and Fisher. It was a brute-force method to make ID3 incremental; after each new data instance is acquired, an entirely new tree is induced using ID3.
  • ID4 (1986)[7] could incorporate data incrementally. However, certain concepts were unlearnable, because ID4 discards subtrees when a new test is chosen for a node.
  • ID5 (1988)[8] didn't discard subtrees, but also did not guarantee that it would produce the same tree as ID3.
  • ID5R (1989)[9] output the same tree as ID3 for a dataset regardless of the incremental training order. This was accomplished by recursively updating the tree's subnodes. It did not handle numeric variables, multiclass classification tasks, or missing values.
  • ID6MDL (2007)[10] an extended version of the ID3 or ID5R algorithms.
  • ITI (1997)[11] is an efficient method for incrementally inducing decision trees. The same tree is produced for a dataset regardless of the data's presentation order, or whether the tree is induced incrementally or non incrementally (batch mode). It can accommodate numeric variables, multiclass tasks, and missing values. Code is available on the web. [1]

note: ID6NB (2009)[12] is not incremental.

Other Incremental Learning Systems

There were several incremental concept learning systems that did not build decision trees, but which predated and influenced the development of the earliest incremental decision tree learners, notably ID4.[7] Notable among these was Schlimmer and Granger's STAGGER (1986),[13] which learned disjunctive concepts incrementally. STAGGER was developed to examine concepts that changed over time (concept drift). Prior to STAGGER, Michalski and Larson (1978)[14] investigated an incremental variant of AQ (Michalski, 1973),[15] a supervised system for learning concepts in disjunctive normal form (DNF). Experience with these earlier systems and others, to include incremental tree-structured unsupervised learning, contributed to a conceptual framework for evaluating incremental decision tree learners specifically, and incremental concept learning generally, along four dimensions that reflect the inherent tradeoffs between learning cost and quality:[7] (1) cost of knowledge base update, (2) the number of observations that are required to converge on a knowledge base with given characteristics, (3) the total effort (as a function of the first two dimensions) that a system exerts, and the (4) quality (often consistency) of the final knowledge base. Some of the historical context in which incremental decision tree learners emerged is given in Fisher and Schlimmer (1988),[16] and which also expands on the four factor framework that was used to evaluate and design incremental learning systems.

VFDT Algorithm

Very Fast Decision Trees learner reduces training time for large incremental data sets by subsampling the incoming data stream.

  • VFDT (2000)[17]
  • CVFDT (2001)[18] can adapt to concept drift, by using a sliding window on incoming data. Old data outside the window is forgotten.
  • VFDTc (2006)[19] extends VFDT for continuous data, concept drift, and application of Naive Bayes classifiers in the leaves.
  • VFML (2003) is a toolkit and available on the web. [2]. It was developed by the creators of VFDT and CVFDT.

EFDT Algorithm

The Extremely Fast Decision Tree learner[20] is statistically more powerful than VFDT, allowing it to learn more detailed trees from less data. It differs from VFDT in the method for deciding when to insert a new branch into the tree. VFDT waits until it is confident that the best available branch is better than any alternative. In contrast, EFDT splits as soon as it is confident that the best available branch is better than the current alternative. Initially, the current alternative is no branch. This allows EFDT to insert branches much more rapidly than VFDT. During incremental learning this means that EFDT can deploy useful trees much sooner than VFDT.

However, the new branch selection method greatly increases the likelihood of selecting a suboptimal branch. In consequence, EFDT keeps monitoring the performance of all branches and will replace a branch as soon as it is confident there is a better alternative.

OLIN and IFN

  • OLIN (2002)[21]
  • IOLIN (2008)[22] — based on Info-Fuzzy Network (IFN)[23]

GAENARI

See also

References

  1. Breiman, L.; Friedman, J.H.; Olshen, R.A.; Stone, C.J. (1984). Classification and regression trees. Belmont, CA: Wadsworth International. ISBN 978-1-351-46048-4. https://books.google.com/books?id=gLs6DwAAQBAJ&pg=PT5. 
  2. Morgan, J.N; Sondquist, J.A. (1963). "Problems in the analysis of survey data, and a proposal". J. Amer. Statist. Assoc. 58 (302): 415–434. doi:10.1080/01621459.1963.10500855. http://cda.psych.uiuc.edu/statistical_learning_course/morgan_sonquist.pdf. 
  3. Crawford, S.L. (1989). "Extensions to the CART algorithm". International Journal of Man-Machine Studies 31 (2): 197–217. doi:10.1016/0020-7373(89)90027-8. https://dx.doi.org/10.1016/0020-7373%2889%2990027-8. 
  4. Quinlan, J.R. (1986). "Induction of Decision Trees". Machine Learning 1 (1): 81–106. doi:10.1007/BF00116251. https://link.springer.com/content/pdf/10.1007/BF00116251.pdf. 
  5. Quinlan, J.R. (2014). C4.5: Programs for machine learning. Elsevier. ISBN 978-1-55860-238-0. https://books.google.com/books?id=b3ujBQAAQBAJ&pg=PR5. 
  6. Hunt, E.B.; Marin, J.; Stone, P.J. (1966). Experiments in induction. Academic Press. ISBN 978-0-12-362350-8. 
  7. 7.0 7.1 7.2 7.3 Schlimmer, J.C.; Fisher, D. (1986). "A case study of incremental concept induction". AAAI'86: Proceedings of the Fifth National Conference on Artificial Intelligence. Morgan Kaufmann. pp. 496–501. https://www.researchgate.net/publication/221603307. 
  8. Utgoff, P.E. (1988). "ID5: An incremental ID3". Machine Learning Proceedings 1988 Proceedings of the Fifth International Conference on Machine Learning. Morgan Kaufmann. pp. 107–120. doi:10.1016/B978-0-934613-64-4.50017-7. ISBN 978-0-934613-64-4. https://web.cs.umass.edu/publication/docs/1987/UM-CS-1987-095.pdf.  Publishers.
  9. Utgoff, P.E. (1989). "Incremental induction of decision trees". Machine Learning 4 (2): 161–186. doi:10.1023/A:1022699900025. https://link.springer.com/content/pdf/10.1023/A:1022699900025.pdf. 
  10. Kroon, M., Korzec, S., Adriani, P. (2007) ID6MDL: Post-Pruning Incremental Decision Trees.
  11. Utgoff, P.E.; Berkman, N.C.; Clouse, J.A. (1997). "Decision tree induction based on efficient tree restructuring". Machine Learning 29: 5–44. doi:10.1023/A:1007413323501. https://link.springer.com/content/pdf/10.1023/A:1007413323501.pdf. 
  12. Appavu, S.; Rajaram, R. (2009). "Knowledge-based system for text classification using ID6NB algorithm"]. Knowledge-Based Systems 22 (1): 1–7. doi:10.1016/j.knosys.2008.04.006. https://www.sciencedirect.com/science/article/pii/S0950705108001081. 
  13. Schlimmer, J.C.; Granger, Jr., R.H. (1986). "Incremental learning from noisy data". Machine Learning 1 (3): 317–354. doi:10.1007/BF00116895. 
  14. Template:Cite tech report
  15. Michalski, R.S. (1973). "Discovering classification rules using variable-valued logic system VL1". IJCAI'73: Proceedings of the Third International Joint Conference on Artificial Intelligence. Stanford, CA: Morgan Kaufmann. pp. 162–172. http://digilib.gmu.edu/jspui/bitstream/handle/1920/1515/73-01.pdf. 
  16. Template:Cite tech report
  17. Domingos, P.; Hulten, G. (2000). "Mining high-speed data streams". Proceedings KDD Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM Press. pp. 71–80. doi:10.1145/347090.347107. ISBN 1-58113-233-6. http://web.cs.wpi.edu/~cs525/f13b-EAR/cs525-homepage/lectures/PAPERS/p71-domingos.pdf. 
  18. Hulten, G.; Spencer, L.; Domingos, P. (2001). "Mining time-changing data streams". Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining. ACM Press. pp. 97–106. doi:10.1145/502512.502529. ISBN 978-1-58113-391-2. https://www.csse.monash.edu.au/~mgaber/Mining%20TimeChanging.pdf. 
  19. Gama, J.; Fernandes, R.; Rocha, R. (2006). "Decision trees for mining data streams". Intelligent Data Analysis 10: 23–45. doi:10.3233/IDA-2006-10103. https://content.iospress.com/articles/intelligent-data-analysis/ida00234. 
  20. Manapragada, C.; Webb, G. I.; Salehi, M. (2018). "Extremely Fast Decision Tree". KDD '18: Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM Press. pp. 1953–62. doi:10.1145/3219819.3220005. ISBN 978-1-4503-5552-0. 
  21. Last, M. (2002). "Online classification of nonstationary data streams". Intell. Data Anal. 6 (2): 129–147. doi:10.3233/IDA-2002-6203. https://www.academia.edu/download/46518868/Change2.pdf. 
  22. Cohen, L.; Avrahami, G.; Last, M.; Kandel, A. (2008). "Info-fuzzy algorithms for mining dynamic data streams". Applied Soft Computing 8 (4): 1283–94. doi:10.1016/j.asoc.2007.11.003. http://www.ise.bgu.ac.il/faculty/mlast/papers/Paper_RTDM_ASOC_SI_Final.pdf. 
  23. Maimon, O.; Last, M. (2000). The info-fuzzy network (IFN) methodology. Knowledge Discovery and Data Mining. Kluwer. doi:10.1007/978-1-4757-3296-2. ISBN 978-1-4757-3296-2. 

External links