Bagging方法有放回地采样同数量样本训练每个学习器, 然后再一起集成(简单投票); Boosting方法使用全部样本(可调权重)依次训练每个学习器, 迭代集成(平滑加权)
1 决策树
ID3,C4.5 CART 特征选择,决策树构建,剪枝
2 Adaboost
大多数提升方法都是改变训练数据的概率(权值)分布,针对不同的训练数据分布调用弱学习算法的一系列弱分类器
从而,两个问题需要解答:
(1)每一轮如何改变训练数据的权值分布?
adaboost将分类错误的样本权值提高,降低分类正确的样本权值,从而使分类错误的样本得到更大的关注
(2)如何将弱分类器组合成一个强分类器?
adaboost采用加权多数表决方法
3 GBDT
CART+加法模型(残差,提升)+ 梯度近似残差
4 xgboost
XGBOOST
XGBOOST同样采用加性模型与前向分布算法,XGBOOST采用的基本模型为回归决策树
3.1 损失函数
训练数据集D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R)D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R),表示样本数量为nn,特征数量为mm,加性模型预测样本xixi
y^i=ϕ(xi)=∑k=1Kfk(xi),fk∈F(3.1)(3.1)y^i=ϕ(xi)=∑k=1Kfk(xi),fk∈F
其中F={f(x)=ωq(x)}(q:Rm→T,ω∈RT)F={f(x)=ωq(x)}(q:Rm→T,ω∈RT)表示回归树空间,qq表示样本到叶子节点序号的映射,TT表示树中叶子节点的个数,ωω表示叶子节点权重,与分类树不同的是,回归树在每个叶子节点都有一个连续的score。
XGBBOST的目标损失函数为:
L(ϕ)=∑i(l(y^i,yi))+∑kΩ(fk)(3.2)(3.2)L(ϕ)=∑i(l(y^i,yi))+∑kΩ(fk)
其中Ω(f)=γT+12λ||ω||2Ω(f)=γT+12λ||ω||2表示正则化项