boosting(提升法)
对于训练集中的每个样本建立全职W(i),当某个样本被错误分类概率很高时,样本的权重加大;
在迭代过程中,每一个迭代器都是一个弱分类器,我们需要用某种策略将其组合,作为最终模型。
bagging(套袋法)
从原始样本集随机抽取n个训练样本,共进行k轮抽取,得到k个训练集。(k个训练集之间相互独立,元素可以有重复)
对于k个训练集,我们训练k个模型 对于分类问题:由投票表决产生分类结果;对于回归问题:由k个模型预测结果的均值作为最后预测结果。(所有模型的重要性相同)区别:
样本选择:Bagging采用的是Bootstrap随机有放回抽样,训练集变化;而Boosting每一轮的训练集是不变的,样本权重变化。
样本权重:Bagging使用的是均匀取样,每个样本权重相等;Boosting根据错误率调整样本权重,错误率越大的样本权重越大。 预测函数:Bagging所有的预测函数的权重相等;Boosting中误差越小的预测函数其权重越大。 并行计算:Bagging各个预测函数可以并行生成;Boosting各个预测函数必须按顺序迭代生成。1)Bagging + 决策树 = 随机森林
2)AdaBoost + 决策树 = 提升树
3)Gradient Boosting + 决策树 = GBDT