Boosting模型
Boosting模型 – 多个决策树模型集成后的一种模型
1. 简述随机森林模型与Boosting模型之间的区别
随机森林模型与Boosting模型 - 模型集成中的Bagging和Boosting方法
随机森林模型:各个决策树模型的生成 相互独立 - 样本重采样 得到不同训练集 产生不同决策树模型
Boosting模型:新的决策树模型生成 - 基于已经生成的决策树模型的结果 - 决策树模型的生成并不是相互独立 - 新的决策树生成依赖前一个决策树模型
1. 常见的基于决策树模型的Boosting方法及各自原理是什么?
AdaBoost和GBDT
AdaBoost: 加大此前决策模型中**分类错误**的数据的权重 - 下一个生成的决策树模型 尽量将这些训练集分类正确
GBDT:计算损失函数梯度(gradient)下降方向 - 定位模型不足 - 建立新的决策树模型 - 应用更广
1. 简述随机森林模型和GBDT模型的优缺点
随机森林模型、GBDT模型 - 广泛的应用 - 基于决策树模型 - 处理离散型变量和连续型变量同时存在的场景 - 不需数据集过多假设 - 处理比较复杂的问题 - 集成学习方法 - 相比单一决策树模型 - 性能很大提升
面对更大训练集 - 训练速度较慢 - 寻找更快的方法
复制代码
XGBoost模型
性能更好的Boosting模型
1. 简述XGBoost基于GBDT模型优化的原因
在传统GBDT模型的基础上对**算法**做了以下调整:
1. 传统GBDT - CART树 **基学习器**
XGBoost - 还**支持线性分类器** -基学习器 ** L1和L2正则化**的逻辑回归模型/线性回归模型 - 提高了模型的应用范围
1. 传统GBDT - **优化** - 损失函数一阶导数信息
XGBoost - 优化 - 损失函数 二阶泰勒展开 - 得到一阶导数和二阶导数 - 加快**优化速度**
1. XGBoost - **损失函数**中 加入了**正则项** - 控制模型的**复杂度** - 权衡方差和偏差的角度 - 降低了模型的方差 - 学习出来的模型更简单 - 防止过拟合 - 提高模型**泛化能力 **
1. 借鉴随机森林模型 - 对**特征**进行采样 - 生成决策树的过程中支持列抽样 - 防止过拟合+减少计算量
1. 自动处理**缺失值** - 将其单独作为一个分支
算法改进 + 性能很大提高【大数据量处理上 - 更进一步的提高计算效率,提升速度(支持并行)】
1. 简述XGBoost的并行操作
模型上:一次迭代完成后 - 进行下一次迭代
特征上:并行
决策树模型学习最耗时的一个步骤 - 对**特征值进行排序**【确定最佳分割点】
XGBoost - 训练前 - 预先对数据进行排序 - 保存为块结构 - 后面迭代中会重复使用这个结构 - 大大减少了计算量
块结构 - 并行化成为可能
节点选择 - 计算每个特征的增益 - 选择增益最大的特征作为节点 - 各个特征的增益计算 - 基于块结构实现并行操作
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END