October 2013 Machine Learning for Language Technology Lecture 6: Ensemble Methods Marina Santini, Uppsala University Department of Linguistics and Philology
Where we are Previous lectures, various different learning methods: Decision trees Nearest neighbors Linear classifiers Structured Prediction This lecture: How to combine classifiers 2
Thanks to E. Alpaydin and Oscar Täckström Combining Multiple Learners 3
Wisdom of the Crowd Guess the weight of an ox Average of people's votes close to true weight Better than most individual members' votes and cattle experts' votes Intuitively, the law of large numbers 4
Definition An ensemble of classifiers is a set of classifiers whose individual decisions are combined in some way to classify new examples (Dietterich, 2000) 5
Diversity vs accuracy An ensemble of classifiers must be more accurate than any of its individual members. The indivudual classifiers composing an ensemble must be accurate and diverse: An accurate classifier is one that has an error rate better than random when guessing new examples Two classifiers are diverse if they make different errors on new data points. 6
Why it can be a good idea to build an ensemble It is possible to build good ensembles for three fundamental reasons. (Dietterich, 2000): 1. Statistical: if little data 2. Computational: enough data, but local optima produced by local search 3. Representational: when the true function f cannot be represeted by any of the hypothesis in H (weighted sums of hypotheses drawn from H might expand the space 7
Distinctions Base learner Arbitrary learning algorithm which could be used on its own Ensemble A learning algorithm composed of a set of base learners. The base learners may be organized in some structure However, not completely clear cut E.g. a linear classifier is a combination of multiple simple learners, in the sense that each dimension is in a simple predictor 8
The main purpose of an ensemble: maximising individual accuracy and diversity Different learners use different Algorithms Hyperparameters Representations /Modalities/Views Training sets Subproblems 9
Practical Example 10
Rationale No Free Lunch Theorem: There is no algorithm that is always the most accurate in all situations. Generate a group of base-learners which when combined has higher accuracy. 11
Methods for Constructing Ensembles 12
Approaches How do we generate base-learners that complement each other? How do we combine the outputs of base learner for maximum accuracy? Examples: Voting Boostrap Resampling Bagging Boosting AdaBoost Stacking Cascading 13
Voting Linear combination 14
Fixed Combination Rules 15
Boostrap Resampling Daume (2012): 150 16
Bagging (bootstrap+aggregating) Use bootstrapping to generate L training sets Train L base learners using an unstable learning procedure During test, take the avarage In bagging, generating complementary base-learners is left to chance and to the instability of the learning method. **Unstable algorithm: when small change in the training set causes a large differnce in the base learners. 17
Boosting: Weak learner vs Strong learner In boosting, we actively try to generate complementary base-learners by training the next learner on the mistakes of the previous learners. The original boosting algorithm (Schapire 1990) combines three weak learners to generate a strong learner. A weak learner has error probability less than 1/2, which makes it better than random guessing on a two-class problem A strong learner has arbitrarily small error probability. 18
Boosting (ii) [Alpaydin, 2010: 431] Given a large training set, we randomly divide it into three. We use X1 and train d1. We then take X2 and feed it to d1. We take all instances misclassified by d1 and also as many instances on which d1 is correct from X2, and these together form the training set of d2. We then take X3 and feed it to d1 and d2. The instances on which d1 and d2 disagree form the training set of d3. During testing, given an instance, we give it to d1 and d2; if they agree, that is the response, otherwise the response of d3 is taken as the output. 19
Boosting: drawback Though it is quite successful, the disadvantage of the original boosting method is that it requires a very large training sample. 20
Adaboost (adaptive boosting) Use the same training set over and over and thus need not to be large. Classifiers must be simple so they do not overfit. Can combine an arbitrary number of base learners, not only three. 21
AdaBoost Generates a sequence of base-learners each focusing on previous one s errors. The porbability of a correctly classified instance is decreased, and the probability of a missclassified instance increases. This has the effect that the next classifier focuses more on instances missclassified by the previous classifier. [Alpaydin, 2010: 432-433] 22
Adaboost: Testing Given an instance, all the classifiers decide and a weighted vote is taken. The weights are proportional to the base learners accuracies on the training set. improved accuracy The success of Adaboost is due to its property of increasing the margin. If the margin increases, the training istances are better separated and errors are less likely. (This aim is similar to SVMs) 23
Stacking (i) In stacked generalization, the combiner f( ) is another learner and is not restricted to being a linear combination as in voting. 24
Stacking (ii) The combiner system should learn how the base learners make errors. Stacking is a means of estimating and correcting for the biases of the base-learners. Therefore, the combiner should be trained on data unused in training the base-learners 25
Cascading Use d j only if preceding ones are not confident Cascade learners in order of complexity 26
Cascading Cascading is a multistage method, and we use dj only if all preceding learners are not confident. Associated with each learner is a confidence wj such that we say dj is confident of its output and can be used if wj > θj (the threshold). Confident: misclassifications as well as the instances for which the posterior is not high enough. Important: The idea is that an early simple classifier handles the majority of instances, and a more complex classifier is used only for a small percentage, so does not significantly increase the overall complexity. 27
Summary It is often a good idea to combine several learning methods We want diverse classifiers, so their errors cancel out However, remember, ensemble methods do not get free lunch 28
Example in the case of arc-factored graph-based parsing, we relied on spanning tree over a dense graph over the input. a dense graph is a graph that contains all possible arcs (wordforms) a spanning tree is a tree that has an incoming arc for each word. 29
Example: Ensemble MST Dependency Parsing 30
Conclusions Combining multiple learners has been a popular topic in machine learning since the early 1990s, and research has been going on ever since. Recently, it has been noticed that ensembles do not always improve accuracy and research has started to focus on the criteria that a good ensemble should satisfy or how to form a good one. 31
Reading Dietterich (2000) Alpaydin (2010): Ch. 17 Daumé (2012): Ch. 11 32
Thanx for your attention! 33