Boosting is a general method for producing a very accurate classification rule by combining rough and moderately inaccurate "rules of thumb." While rooted in a theoretical framework of machine learning, boosting has been found to perform quite well empirically. In this talk, I will introduce the boosting algorithm AdaBoost, and explain the underlying theory of boosting, including an explanation of why boosting often does not suffer from overfitting. I also will describe some recent applications of boosting