Reputation: 12747
I've been researching on AdaBoost and GentleBoost classifiers, but can't seem to find a clear answer to the question:
I've been told that AdaBoost is good for things with soft edges, like facial recognition, while GentleBoost is good for things with harder and more symmetrical features and edges, like vehicles. Is this true? Is there any proof for this or any evidence to back up this claim?
Upvotes: 4
Views: 1094
Reputation: 2575
I have used OpenCVs version of GentleBoost. It also offers Discrete AdaBoost, Real AdaBoost and LogitBoost as additional options. It is an efficient and powerful tool. It is very useful for real time applications when implemented in a Cascade structure.
The sheer advantage that boosting has over other methods such as SVM is that it also selects the best features to use. For example, the Viola Jones Face Detector uses boosting to select 200 features out of 160,000 Haar features. This makes boosting very fast to train and use in practice.
According to Jerome Friedman, Trevor Hastie, and Robert Tibshirani, GentleBoost is related to Logit Boost. However it strongly outperforms both Logit and Real Boost in the case of noisy features and outliers.
From my limited experience with GentleBoost, outliers and mislabeled samples can still be an issue.
Upvotes: 2
Reputation: 2106
GentleBoost is a variant of AdaBoost classifier, from my memory.
For instance, Adaboost are likely to be able to detect things that have hard objects like you have mentioned for GentleBoost, and I too have test Adaboost on stuff like cans and banana, which too works.
While I have never work with GentleBoost before, or rather try it out, according to papers, chances are the computational speed taken to calculate the objects with little features or hard objects as you called it, like bananas, cans, etc are likely to be a lot faster.
You can read more about this here: AdaBoost, the Gentleboost while is only a short and small part in this wiki, it should be more or less able to clarify it up.
Mathematically speaking the main key difference would be the loss function being used.
For GentleBoost, update is fm(x) = P(y=1 | x) – P(y=0 | x).
While for AdaBoost, update is:
If I am not wrong, GentleBoost should be less sensitive to noisy data in addition to be faster(where faster is an assumption looking at the mathematical side) than AdaBoost, however in terms of accuracy, I have never played around with it, so I can't be sure.
Hope that helped you somehow(:
Upvotes: 5