Bagging
Bagging的策略
- 从样本集中重采样(有重复的)选出n个样本
- 在所有属性上,对这n个样本建立分类器(ID3、C4.5、CART、SVM、Logistic回归等)
- 重复以上两步m次,即获得了m个分类器
- 将数据放在这m个分类器中,最后根据这m个分类器的投票结果,决定数据属于哪一类。
Boosting
- 提升是一个机器学习计数,可以用于回归和分类问题,它每一步产生一个弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升(Gradient boosting)
- 梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合;提升算法通过迭代的选择一个负梯度方向上的基函数来逐渐逼近局部极小值。
- 提升的理论意义:如果一个问题存在弱分类器,则可以通过提升的方法得到强分类器。
提升算法推导
GBDT(梯度提升决策树)
梯度提升的典型基函数即决策树(尤其是CART)
在第m步的梯度提升是根据伪残差数据计算决策树 t m ( x ) t_m(x) tm(x)。令树 t m ( x ) t_m(x) tm(x)的叶结点数目为J,即树 t m ( x ) t_m(x) tm(x)将输入空间划分为J个不相交区域 R 1 m , . . . , R J m R_{1m},...,R_{Jm} R1m,...,RJm,并且决策树 t m ( x ) t_m(x) tm(x)可以在每个区域中给出某个类型的确定性预测。使用指示记号 I ( x ) I(x) I(x),对于输入x, t m ( x ) t_m(x) tm(x)为:
t m ( x ) = ∑