题目标题

Boosting 和 Bagging。

难度:初级

机器学习
参考解析

(1)随机森林
随机森林改变了决策树容易过拟合的问题,这主要是由两个操作所优化
的:
1)Boostrap 从袋内有放回的抽取样本值
2)每次随机抽取一定数量的特征(通常为 sqr(n))。
分类问题:采用 Bagging 投票的方式选择类别频次最高的
回归问题:直接取每颗树结果的平均值。(2)Boosting 之 AdaBoost
Boosting 的本质实际上是一个加法模型,通过改变训练样本权重学习多个
分类器并进行一些线性组合。而 Adaboost 就是加法模型+指数损失函数+前
项分布算法。Adaboost 就是从弱分类器出发反复训练,在其中不断调整数据
权重或者是概率分布,同时提高前一轮被弱分类器误分的样本的权值。最后用
分类器进行投票表决(但是分类器的重要性不同)。
(3)Boosting 之 GBDT
将基分类器变成二叉树,回归用二叉回归树,分类用二叉分类树。和上面
的 Adaboost 相比,回归树的损失函数为平方损失,同样可以用指数损失函数
定义分类问题。但是对于一般损失函数怎么计算呢?GBDT(梯度提升决策
树)是为了解决一般损失函数的优化问题,方法是用损失函数的负梯度在当前
模型的值来模拟回归问题中残差的近似值。
注:由于 GBDT 很容易出现过拟合的问题,所以推荐的 GBDT 深度不要超过
6,而随机森林可以在 15 以上。
(4)Xgboost
这个工具主要有以下几个特点:
支持线性分类器
可以自定义损失函数,并且可以用二阶偏导
加入了正则化项:叶节点数、每个叶节点输出 score 的 L2-norm
支持特征抽样
在一定情况下支持并行,只有在建树的阶段才会用到,每个节点可以并行的寻
找分裂特征。