2019/12/07
《No.6: p57-p60》《增强型分析-AI驱动的
数据分析、业务决策与案例实践》读书笔记
第3章 预测模型的新技术
3.3 Gradient Tree Boosting的改进方向
3.3.1 Gradient Tree Boosting的使用要点
1.弱分类器的参数(若采用决策树)
1)树的个数: 决定Boosting的次数,该值越大,学习的次数越多。
2)树的深度: 深度决定单个决策树的预测效果。深度越深拟合效果越好,变量也越多。
3)叶子节点数量: 节点数量决定划分的精细程度,节点越多,拟合效果越好
4)叶子节点上的样本数量: 是指叶子节点的权重。
2.Learning Rate
1)在scikit-learn的GradientBoostingClassifier算法中,建议从0.1开始设置learning rate,以避免过度拟合。
2)learning rate与弱分类器的个数呈现正向关系。 弱分类器个数多,Learning rate提高;弱分类器少,Learning rate减少。
3.有效放回随机抽样:采用部份数据而非全面的训练集来进行模型训练。
4.惩罚性学习(Penalized Learning)
1)使用场景: A)样本不足时,对于正样本误判的情况增加惩罚项。 B)Regularization技术,过拟合发生时,损失函数取值非常大,迫使尽量避免拟合的发生。
2) scikit-learn的GradientBoostingClassifier算法中不支持Regularization。但XGBoost有支持。
3.3.2 Regularization
1.定义: 通过算法中增加一组惩罚项用于减少由于学习训练集中的噪声数据而引起的过拟合问题,透过在损失函数加入收缩量(shrinkage quantity),当寻求损失函数最小值时,会放弃过度拟合的情况。
2.Regularization的三种方式
1)L1 Regularization又称为Lasso惩罚: 当误差项取最小化时,会促使模型将一些变量的系数或权重取值为0,而不被采纳使用。
2)L2 Regularization:又称为Ridge惩罚,会避免参数值或权重过大。
3)L1/L2 Regularization:又称为Elastic-Net惩罚,结合了L1及L2的优点。
3.3.3 XGBoost介绍
1.XGBoost的优势: 支持Regularization、支持Spark、支持并行计算功能。
2.XGBoost已经不是一个算法,而是由开源社区维护的一个平台。