机器学习之集成学习AdaBoost
如大家所熟悉的集成学习是一种利用多个基础模型来构建更加准确、稳定的预测模型的机器学习技术。集成学习的基本思想是将多个模型组合起来通过集体决策来提高模型的预测性能。它能够有效地降低单个模型的过拟合风险提高模型的泛化性能。集成学习有很多方法和框架以下是整体的分类图AdaBoostAdaBoost 算法是一种经典的串行式集成学习方法。在每次迭代中AdaBoost 算法会根据当前加权样本集训练一个弱分类器并计算其错误率。然后根据错误率计算分类器的权重然后更新样本权重并将更新后的样本集用于下一次迭代中。这样每个分类器都是在当前加权样本集上训练的而不是原始的训练集。理解样本和分类器的加权可以把 AdaBoost算法类比为一个错题本每个弱分类器都会形成一个错题本在下一轮学习中我们会针对错题本中的错误题目更加用心地进行学习以避免再犯相同的错误。但需要注意的是AdaBoost 在每次迭代的时候并不只选取错题错分类的样本也会选择之前正确的题。就类似复习的时候不能只看错题也得看看之前做对的题只是权重更偏向错题。每个弱分类器都是在前一轮弱分类器分类错误的样本加权后训练的以此更加关注分类错误的样本从而提高分类性能。那么如何进行样本集的加权呢以下是具体的思路我们为了更聚焦与错误分类的那些样本要设计一种形式使得当分类错误的时候更大分类正确的时候更小。因此可以考虑下面这种形式。如果第 t 个分类器 Gt 错误分类了第 i 个样本则第 i 个样本在第 t 1 轮中的权重为其中 α(t) 是第 t 个分类器的权重。反之如果第 t 个分类器正确分类了第 i 个样本则第 i 个样本在第 t 1 轮中的权重为这样就可以保证这两种情况可以统一为yiGt(Xi 在正确分类时为 -1 错误分类时为 1 。为了保证权重求和为 1 这样计算之后还会对整个权重进行归一化即都除以