每个弱分类器的分类结果加权相加后,再用sign函数激活,得到最终分类结果。这里的权就是alpha
alpha根据每个弱分类器的分类错误率算出,alpha = 0.5 * ln( (1-errorRate) / errorRate )
本算法中的弱分类器为单决策树,在构建单决策树时,会根据加权错误率来衡量其性能
被分错的样本权重高,权重计算:D[i] = D[i] * e^(-1 * alpha * label[i]) / sum(D)
在AdaBoost训练过程中,每一次迭代都会更新D,D是AdaBoost与各弱分类器交互的地方
每一次迭代都会创建一个弱分类器,并存储下来
当分类错误率很小,或者迭代次数够了时,AdaBoos训练结束
#include
#include
#include
#include
#include
#include
运行结果: