Upload
butest
View
541
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
1SCR©
1st SU-VLPR’09, Beijing
Zhuowen TuLab of Neuro Imaging, Department of
NeurologyDepartment of Computer Science
University of California, Los Angeles
Ensemble Classification Methods: Bagging, Boosting, and Random Forests
Some slides are due to Robert Schapire and Pier Luca Lnzi
2SCR©
1st SU-VLPR’09, Beijing
ICCV W. Freeman and A. Blake
Discriminative v.s. Generative Models
Generative and discriminative learning are key problems in machine learning and computer vision.
If you are asking, “Are there any faces in this image?”, then you would probably want to use discriminative methods.
If you are asking, “Find a 3-d model that describes the runner”,then you would use generative methods.
3SCR©
1st SU-VLPR’09, Beijing
Discriminative v.s. Generative Models
Discriminative models, either explicitly or implicitly, study the posterior distribution directly.
Generative approaches model the likelihood and prior separately.
4SCR©
1st SU-VLPR’09, Beijing
Some Literature
Perceptron and Neural networks ((Rosenblatt 1958, Windrow and Hoff 1960,
Hopfiled 1982, Rumelhart and McClelland 1986, Lecun et al. 1998))
Support Vector Machine (Vapnik 1995)
Bagging, Boosting,… (Breiman 1994, Freund and Schapire 1995, Friedman et al. 1998,)
Discriminative Approaches:
Nearest neighborhood classifier (Hart 1968)Fisher linear discriminant analysis(Fisher)
Generative Approaches:
PCA, TCA, ICA (Karhunen and Loeve 1947, H´erault et al. 1980, Frey and Jojic 1999) MRFs, Particle Filtering (Ising, Geman and Geman 1994, Isard and Blake 1996)Maximum Entropy Model (Della Pietra et al. 1997, Zhu et al. 1997, Hinton 2002)Deep Nets (Hinton et al. 2006)….
…
5SCR©
1st SU-VLPR’09, Beijing
Pros and Cons of Discriminative Models
Focused on discrimination and marginal distributions.
Easier to learn/compute than generative models (arguable).
Good performance with large training volume.
Often fast.
Pros:
Cons:
Limited modeling capability.
Can not generate new data.
Require both positive and negative training data (mostly).
Performance largely degrades on small size training data.
Some general views, but might be outdated
6SCR©
1st SU-VLPR’09, Beijing
Intuition about Margin
InfantElderly
Man Woman
?
?
7SCR©
Problem with All Margin-based Discriminative Classifier
It might be very miss-leading to return a high confidence.
8SCR©
1st SU-VLPR’09, Beijing
Several Pair of Concepts
Generative v.s. Discriminative
Parametric v.s. Non-parametric
f(x)y
K
ii
1i (x)gy
Supervised v.s. Unsupervised
The gap between them is becoming increasingly small.
x)|p(yx)p(y,
1..N}i),x,{(y ii 1..N}i),{(x i
9SCR©
1st SU-VLPR’09, Beijing
Parametric v.s. Non-parametric
Non-parametric:Parametric:
nearest neighborhood
kernel methods
decision tree
neural nets
Gaussian processes
…
logistic regression
Fisher discriminant analysis
Graphical models
hierarchical models
bagging, boosting
…
It roughly depends on if the number of parameters increases with the number of samples.
Their distinction is not absolute.
10SCR©
1st SU-VLPR’09, Beijing
Empirical Comparisons of Different Algorithms
Caruana and Niculesu-Mizil, ICML 2006
Overall rank by mean performance across problems and metrics (based on bootstrap analysis).
BST-DT: boosting with decision tree weak classifier RF: random forest
BAG-DT: bagging with decision tree weak classifier SVM: support vector machine
ANN: neural nets KNN: k nearest neighboorhood
BST-STMP: boosting with decision stump weak classifier DT: decision tree
LOGREG: logistic regression NB: naïve Bayesian
It is informative, but by no means final.
11SCR©
Empirical Study on High-dimensionCaruana et al., ICML 2008
Moving average standardized scores of each learning algorithm as a function of the dimension.
The rank for the algorithms to perform consistently well:
(1) random forest (2) neural nets (3) boosted tree (4) SVMs
12SCR©
Ensemble Methods
Bagging (Breiman 1994,…)
Boosting (Freund and Schapire 1995, Friedman et al. 1998,…)
Random forests (Breiman 2001,…)
Predict class label for unseen data by aggregating a set of predictions (classifiers learned from the training data).
13SCR©
General Idea
S Training Data
S1 S2 SnMultiple Data Sets
C1 C2 CnMultiple Classifiers
HCombined Classifier
14SCR©
Build Ensemble Classifiers
• Basic idea:
Build different “experts”, and let them vote
• Advantages:
Improve predictive performance
Other types of classifiers can be directly included
Easy to implement
No too much parameter tuning
• Disadvantages:
The combined classifier is not so transparent (black box)
Not a compact representation
15SCR©
Why do they work?
• Suppose there are 25 base classifiers
• Each classifier has error rate,
• Assume independence among classifiers
• Probability that the ensemble classifier makes a wrong prediction:
06.0)1( 25 25i
25
13
i
i i
35.0
16SCR©
Bagging
• Training
o Given a dataset S, at each iteration i, a training set Si is sampled with replacement from S (i.e. bootstraping)
o A classifier Ci is learned for each Si
• Classification: given an unseen sample X,
o Each classifier Ci returns its class prediction
o The bagged classifier H counts the votes and assigns the class with the most votes to X
• Regression: can be applied to the prediction of continuous values by taking the average value of each prediction.
17SCR©
Bagging
• Bagging works because it reduces variance by voting/averaging
o In some pathological hypothetical situations the overall error might increase
o Usually, the more classifiers the better
• Problem: we only have one dataset.
• Solution: generate new ones of size n by bootstrapping, i.e. sampling it with replacement
• Can help a lot if data is noisy.
18SCR©
Bias-variance Decomposition
• Used to analyze how much selection of any specific training set affects performance
• Assume infinitely many classifiers, built from different training sets
• For any learning scheme,
o Bias = expected error of the combined classifier on new data
o Variance = expected error due to the particular training set used
• Total expected error ~ bias + variance
19SCR©
When does Bagging work?
• Learning algorithm is unstable: if small changes to the training set cause large changes in the learned classifier.
• If the learning algorithm is unstable, then Bagging almost always improves performance
• Some candidates:
Decision tree, decision stump, regression tree, linear regression, SVMs
20SCR©
1st SU-VLPR’09, Beijing
Why Bagging works?
• Let be the set of training dataset
• Let be a sequence of training sets containing a sub-set of
• Let P be the underlying distribution of .
• Bagging replaces the prediction of the model with the majority of the predictions given by the classifiers
}...1),,{( NixyS ii
}{ kSS
S
)),((),( kSA SxEPx
21SCR©
1st SU-VLPR’09, Beijing
Why Bagging works?
)],([),( kSA SxEPx
Direct error:2
, )],([ SXYEEe XYS
Bagging error:
2, )],([ PXYEe AXYA
)],([][2][ 2,
2 SXEEYEYEe SXYA
AA eYE 2)(
Jensen’s inequality: ][][ 22 ZEZE
22SCR©
Randomization
• Can randomize learning algorithms instead of inputs
• Some algorithms already have random component: e.g. random initialization
• Most algorithms can be randomized
o Pick from the N best options at random instead of always picking the best one
o Split rule in decision tree
• Random projection in kNN (Freund and Dasgupta 08)
23SCR©
Ensemble Methods
Bagging (Breiman 1994,…)
Boosting (Freund and Schapire 1995, Friedman et al.
1998,…)
Random forests (Breiman 2001,…)
24SCR©
A Formal Description of Boosting
25SCR©
1st SU-VLPR’09, Beijing
AdaBoost (Freund and Schpaire)
( not necessarily with equal weight)
26SCR©
1st SU-VLPR’09, Beijing
Toy Example
27SCR©
1st SU-VLPR’09, Beijing
Final Classifier
28SCR©
1st SU-VLPR’09, Beijing
Training Error
29SCR©
1st SU-VLPR’09, Beijing
Training Error
Two take home messages:
(1) The first chosen weak learner is already informative about the difficulty of the classification algorithm
(1) Bound is achieved when they are complementary to each other.
Tu et al. 2006
30SCR©
1st SU-VLPR’09, Beijing
Training Error
31SCR©
1st SU-VLPR’09, Beijing
Training Error
32SCR©
1st SU-VLPR’09, Beijing
Training Error
t
tt e
e
1log
2
1
33SCR©
1st SU-VLPR’09, Beijing
Test Error?
34SCR©
1st SU-VLPR’09, Beijing
Test Error
35SCR©
1st SU-VLPR’09, Beijing
The Margin Explanation
36SCR©
1st SU-VLPR’09, Beijing
The Margin Distribution
37SCR©
1st SU-VLPR’09, Beijing
Margin Analysis
38SCR©
1st SU-VLPR’09, Beijing
Theoretical Analysis
39SCR©
1st SU-VLPR’09, Beijing
AdaBoost and Exponential Loss
40SCR©
1st SU-VLPR’09, Beijing
Coordinate Descent Explanation
41SCR©
1st SU-VLPR’09, Beijing
Coordinate Descent Explanation
iTT
T
ttti xhxhy )))()((exp( minimize To
1
1
i
TTiT xhyiD ))(exp()(1
Step 1: find the best to minimize the error.Th
Step 2: estimate to minimize the error on T Th
0]))(exp()([ 1
T
iTTiT xhyiD
T
TT e
e
1log
2
1
42SCR©
1st SU-VLPR’09, Beijing
Logistic Regression View
43SCR©
1st SU-VLPR’09, Beijing
Benefits of Model Fitting View
44SCR©
Advantages of Boosting
• Simple and easy to implement
• Flexible– can combine with any learning algorithm
• No requirement on data metric– data features don’t need to be normalized, like in kNN and SVMs (this has been a central problem in machine learning)
• Feature selection and fusion are naturally combined with the same goal for minimizing an objective error function
• No parameters to tune (maybe T)
• No prior knowledge needed about weak learner
• Provably effective
• Versatile– can be applied on a wide variety of problems
• Non-parametric
45SCR©
Caveats
• Performance of AdaBoost depends on data and weak learner
• Consistent with theory, AdaBoost can fail if
o weak classifier too complex– overfitting
o weak classifier too weak -- underfitting
• Empirically, AdaBoost seems especially susceptible to uniform noise
46SCR©
Variations of Boosting
Confidence rated Predictions (Singer and Schapire)
47SCR©
Confidence Rated Prediction
48SCR©
Variations of Boosting (Friedman et al. 98)
][)( )(xyFeEFJ )()()( xcfxFxF
][)( )()(( xcfxFyeEcfFJ
)](1([ )( xycfeE xyF
)|2/)()(1(minarg
)( 2 xxfcxycfEf
xf w
]|))([(minarg 2 xxfyEf w
The AdaBoost (discrete) algorithm fits an additive logistic regression model by using adaptive Newton updates for minimizing ][)( )(xyFeEFJ
49SCR©
LogiBoost
The LogiBoost algorithm uses adaptive Newton steps for fitting an additive symmetric logistic model by maximum likelihood.
50SCR©
Real AdaBoost
The Real AdaBoost algorithm fits an additive logistic regression model by stage-wise optimization of ][)( )(xyFeEFJ
51SCR©
Gental AdaBoost
The Gental AdaBoost algorithmuses adaptive Newton steps for minimizing ][)( )(xyFeEFJ
52SCR©
Choices of Error Functions
?][)( )(xyFeEFJ
)]1[log( )(2 xyFeE
53SCR©
Multi-Class Classification
One v.s. All seems to work very well most of the time.
R. Rifkin and A. Klautau, “In defense of one-vs-all classification”, J. Mach. Learn. Res, 2004
Error output code seems to be useful when the number of classes is big.
54SCR©
Data-assisted Output Code (Jiang and Tu 09)
!)(log( bitsNO
55SCR©
Ensemble Methods
Bagging (Breiman 1994,…)
Boosting (Freund and Schapire 1995, Friedman et al.
1998,…)
Random forests (Breiman 2001,…)
56SCR©
Random Forests
• Random forests (RF) are a combination of tree predictors
• Each tree depends on the values of a random vector sampled in dependently
• The generalization error depends on the strength of the individual trees and the correlation between them
• Using a random selection of features yields results favorable to AdaBoost, and are more robust w.r.t. noise
57SCR©
The Random Forests Algorithm
Given a training set S
For i = 1 to k do:
Build subset Si by sampling with replacement from S
Learn tree Ti from Si
At each node:
Choose best split from random subset of F features
Each tree grows to the largest extend, and no pruning
Make predictions according to majority vote of the set of k trees.
58SCR©
Features of Random Forests
• It is unexcelled in accuracy among current algorithms.
• It runs efficiently on large data bases.
• It can handle thousands of input variables without variable deletion.
• It gives estimates of what variables are important in the classification.
• It generates an internal unbiased estimate of the generalization error as the forest building progresses.
• It has an effective method for estimating missing data and maintains accuracy when a large proportion of the data are missing.
• It has methods for balancing error in class population unbalanced data sets.
59SCR©
Features of Random Forests
• Generated forests can be saved for future use on other data.
• Prototypes are computed that give information about the relation between the variables and the classification.
• It computes proximities between pairs of cases that can be used in clustering, locating outliers, or (by scaling) give interesting views of the data.
• The capabilities of the above can be extended to unlabeled data, leading to unsupervised clustering, data views and outlier detection.
• It offers an experimental method for detecting variable interactions.
60SCR©
Compared with Boosting
• It is more robust.
• It is faster to train (no reweighting, each split is on a small subset of data and feature).
• Can handle missing/partial data.
• Is easier to extend to online version.
Pros:
• The feature selection process is not explicit.
• Feature fusion is also less obvious.
• Has weaker performance on small size training data.
Cons:
61SCR©
Problems with On-line Boosting
Oza and Russel
The weights are changed gradually, but not the weak learners themselves!
Random forests can handle on-line more naturally.
62SCR©
Face Detection
Viola and Jones 2001 A landmark paper in vision!
1. A large number of Haar features.
2. Use of integral images.
3. Cascade of classifiers.
4. Boosting.
HOG, part-based..
RF, SVM, PBT, NN
All the components can be replaced now.
63SCR©
Empirical Observatations
• Boosting-decision tree (C4.5) often works very well.
• 2~3 level decision tree has a good balance between effectiveness and efficiency.
• Random Forests requires less training time.
• They both can be used in regression.
• One-vs-all works well in most cases in multi-class classification.
• They both are implicit and not so compact.
64SCR©
Ensemble Methods
• Random forests (also true for many machine learning algorithms) is an example of a tool that is useful in doing analyses of scientific data.
• But the cleverest algorithms are no substitute for human intelligence and knowledge of the data in the problem.
• Take the output of random forests not as absolute truth, but as smart computer generated guesses that may be helpful in leading to a deeper understanding of the problem.
Leo Brieman