Boost
加法模型
前向分步算法
梯度提升
1.如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称为梯度提升
2,损失函数的确定(目标即为损失函数在训练集上的期望最小)
3,
GDBT(梯度下降提升树)
基函数:决策树(CART回归树)
损失函数:
优缺点:
AdaBoost
1.标准AdaBoost用来分类
2.损失函数:指数损失函数
3.α和w的权重更新公式(归一化因子)
4.优缺点
XGBoost
1.利用了目标函数的二阶信息
2.正则项、
3.优缺点:
常见问题
XGBboost与GDBT的比较
GDBT | XGBoost | |
---|---|---|
基学习器 | CART树 | 还支持线性分类器,这个时候XGB相当于L1正则化和L2正则化的LR和线性回归 |
信息利用 | 一阶导数 | 对代价函数进行了二阶泰勒展开,得到一阶和二阶导数 |
正则 | 在代价函数中加入了正则项,用于控制模型的复杂度;从权衡方差偏差来看,降低了模型的方差,使学习出来的模型更加简单,防止过拟合 | |
学习率 | 在进行完一次迭代之后,会将叶子节点的权值乘上该系数,主要是为了削弱每棵树的影响,让后面有更大的学习空间 | |
列抽样 | 借鉴了RF的做法,支持列抽样,不仅防止过拟合,还能减少计算 | |
对缺失值的处理 | 对于特征的值有缺失的样本,XGB还可以自动学习出它的分裂方向??? | |
并行 | 不支持 | 支持。不是tree粒度的,也是迭代完一次之后再下一次;是在特征粒度上的,预先对数据做了排序,保存为block结构,后面的迭代中重复的使用这个结构大大减少计算量;block也使并行成为了可能,在进行节点的分裂时,各个特征的增益计算就可以并行 |
Bagging
RF
1.随机选择特征
2.在构建决策树的时候,RF的每颗决策树都最大可能的进行生长而不进行剪枝?
3.包外估计?
4,优缺点:
优点:能处理很高维的数据,并且不用特征选择,而且在训练完后,给出特征的重要性;可以并行
缺点:在噪声较大的分类或回归问题上会过拟合