  Boosting algorithms have been widely used to tackle a plethora of problems.
In the last few years, a lot of approaches have been proposed to provide
standard AdaBoost with cost-sensitive capabilities, each with a different
focus. However, for the researcher, these algorithms shape a tangled set with
diffuse differences and properties, lacking a unifying analysis to jointly
compare, classify, evaluate and discuss those approaches on a common basis. In
this series of two papers we aim to revisit the various proposals, both from
theoretical (Part I) and practical (Part II) perspectives, in order to analyze
their specific properties and behavior, with the final goal of identifying the
algorithm providing the best and soundest results.
