Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Explaining the AdaBoost Algorithms to non-technical people

I've been trying to understand the AdaBoost algorithm without much success. I'm struggling with understanding the Viola Jones paper on Face Detection as an example.

Can you explain AdaBoost in laymen's terms and present good examples of when it's used?

like image 534
dole doug Avatar asked Dec 17 '09 16:12

dole doug


People also ask

How do you describe AdaBoost?

What is the AdaBoost Algorithm? AdaBoost also called Adaptive Boosting is a technique in Machine Learning used as an Ensemble Method. The most common algorithm used with AdaBoost is decision trees with one level that means with Decision trees with only 1 split. These trees are also called Decision Stumps.

What is the use of AdaBoost algorithm?

AdaBoost can be used to boost the performance of any machine learning algorithm. It is best used with weak learners. These are models that achieve accuracy just above random chance on a classification problem. The most suited and therefore most common algorithm used with AdaBoost are decision trees with one level.

What type of weak learners are used by AdaBoost?

Although AdaBoost is typically used to combine weak base learners (such as decision stumps), it has been shown that it can also effectively combine strong base learners (such as deep decision trees), producing an even more accurate model.

What are advantages of AdaBoost?

Coming to the advantages, Adaboost is less prone to overfitting as the input parameters are not jointly optimized. The accuracy of weak classifiers can be improved by using Adaboost. Nowadays, Adaboost is being used to classify text and images rather than binary classification problems.


1 Answers

Adaboost is an algorithm that combines classifiers with poor performance, aka weak learners, into a bigger classifier with much higher performance.

How does it work? In a very simplified manner:

  1. Train a weak learner.
  2. Add it to the set of weak learners trained so far (with an optimal weight)
  3. Increase the importance of samples that are still miss-classified.
  4. Go to 1.

There is a broad and detailed theory behind the scenes, but the intuition is just that: let each "dumb" classifier focus on the mistakes the previous ones were not able to fix.

AdaBoost is one of the most used algorithms in the machine learning community. In particular, it is useful when you know how to create simple classifiers (possibly many different ones, using different features), and you want to combine them in an optimal way.

In Viola and Jones, each different type of weak-learner is associated to one of the 4 or 5 different Haar features you can have.

like image 59
Hugo Avatar answered Oct 16 '22 17:10

Hugo