An Introduction to Ensemble Methods Boosting, Bagging, Random Forests and More Yisong Yue.

Slides:



Advertisements
Similar presentations
Lectures 17,18 – Boosting and Additive Trees Rice ECE697 Farinaz Koushanfar Fall 2006.
Advertisements

Boosting Rong Jin.
Ensemble Methods An ensemble method constructs a set of base classifiers from the training data Ensemble or Classifier Combination Predict class label.
CMPUT 466/551 Principal Source: CMU
Longin Jan Latecki Temple University
Paper presentation for CSI5388 PENGCHENG XI Mar. 23, 2005
Sparse vs. Ensemble Approaches to Supervised Learning
A Brief Introduction to Adaboost
Ensemble Learning: An Introduction
Adaboost and its application
Introduction to Boosting Aristotelis Tsirigos SCLT seminar - NYU Computer Science.
Sparse vs. Ensemble Approaches to Supervised Learning
Boosting Main idea: train classifiers (e.g. decision trees) in a sequence. a new classifier should focus on those cases which were incorrectly classified.
Ensemble Learning (2), Tree and Forest
Machine Learning & Data Mining CS/CNS/EE 155
For Better Accuracy Eick: Ensemble Learning
Machine Learning CS 165B Spring 2012
Zhangxi Lin ISQS Texas Tech University Note: Most slides are from Decision Tree Modeling by SAS Lecture Notes 6 Ensembles of Trees.
Machine Learning1 Machine Learning: Summary Greg Grudic CSCI-4830.
Boosting Neural Networks Published by Holger Schwenk and Yoshua Benggio Neural Computation, 12(8): , Presented by Yong Li.
LOGO Ensemble Learning Lecturer: Dr. Bo Yuan
Machine Learning & Data Mining CS/CNS/EE 155 Lecture 9: Decision Trees, Bagging & Random Forests 1.
Ensemble Classification Methods Rayid Ghani IR Seminar – 9/26/00.
Benk Erika Kelemen Zsolt
Boosting of classifiers Ata Kaban. Motivation & beginnings Suppose we have a learning algorithm that is guaranteed with high probability to be slightly.
Data Mining - Volinsky Columbia University 1 Topic 10 - Ensemble Methods.
Combining multiple learners Usman Roshan. Bagging Randomly sample training data Determine classifier C i on sampled data Goto step 1 and repeat m times.
Ensemble Methods: Bagging and Boosting
Ensemble Learning Spring 2009 Ben-Gurion University of the Negev.
CLASSIFICATION: Ensemble Methods
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
Classification Derek Hoiem CS 598, Spring 2009 Jan 27, 2009.
Concept learning, Regression Adapted from slides from Alpaydin’s book and slides by Professor Doina Precup, Mcgill University.
Classification (slides adapted from Rob Schapire) Eran Segal Weizmann Institute.
Ensemble Methods in Machine Learning
Bias-Variance in Machine Learning. Bias-Variance: Outline Underfitting/overfitting: –Why are complex hypotheses bad? Simple example of bias/variance Error.
ECE 5984: Introduction to Machine Learning Dhruv Batra Virginia Tech Topics: –Ensemble Methods: Bagging, Boosting Readings: Murphy 16.4; Hastie 16.
Random Forests Ujjwol Subedi. Introduction What is Random Tree? ◦ Is a tree constructed randomly from a set of possible trees having K random features.
Classification Ensemble Methods 1
Classification and Prediction: Ensemble Methods Bamshad Mobasher DePaul University Bamshad Mobasher DePaul University.
Decision Trees IDHairHeightWeightLotionResult SarahBlondeAverageLightNoSunburn DanaBlondeTallAverageYesnone AlexBrownTallAverageYesNone AnnieBlondeShortAverageNoSunburn.
Competition II: Springleaf Sha Li (Team leader) Xiaoyan Chong, Minglu Ma, Yue Wang CAMCOS Fall 2015 San Jose State University.
Regression Tree Ensembles Sergey Bakin. Problem Formulation §Training data set of N data points (x i,y i ), 1,…,N. §x are predictor variables (P-dimensional.
Combining multiple learners Usman Roshan. Decision tree From Alpaydin, 2010.
Tree and Forest Classification and Regression Tree Bagging of trees Boosting trees Random Forest.
Web-Mining Agents: Classification with Ensemble Methods R. Möller Institute of Information Systems University of Luebeck.
Overfitting, Bias/Variance tradeoff. 2 Content of the presentation Bias and variance definitions Parameters that influence bias and variance Bias and.
AdaBoost Algorithm and its Application on Object Detection Fayin Li.
1 Machine Learning Lecture 8: Ensemble Methods Moshe Koppel Slides adapted from Raymond J. Mooney and others.
Ensemble Classifiers.
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Einführung in Web- und Data-Science Ensemble Learning
Machine Learning: Ensemble Methods
Week 2 Presentation: Project 3
Boosting and Additive Trees (2)
Trees, bagging, boosting, and stacking
COMP61011 : Machine Learning Ensemble Models
Ensemble Learning Introduction to Machine Learning and Data Mining, Carla Brodley.
Todd Holloway Two Lecture Series for B551 November 20 & 27, 2007
ECE 5424: Introduction to Machine Learning
Data Mining Practical Machine Learning Tools and Techniques
Lecture 18: Bagging and Boosting
Ensemble learning.
Lecture 06: Bagging and Boosting
Model Combination.
Ensemble learning Reminder - Bagging of Trees Random Forest
Model generalization Brief summary of methods
CS639: Data Management for Data Science
Advisor: Dr.vahidipour Zahra salimian Shaghayegh jalali Dec 2017
Presentation transcript:

An Introduction to Ensemble Methods Boosting, Bagging, Random Forests and More Yisong Yue

Supervised Learning Goal: learn predictor h(x) High accuracy (low error) Using training data {(x1,y1),…,(xn,yn)}

h(x) = sign(wTx-b) Person Age Male? Height > 55” Alice 14 1 Bob 10 1 Bob 10 Carol 13 Dave 8 Erin 11 Frank 9 Gena h(x) = sign(wTx-b)

Person Age Male? Height > 55” Alice 14 1 Bob 10 Carol 13 Dave 8 Erin 11 Frank 9 Gena Male? Yes No Age>9? Age>10? Yes No Yes No 1 1

Splitting Criterion: entropy reduction (info gain) Complexity: number of leaves, size of leaves

Outline Bias/Variance Tradeoff Ensemble methods that minimize variance Bagging Random Forests Ensemble methods that minimize bias Functional Gradient Descent Boosting Ensemble Selection

Generalization Error “True” distribution: P(x,y) Train: h(x) = y Unknown to us Train: h(x) = y Using training data S = {(x1,y1),…,(xn,yn)} Sampled from P(x,y) Generalization Error: L(h) = E(x,y)~P(x,y)[ f(h(x),y) ] E.g., f(a,b) = (a-b)2

Generalization Error: L(h) = E(x,y)~P(x,y)[ f(h(x),y) ] … Person Age Male? Height > 55” James 11 1 Jessica 14 Alice Amy 12 Bob 10 Xavier 9 Cathy Carol 13 Eugene Rafael Dave 8 Peter Henry Erin Rose 7 Iain Paulo Margaret Frank Jill Leon Sarah Gena Patrick 5 Person Age Male? Height > 55” Alice 14 1 Bob 10 Carol 13 Dave 8 Erin 11 Frank 9 Gena y h(x) Generalization Error: L(h) = E(x,y)~P(x,y)[ f(h(x),y) ] …

Bias/Variance Tradeoff Treat h(x|S) has a random function Depends on training data S L = ES[ E(x,y)~P(x,y)[ f(h(x|S),y) ] ] Expected generalization error Over the randomness of S

Bias/Variance Tradeoff Squared loss: f(a,b) = (a-b)2 Consider one data point (x,y) Notation: Z = h(x|S) – y ž = ES[Z] Z-ž = h(x|S) – ES[h(x|S)] Expected Error ES[(Z-ž)2] = ES[Z2 – 2Zž + ž2] = ES[Z2] – 2ES[Z]ž + ž2 = ES[Z2] – ž2 ES[f(h(x|S),y)] = ES[Z2] = ES[(Z-ž)2] + ž2 Bias/Variance for all (x,y) is expectation over P(x,y). Can also incorporate measurement noise. (Similar flavor of analysis for other loss functions.) Variance Bias

Example y x

h(x|S)

h(x|S)

h(x|S)

ES[(h(x|S) - y)2] = ES[(Z-ž)2] + ž2 Z = h(x|S) – y ž = ES[Z] Bias Variance Bias Variance Bias Variance ES[(h(x|S) - y)2] = ES[(Z-ž)2] + ž2 Z = h(x|S) – y ž = ES[Z] Expected Error Variance Bias

Outline Bias/Variance Tradeoff Ensemble methods that minimize variance Bagging Random Forests Ensemble methods that minimize bias Functional Gradient Descent Boosting Ensemble Selection

Bagging Goal: reduce variance Ideal setting: many training sets S’ P(x,y) S’ Goal: reduce variance Ideal setting: many training sets S’ Train model using each S’ Average predictions sampled independently Variance reduces linearly Bias unchanged ES[(h(x|S) - y)2] = ES[(Z-ž)2] + ž2 Z = h(x|S) – y ž = ES[Z] Expected Error Variance Bias “Bagging Predictors” [Leo Breiman, 1994] http://statistics.berkeley.edu/sites/default/files/tech-reports/421.pdf

Bagging Goal: reduce variance S S’ Goal: reduce variance In practice: resample S’ with replacement Train model using each S’ Average predictions from S Variance reduces sub-linearly (Because S’ are correlated) Bias often increases slightly ES[(h(x|S) - y)2] = ES[(Z-ž)2] + ž2 Z = h(x|S) – y ž = ES[Z] Expected Error Variance Bias Bagging = Bootstrap Aggregation “Bagging Predictors” [Leo Breiman, 1994] http://statistics.berkeley.edu/sites/default/files/tech-reports/421.pdf

Better DT Bagged DT Variance Bias Bias “An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants” Eric Bauer & Ron Kohavi, Machine Learning 36, 105–139 (1999)

Random Forests Goal: reduce variance Bagging can only do so much Resampling training data asymptotes Random Forests: sample data & features! Sample S’ Train DT At each node, sample features (sqrt) Average predictions Further de-correlates trees “Random Forests – Random Features” [Leo Breiman, 1997] http://oz.berkeley.edu/~breiman/random-forests.pdf

Better Average performance over many datasets Random Forests perform the best “An Empirical Evaluation of Supervised Learning in High Dimensions” Caruana, Karampatziakis & Yessenalina, ICML 2008

Structured Random Forests DTs normally train on unary labels y=0/1 What about structured labels? Must define information gain of structured labels Edge detection: E.g., structured label is a 16x16 image patch Map structured labels to another space where entropy is well defined “Structured Random Forests for Fast Edge Detection” Dollár & Zitnick, ICCV 2013

Comparable accuracy vs state-of-the-art Orders of magnitude faster Image Ground Truth RF Prediction Comparable accuracy vs state-of-the-art Orders of magnitude faster “Structured Random Forests for Fast Edge Detection” Dollár & Zitnick, ICCV 2013

Outline Bias/Variance Tradeoff Ensemble methods that minimize variance Bagging Random Forests Ensemble methods that minimize bias Functional Gradient Descent Boosting Ensemble Selection

Functional Gradient Descent h(x) = h1(x) + h2(x) + … + hn(x) S’ = {(x,y)} S’ = {(x,y-h1(x))} S’ = {(x,y-h1(x) - … - hn-1(x))} … h1(x) h2(x) hn(x) http://statweb.stanford.edu/~jhf/ftp/trebst.pdf

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Coordinate Gradient Descent Learn w so that h(x) = wTx Coordinate descent Init w = 0 Choose dimension with highest gain Set component of w Repeat

Functional Gradient Descent h(x) = h1(x) + h2(x) + … + hn(x) Coordinate descent in function space Restrict weights to be 0,1,2,… “Function Space” (All possible DTs)

… Boosting (AdaBoost) h(x) = a1h1(x) + a2h2(x) + … + a3hn(x) S’ = {(x,y,u1)} S’ = {(x,y,u2)} S’ = {(x,y,u3))} … h1(x) h2(x) hn(x) u – weighting on data points a – weight of linear combination Stop when validation performance plateaus (will discuss later) https://www.cs.princeton.edu/~schapire/papers/explaining-adaboost.pdf

Theorem: training error drops exponentially fast Initial Distribution of Data Train model Error of model Coefficient of model Update Distribution Final average Theorem: training error drops exponentially fast https://www.cs.princeton.edu/~schapire/papers/explaining-adaboost.pdf

Better DT Bagging AdaBoost Variance Boosting often uses weak models E.g, “shallow” decision trees Weak models have lower variance Bias Bias “An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants” Eric Bauer & Ron Kohavi, Machine Learning 36, 105–139 (1999)

Ensemble Selection H = {2000 models trained using S’} Training S’ H = {2000 models trained using S’} Validation V’ S Maintain ensemble model as combination of H: h(x) = h1(x) + h2(x) + … + hn(x) + hn+1(x) Denote as hn+1 Add model from H that maximizes performance on V’ Repeat Models are trained on S’ Ensemble built to optimize V’ “Ensemble Selection from Libraries of Models” Caruana, Niculescu-Mizil, Crew & Ksikes, ICML 2004

Ensemble Selection often outperforms a more homogenous sets of models. Reduces overfitting by building model using validation set. Ensemble Selection won KDD Cup 2009 http://www.niculescu-mizil.org/papers/KDDCup09.pdf “Ensemble Selection from Libraries of Models” Caruana, Niculescu-Mizil, Crew & Ksikes, ICML 2004

State-of-the-art prediction performance Method Minimize Bias? Minimize Variance? Other Comments Bagging Complex model class. (Deep DTs) Bootstrap aggregation (resampling training data) Does not work for simple models. Random Forests Complex model class. (Deep DTs) Bootstrap aggregation + bootstrapping features Only for decision trees. Gradient Boosting (AdaBoost) Optimize training performance. Simple model class. (Shallow DTs) Determines which model to add at run-time. Ensemble Selection Optimize validation performance Pre-specified dictionary of models learned on training set. …and many other ensemble methods as well. State-of-the-art prediction performance Won Netflix Challenge Won numerous KDD Cups Industry standard

References & Further Reading “An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants” Bauer & Kohavi, Machine Learning, 36, 105–139 (1999) “Bagging Predictors” Leo Breiman, Tech Report #421, UC Berkeley, 1994, http://statistics.berkeley.edu/sites/default/files/tech-reports/421.pdf “An Empirical Comparison of Supervised Learning Algorithms” Caruana & Niculescu-Mizil, ICML 2006 “An Empirical Evaluation of Supervised Learning in High Dimensions” Caruana, Karampatziakis & Yessenalina, ICML 2008 “Ensemble Methods in Machine Learning” Thomas Dietterich, Multiple Classifier Systems, 2000 “Ensemble Selection from Libraries of Models” Caruana, Niculescu-Mizil, Crew & Ksikes, ICML 2004 “Getting the Most Out of Ensemble Selection” Caruana, Munson, & Niculescu-Mizil, ICDM 2006 “Explaining AdaBoost” Rob Schapire, https://www.cs.princeton.edu/~schapire/papers/explaining-adaboost.pdf “Greedy Function Approximation: A Gradient Boosting Machine”, Jerome Friedman, 2001, http://statweb.stanford.edu/~jhf/ftp/trebst.pdf “Random Forests – Random Features” Leo Breiman, Tech Report #567, UC Berkeley, 1999, “Structured Random Forests for Fast Edge Detection” Dollár & Zitnick, ICCV 2013 “ABC-Boost: Adaptive Base Class Boost for Multi-class Classification” Ping Li, ICML 2009 “Additive Groves of Regression Trees” Sorokina, Caruana & Riedewald, ECML 2007, http://additivegroves.net/ “Winning the KDD Cup Orange Challenge with Ensemble Selection”, Niculescu-Mizil et al., KDD 2009 “Lessons from the Netflix Prize Challenge” Bell & Koren, SIGKDD Exporations 9(2), 75—79, 2007