算法思想
多个分类器组合构成一个效果更好的分类器,按照某种规则将各个学习结果进行整合。
优缺点
优点:
1.高精度
2.简单,不用特征筛选
3.不易过拟合
缺点:
1.对异常敏感
面试问题收集
1. bagging为什么能减小方差?
首先从方差的定义来看,是各预测值与期望预测之差平方的期望,那Bagging输出结果为不同分类器预测结果的平均值/多数表决,也就是这个最终输出结果更接近期望预测,也就意味着方差的减小。
2. bagging为什么不能减小偏差?
随机采样(数据间具有重叠)+训练的都是同一类模型+最终结果为多数表决或者取平均值,因此,整体模型的偏差近似于各基模型偏差。
3. boosting为什么能减小偏差?
迭代算法,每论迭代重新更新样本权重(关注错误样本),使得误差会越来越小,所以模型的bias会不断降低。
(总之要记住: 偏差bias跟模型有关,方差variance跟数据有关)
4. Boosting(adaboost)与bagging区别?
(1)并行计算:bagging各基分类器可并行生成;boosting各基分类器串行生成,存在依赖关系
(2)样本选择:bagging有放回抽样,各训练集相互独立;boosting每一轮的训练样本集都依赖于上一轮的学习结果
(3)样本权重:bagging每个样例权重相等;boosting根据错误率,不断更新样本权重
(4)分类器权重:bagging各基分类器没有权重;boosting各基分类器根据上一轮训练误差得到该次基分类器的权重
(5)boosting目标是降低偏差;bagging目标是降低方差
(6)boosting对噪声较敏感;bagging对噪声不敏感
5. 为什么集成学习效果好?
首先,基于多个弱分类器,采取一定规则(多数表决,平均取值)将各学习结果整合,使得结果强于最差的,次于最好的,一定程度上增强的泛化能力。
6. 集成有效的前提–各基分类器必须“好而不同”
- “好”,即每个弱分类器要有一定“准确性”,错误率不能高于0.5。—因若太差,最终输出是多数表决/平均值的结果也不会好
- “不同”,弱分类器间要有差异,“多样性”。—因相互独立的分类器,随着分类器的数目增多,集成的错误率呈指数下降,即,最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升.
7. Boosting的两个核心问题:
(1)每一轮如何改变训练样本权重?提高前一轮分错样本的权重
(2)通过什么方式组合基分类器?加法模型线性组合,减小误差率大的基分类器权重,增大误差率小的基分类器权重