Lightgbm: a Highly Efficient Gradient Boosting Decision Tree
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Arxiv:2006.04059V1 [Cs.LG] 7 Jun 2020
Soft Gradient Boosting Machine Ji Feng1;2, Yi-Xuan Xu1;3, Yuan Jiang3, Zhi-Hua Zhou3 [email protected], fxuyx, jiangy, [email protected] 1Sinovation Ventures AI Institute 2Baiont Technology 3National Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China Abstract Gradient Boosting Machine has proven to be one successful function approximator and has been widely used in a variety of areas. However, since the training procedure of each base learner has to take the sequential order, it is infeasible to parallelize the training process among base learners for speed-up. In addition, under online or incremental learning settings, GBMs achieved sub-optimal performance due to the fact that the previously trained base learners can not adapt with the environment once trained. In this work, we propose the soft Gradient Boosting Machine (sGBM) by wiring multiple differentiable base learners together, by injecting both local and global objectives inspired from gradient boosting, all base learners can then be jointly optimized with linear speed-up. When using differentiable soft decision trees as base learner, such device can be regarded as an alternative version of the (hard) gradient boosting decision trees with extra benefits. Experimental results showed that, sGBM enjoys much higher time efficiency with better accuracy, given the same base learner in both on-line and off-line settings. arXiv:2006.04059v1 [cs.LG] 7 Jun 2020 1. Introduction Gradient Boosting Machine (GBM) [Fri01] has proven to be one successful function approximator and has been widely used in a variety of areas [BL07, CC11]. The basic idea is to train a series of base learners that minimize some predefined differentiable loss function in a sequential fashion. -
Black Box Explanation by Learning Image Exemplars in the Latent Feature Space
Black Box Explanation by Learning Image Exemplars in the Latent Feature Space Riccardo Guidotti1, Anna Monreale2, Stan Matwin3;4, and Dino Pedreschi2 1 ISTI-CNR, Pisa, Italy, [email protected] 2 University of Pisa, Italy, [email protected] 3 Dalhousie University, [email protected] 4 Institute of Computer Scicne, Polish Academy of Sciences Abstract. We present an approach to explain the decisions of black box models for image classification. While using the black box to label im- ages, our explanation method exploits the latent feature space learned through an adversarial autoencoder. The proposed method first gener- ates exemplar images in the latent feature space and learns a decision tree classifier. Then, it selects and decodes exemplars respecting local decision rules. Finally, it visualizes them in a manner that shows to the user how the exemplars can be modified to either stay within their class, or to be- come counter-factuals by \morphing" into another class. Since we focus on black box decision systems for image classification, the explanation obtained from the exemplars also provides a saliency map highlighting the areas of the image that contribute to its classification, and areas of the image that push it into another class. We present the results of an experimental evaluation on three datasets and two black box models. Be- sides providing the most useful and interpretable explanations, we show that the proposed method outperforms existing explainers in terms of fidelity, relevance, coherence, and stability. Keywords: Explainable AI, Adversarial Autoencoder, Image Exemplars. 1 Introduction Automated decision systems based on machine learning techniques are widely used for classification, recognition and prediction tasks. -
On the Boosting Ability of Top-Down Decision Tree Learning Algorithms
On the Bo osting AbilityofTop-Down Decision Tree Learning Algorithms Michael Kearns Yishay Mansour AT&T Research Tel-Aviv University May 1996 Abstract We analyze the p erformance of top-down algorithms for decision tree learning, such as those employed by the widely used C4.5 and CART software packages. Our main result is a pro of that such algorithms are boosting algorithms. By this we mean that if the functions that lab el the internal no des of the decision tree can weakly approximate the unknown target function, then the top-down algorithms we study will amplify this weak advantage to build a tree achieving any desired level of accuracy. The b ounds we obtain for this ampli catio n showaninteresting dep endence on the splitting criterion used by the top-down algorithm. More precisely, if the functions used to lab el the internal no des have error 1=2 as approximation s to the target function, then for the splitting criteria used by CART and C4.5, trees 2 2 2 O 1= O log 1== of size 1= and 1= resp ectively suce to drive the error b elow .Thus for example, a small constant advantage over random guessing is ampli ed to any larger constant advantage with trees of constant size. For a new splitting criterion suggested by our analysis, the much stronger 2 O 1= b ound of 1= which is p olynomial in 1= is obtained, whichisprovably optimal for decision tree algorithms. The di ering b ounds have a natural explanation in terms of concavity prop erties of the splitting criterion. -
Boosting with Multi-Way Branching in Decision Trees
Boosting with Multi-Way Branching in Decision Trees Yishay Mansour David McAllester AT&T Labs-Research 180 Park Ave Florham Park NJ 07932 {mansour, dmac }@research.att.com Abstract It is known that decision tree learning can be viewed as a form of boosting. However, existing boosting theorems for decision tree learning allow only binary-branching trees and the generalization to multi-branching trees is not immediate. Practical decision tree al gorithms, such as CART and C4.5, implement a trade-off between the number of branches and the improvement in tree quality as measured by an index function. Here we give a boosting justifica tion for a particular quantitative trade-off curve. Our main theorem states, in essence, that if we require an improvement proportional to the log of the number of branches then top-down greedy con struction of decision trees remains an effective boosting algorithm. 1 Introduction Decision trees have been proved to be a very popular tool in experimental machine learning. Their popularity stems from two basic features - they can be constructed quickly and they seem to achieve low error rates in practice. In some cases the time required for tree growth scales linearly with the sample size. Efficient tree construction allows for very large data sets. On the other hand, although there are known theoretical handicaps of the decision tree representations, it seem that in practice they achieve accuracy which is comparable to other learning paradigms such as neural networks. While decision tree learning algorithms are popular in practice it seems hard to quantify their success ,in a theoretical model. -
Inductive Bias in Decision Tree Learning • Issues in Decision Tree Learning • Summary
Machine Learning Decision Tree Learning Artificial Intelligence & Computer Vision Lab School of Computer Science and Engineering Seoul National University Overview • Introduction • Decision Tree Representation • Learning Algorithm • Hypothesis Space Search • Inductive Bias in Decision Tree Learning • Issues in Decision Tree Learning • Summary AI & CV Lab, SNU 2 Introduction • Decision tree learning is a method for approximating discrete-valued target function • The learned function is represented by a decision tree • Decision tree can also be re-represented as if-then rules to improve human readability AI & CV Lab, SNU 3 Decision Tree Representation • Decision trees classify instances by sorting them down the tree from the root to some leaf node • A node – Specifies some attribute of an instance to be tested • A branch – Corresponds to one of the possible values for an attribute AI & CV Lab, SNU 4 Decision Tree Representation (cont.) Outlook Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes A Decision Tree for the concept PlayTennis AI & CV Lab, SNU 5 Decision Tree Representation (cont.) • Each path corresponds to a conjunction of attribute Outlook tests. For example, if the instance is (Outlook=sunny, Temperature=Hot, Sunny Rain Humidity=high, Wind=Strong) then the path of Overcast (Outlook=Sunny ∧ Humidity=High) is matched so that the target value would be NO as shown in the tree. Humidity Wind • A decision tree represents a disjunction of Yes conjunction of constraints on the attribute values of instances. For example, three positive instances can High Normal Strong Weak be represented as (Outlook=Sunny ∧ Humidity=normal) ∨ (Outlook=Overcast) ∨ (Outlook=Rain ∧Wind=Weak) as shown in the tree. -
A Tensor Compiler for Unified Machine Learning Prediction Serving
A Tensor Compiler for Unified Machine Learning Prediction Serving Supun Nakandala, UC San Diego; Karla Saur, Microsoft; Gyeong-In Yu, Seoul National University; Konstantinos Karanasos, Carlo Curino, Markus Weimer, and Matteo Interlandi, Microsoft https://www.usenix.org/conference/osdi20/presentation/nakandala This paper is included in the Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation November 4–6, 2020 978-1-939133-19-9 Open access to the Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation is sponsored by USENIX A Tensor Compiler for Unified Machine Learning Prediction Serving Supun Nakandalac,∗, Karla Saurm, Gyeong-In Yus,∗, Konstantinos Karanasosm, Carlo Curinom, Markus Weimerm, Matteo Interlandim mMicrosoft, cUC San Diego, sSeoul National University {<name>.<surname>}@microsoft.com,[email protected], [email protected] Abstract TensorFlow [13] combined, and growing faster than both. Machine Learning (ML) adoption in the enterprise requires Acknowledging this trend, traditional ML capabilities have simpler and more efficient software infrastructure—the be- been recently added to DNN frameworks, such as the ONNX- spoke solutions typical in large web companies are simply ML [4] flavor in ONNX [25] and TensorFlow’s TFX [39]. untenable. Model scoring, the process of obtaining predic- When it comes to owning and operating ML solutions, en- tions from a trained model over new data, is a primary con- terprises differ from early adopters in their focus on long-term tributor to infrastructure complexity and cost as models are costs of ownership and amortized return on investments [68]. trained once but used many times. In this paper we propose As such, enterprises are highly sensitive to: (1) complexity, HUMMINGBIRD, a novel approach to model scoring, which (2) performance, and (3) overall operational efficiency of their compiles featurization operators and traditional ML models software infrastructure [14]. -
A Prediction for Student's Performance Using Decision Tree ID3 Method
International Journal of Scientific & Engineering Research, Volume 5, Issue 7, July-2014 1329 ISSN 2229-5518 Data Mining: A prediction for Student's Performance Using Decision Tree ID3 Method D.BHU LAKSHMI, S. ARUNDATHI, DR.JAGADEESH Abstract— Knowledge Discovery and Data Mining (KDD) is a multidisciplinary area focusing upon methodologies for extracting useful knowledge from data and there are several useful KDD tools to extracting the knowledge. This knowledge can be used to increase the quality of education. But educational institution does not use any knowledge discovery process approach on these data. Data mining can be used for decision making in educational system. A decision tree classifier is one of the most widely used supervised learning methods used for data exploration based on divide & conquer technique. This paper discusses use of decision trees in educational data mining. Decision tree algorithms are applied on students’ past performance data to generate the model and this model can be used to predict the students’ performance. The most useful data mining techniques in educational database is classification, the decision tree (ID3) method is used here. Index Terms— Educational Data Mining, Classification, Knowledge Discovery in Database (KDD), ID3 Algorithm. 1. Introduction the students, prediction about students’ The advent of information technology in various performance and so on, the classification task is fields has lead the large volumes of data storage in used to evaluate student’s performance and as various formats like records, files, documents, there are many approaches that are used for data images, sound, videos, scientific data and many classification, the decision tree method is used new data formats. -
Galaxy Classification with Deep Convolutional Neural Networks
c 2016 Honghui Shi GALAXY CLASSIFICATION WITH DEEP CONVOLUTIONAL NEURAL NETWORKS BY HONGHUI SHI THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer Engineering in the Graduate College of the University of Illinois at Urbana-Champaign, 2016 Urbana, Illinois Adviser: Professor Thomas S. Huang ABSTRACT Galaxy classification, using digital images captured from sky surveys to de- termine the galaxy morphological classes, is of great interest to astronomy researchers. Conventional methods rely heavily on a few handcrafted mor- phological features while popular feature extraction methods that developed for natural images are not suitable for galaxy images. Deep convolutional neural networks (CNNs) are able to learn powerful features from images by hierarchical convolutional and pooling operations. This work applies state-of- the-art deep CNN technologies to galaxy classification for both a regression task and multi-class classification tasks. We also implement and compare the performance with several different conventional machine learning algorithms for a classification sub-task. Our experiments show that convolutional neural networks are able to learn representative features automatically and achieve high performance, surpassing both human recognition and other machine learning methods. ii To my family, especially my wife, and my friends near or far. To my adviser, to whom I owe much thanks! iii ACKNOWLEDGMENTS I would like to acknowledge my adviser Professor Thomas Huang, who has given me lots of guidance, support, and visionary insights. I would also like to acknowledge Professor Robert Brunner who led me to the topic and granted me lots of help during the research. -
Package 'Sparkxgb'
Package ‘sparkxgb’ February 23, 2021 Type Package Title Interface for 'XGBoost' on 'Apache Spark' Version 0.1.1 Maintainer Yitao Li <[email protected]> Description A 'sparklyr' <https://spark.rstudio.com/> extension that provides an R interface for 'XGBoost' <https://github.com/dmlc/xgboost> on 'Apache Spark'. 'XGBoost' is an optimized distributed gradient boosting library. License Apache License (>= 2.0) Encoding UTF-8 LazyData true Depends R (>= 3.1.2) Imports sparklyr (>= 1.3), forge (>= 0.1.9005) RoxygenNote 7.1.1 Suggests dplyr, purrr, rlang, testthat NeedsCompilation no Author Kevin Kuo [aut] (<https://orcid.org/0000-0001-7803-7901>), Yitao Li [aut, cre] (<https://orcid.org/0000-0002-1261-905X>) Repository CRAN Date/Publication 2021-02-23 10:20:02 UTC R topics documented: xgboost_classifier . .2 xgboost_regressor . .6 Index 11 1 2 xgboost_classifier xgboost_classifier XGBoost Classifier Description XGBoost classifier for Spark. Usage xgboost_classifier( x, formula = NULL, eta = 0.3, gamma = 0, max_depth = 6, min_child_weight = 1, max_delta_step = 0, grow_policy = "depthwise", max_bins = 16, subsample = 1, colsample_bytree = 1, colsample_bylevel = 1, lambda = 1, alpha = 0, tree_method = "auto", sketch_eps = 0.03, scale_pos_weight = 1, sample_type = "uniform", normalize_type = "tree", rate_drop = 0, skip_drop = 0, lambda_bias = 0, tree_limit = 0, num_round = 1, num_workers = 1, nthread = 1, use_external_memory = FALSE, silent = 0, custom_obj = NULL, custom_eval = NULL, missing = NaN, seed = 0, timeout_request_workers = 30 * 60 * 1000, -
Benchmarking and Optimization of Gradient Boosting Decision Tree Algorithms
Benchmarking and Optimization of Gradient Boosting Decision Tree Algorithms Andreea Anghel, Nikolaos Papandreou, Thomas Parnell Alessandro de Palma, Haralampos Pozidis IBM Research – Zurich, Rüschlikon, Switzerland {aan,npo,tpa,les,hap}@zurich.ibm.com Abstract Gradient boosting decision trees (GBDTs) have seen widespread adoption in academia, industry and competitive data science due to their state-of-the-art perfor- mance in many machine learning tasks. One relative downside to these models is the large number of hyper-parameters that they expose to the end-user. To max- imize the predictive power of GBDT models, one must either manually tune the hyper-parameters, or utilize automated techniques such as those based on Bayesian optimization. Both of these approaches are time-consuming since they involve repeatably training the model for different sets of hyper-parameters. A number of software GBDT packages have started to offer GPU acceleration which can help to alleviate this problem. In this paper, we consider three such packages: XG- Boost, LightGBM and Catboost. Firstly, we evaluate the performance of the GPU acceleration provided by these packages using large-scale datasets with varying shapes, sparsities and learning tasks. Then, we compare the packages in the con- text of hyper-parameter optimization, both in terms of how quickly each package converges to a good validation score, and in terms of generalization performance. 1 Introduction Many powerful techniques in machine learning construct a strong learner from a number of weak learners. Bagging combines the predictions of the weak learners, each using a different bootstrap sample of the training data set [1]. Boosting, an alternative approach, iteratively trains a sequence of weak learners, whereby the training examples for the next learner are weighted according to the success of the previously-constructed learners. -
Xgboost: a Scalable Tree Boosting System
XGBoost: A Scalable Tree Boosting System Tianqi Chen Carlos Guestrin University of Washington University of Washington [email protected] [email protected] ABSTRACT problems. Besides being used as a stand-alone predictor, it Tree boosting is a highly effective and widely used machine is also incorporated into real-world production pipelines for learning method. In this paper, we describe a scalable end- ad click through rate prediction [15]. Finally, it is the de- to-end tree boosting system called XGBoost, which is used facto choice of ensemble method and is used in challenges widely by data scientists to achieve state-of-the-art results such as the Netflix prize [3]. on many machine learning challenges. We propose a novel In this paper, we describe XGBoost, a scalable machine learning system for tree boosting. The system is available sparsity-aware algorithm for sparse data and weighted quan- 2 tile sketch for approximate tree learning. More importantly, as an open source package . The impact of the system has we provide insights on cache access patterns, data compres- been widely recognized in a number of machine learning and sion and sharding to build a scalable tree boosting system. data mining challenges. Take the challenges hosted by the machine learning competition site Kaggle for example. A- By combining these insights, XGBoost scales beyond billions 3 of examples using far fewer resources than existing systems. mong the 29 challenge winning solutions published at Kag- gle's blog during 2015, 17 solutions used XGBoost. Among these solutions, eight solely used XGBoost to train the mod- Keywords el, while most others combined XGBoost with neural net- Large-scale Machine Learning s in ensembles. -
Release 1.0.2 Xgboost Developers
xgboost Release 1.0.2 xgboost developers Apr 15, 2020 CONTENTS 1 Contents 3 1.1 Installation Guide............................................3 1.2 Get Started with XGBoost........................................ 11 1.3 XGBoost Tutorials............................................ 12 1.4 Frequently Asked Questions....................................... 49 1.5 XGBoost GPU Support......................................... 50 1.6 XGBoost Parameters........................................... 55 1.7 XGBoost Python Package........................................ 65 1.8 XGBoost R Package........................................... 113 1.9 XGBoost JVM Package......................................... 127 1.10 XGBoost.jl................................................ 144 1.11 XGBoost C Package........................................... 144 1.12 XGBoost C++ API............................................ 145 1.13 XGBoost Command Line version.................................... 145 1.14 Contribute to XGBoost.......................................... 145 Python Module Index 155 Index 157 i ii xgboost, Release 1.0.2 XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting (also known as GBDT, GBM) that solve many data science problems in a fast and accurate way. The same code runs on major distributed environment (Hadoop, SGE, MPI) and can solve problems beyond billions