Decision Tree and Random Forest Implementations for Fast Filtering of Sensor Data

With increasing capabilities of energy efficient systems, computational technology can be deployed, virtually everywhere. Machine learning has proven a valuable tool for extracting meaningful information from measured data and forms one of the basic building blocks of ubiquitous computing. In high-throughput applications, measurements are rapidly taken to monitor physical processes. This brings modern communication technologies to its limits. Therefore, only a subset of measurements, the interesting ones, should be further processed and possibly communicated to other devices. In this paper, we investigate architectural characteristics of embedded systems for filtering high-volume sensor data before further processing. In particular, we investigate implementations of decision trees and random forests for the classical von-Neumann computing architecture and custom circuits by the means of field programmable gate arrays.

[1]  Daniel Merl,et al.  Fast MAP Search for Compact Additive Tree Ensembles (CATE) , 2013 .

[2]  Scott Hauck,et al.  Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation , 2007 .

[3]  Katharina Morik,et al.  Online Analysis of High-Volume Data Streams in Astroparticle Physics , 2015, ECML/PKDD.

[4]  David Harris,et al.  CMOS VLSI Design: A Circuits and Systems Perspective , 2004 .

[5]  Maya Gokhale,et al.  Accelerating a Random Forest Classifier: Multi-Core, GP-GPU, or FPGA? , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[6]  Ronald L. Rivest,et al.  Introduction to Algorithms, 3rd Edition , 2009 .

[7]  Andrew A. Chien,et al.  The future of microprocessors , 2011, Commun. ACM.

[8]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[9]  Leo Breiman,et al.  Bagging Predictors , 1996, Machine Learning.

[10]  E. McCluskey Minimization of Boolean functions , 1956 .

[11]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[12]  Marios S. Pattichis,et al.  Pipelined Decision Tree Classification Accelerator Implementation in FPGA (DT-CAIF) , 2015, IEEE Transactions on Computers.

[13]  Nachiket Kapre,et al.  Zedwulf: Power-Performance Tradeoffs of a 32-Node Zynq SoC Cluster , 2015, 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines.

[14]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[15]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[16]  C. Apte,et al.  Data mining with decision trees and decision rules , 1997, Future Gener. Comput. Syst..

[17]  Yoav Freund,et al.  A decision-theoretic generalization of on-line learning and an application to boosting , 1995, EuroCOLT.

[18]  Rolf Isermann,et al.  Identification of Dynamic Systems , 2011 .

[19]  Brad L. Hutchings,et al.  Implementing high-performance, low-power FPGA-based optical flow accelerators in C , 2013, 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors.

[20]  Yoav Freund,et al.  A decision-theoretic generalization of on-line learning and an application to boosting , 1997, EuroCOLT.

[21]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[22]  Paulo J. G. Lisboa,et al.  Making machine learning models interpretable , 2012, ESANN.

[23]  Alok N. Choudhary,et al.  An FPGA Implementation of Decision Tree Classification , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[24]  Aiko M. Hormann,et al.  Programs for Machine Learning. Part I , 1962, Inf. Control..

[25]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[26]  Antonino Mazzeo,et al.  Decision Tree-Based Multiple Classifier Systems: An FPGA Perspective , 2015, MCS.

[27]  David F. Bacon,et al.  FPGA Programming for the Masses , 2013, ACM Queue.