xgboost除了第2.1节中提到的正则化目标之外,还使用了另外两种技术来进一步防止过拟合1

目录

  • shrinkage[^1]
  • Column Subsampling[^2]

shrinkage2

第一种技术是由弗里德曼提出的收缩。在树提升的每一步之后,收缩率以η因子的比例缩放新添加的权重。与随机优化中的学习率类似,收缩减少了每棵树的影响,并为未来的树留下了改进模型的空间。

在论文2中有描述:

The “shrinkage” parameter 0 < v ⩽ 1 0<v\leqslant1 0<v⩽1 controls the learning rate of the procedure. Empirically (Friedman, 1999), it was found that small values ( ν ⩽ 0.1 ) (\nu\leqslant0.1) (ν⩽0.1) lead to much better generalization error.

shrinkage参数一般设置在 0 < v ⩽ 1 0<v\leqslant1 0<v⩽1范围内,Empirically (Friedman, 1999)发现小的值 ( ν ⩽ 0.1 ) (\nu\leqslant0.1) (ν⩽0.1)使得有更好的泛化性能;
F m ( x ) = F m − 1 ( x ) + v ⋅ γ l m 1 ( x ∈ R l m ) . F_m(\mathbf{x)=}F_{m-1}(\mathbf{x})+v\cdot\gamma_{lm}1(\mathbf{x}\in R_{lm}). Fm​(x)=Fm−1​(x)+v⋅γlm​1(x∈Rlm​).
F m ( x ) F_m(x) Fm​(x):模型表达式,例如递归树;

γ l m \gamma_{lm} γlm​:前面的模型最小损失累加,例如递归树的损失:
γ l m = arg ⁡ min ⁡ γ ∑ x i ∈ R l m Ψ ( y i , F m − 1 ( x i ) + γ ) . \gamma_{l m}=\arg\min\limits_\gamma\sum_{\mathbf{x}_i\in R_{l m}}\Psi(y_i,F_{m-1}(\mathbf{x}_i)+\gamma). γlm​=argγmin​xi​∈Rlm​∑​Ψ(yi​,Fm−1​(xi​)+γ).
Ψ \Psi Ψ:损失函数,例如平方误差损失;

Column Subsampling3

第二种技术是列(特征)子采样。该技术在RandomForest[4,13]中使用,它在商业软件TreeNet 4中实现,用于梯度增强,但在现有的开源包中没有实现。根据用户反馈,使用列子采样比传统的行子采样(也支持)更能防止过拟合。列子采样的使用也加快了后面描述的并行算法的计算速度。

Breiman, L.的随机森林算法论文中的特征采样方法和实验:

最简单的具有随机特征的随机森林是通过在每个节点随机选择一小组输入变量进行分割而形成的。使用CART方法将树生长到最大尺寸,不要修剪。用Forest-RI表示这个过程。组的大小F是固定的,我们尝试了F的两个值。第一种方法只使用了一个随机选择的变量,即F = 1。第二种选择F是第一个小于 l o g 2 ( M + 1 ) log_2(M + 1) log2​(M+1)的整数,其中M是输入的数量。

注:实验方法是使用来自UCI存储库的13个较小的数据集,3个较大的数据集,分别分为训练集和测试集,以及4个合成数据集。选择前10组是因为在过去的研究中使用过它们。表1给出了一个简要的总结。

Breiman, L.在13个较小的数据集上,使用以下程序:随机留出10%的数据。在剩下的数据上,随机森林运行两次,生长并组合100棵树——第一次是 F = 1 F = 1 F=1,第二次是 F = i n t ( l o g 2 ( M + 1 ) ) F = int(log_2(M +1)) F=int(log2​(M+1))。然后将留出的10%进行两个随机森林模型推理,以获得两者的测试集误差。所选的测试集误差对应于两次运行中out-of-bag估计的较低值。并且重复100次,测试集误差取平均值。

在随机森林中,使用特征随机选择的方式得到的结果如下。

参考:


  1. XGBoost: A Scalable Tree Boosting System ↩︎

  2. Friedman, J. H. (2002). Stochastic gradient boosting. Computational Statistics & Data Analysis, 38(4), 367–378. doi:10.1016/s0167-9473(01)00065-2 ↩︎ ↩︎

  3. Breiman, L. (2001). Machine Learning, 45(1), 5–32. doi:10.1023/a:1010933404324 ↩︎

xgboost:防止过拟合的方法收缩和特征列、采样相关推荐

  1. ML之xgboost:利用xgboost算法对Boston(波士顿房价)数据集【特征列分段→独热编码】进行回归预测(房价预测)+预测新数据得分

    ML之xgboost:利用xgboost算法对Boston(波士顿房价)数据集[特征列分段→独热编码]进行回归预测(房价预测)+预测新数据得分 导读 对Boston(波士顿房价)数据集进行特征工程,分 ...

  2. XGBoost防止过拟合的方法

    1 概述 以下是一些从理论研究和实践经验中总结的防止过拟合的思路: 思路一:控制模型的复杂度 主要方法: 限制树的最大深度 调节正则项系数 限制叶子节点样本数量 思路二:增加随机性使得模型对噪声鲁棒 ...

  3. 【机器学习】L1正则化与L2正则化详解及解决过拟合的方法

    在详细介绍L1与L2之前,先讲讲正则化的应用场景. 正则化方法:防止过拟合,提高泛化能力 所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越, ...

  4. (转载)一种根据纠偏数据对火星坐标进行完美拟合的方法

    一种根据纠偏数据对火星坐标进行完美拟合的方法 (2011-02-15 13:30:27) 转载▼ 标签: 地图 纠偏算法 it (原创:小牙,QQ328959,转载请注明出处) 从GPS设备取得真实坐 ...

  5. 机器学习中常见的过拟合解决方法

    机器学习中常见的过拟合解决方法 参考文章: (1)机器学习中常见的过拟合解决方法 (2)https://www.cnblogs.com/jiangxinyang/p/9281107.html 备忘一下 ...

  6. 神经网络防止过拟合的方法

    知乎上的回答:https://www.zhihu.com/question/59201590 深度学习防止过拟合的方法 过拟合即在训练误差很小,而泛化误差很大,因为模型可能过于的复杂,使其" ...

  7. xgboost防止过拟合

    xgboost防止过拟合 添加链接描述 posted on 2019-03-05 16:07 luoganttcc 阅读(...) 评论(...) 编辑 收藏

  8. 机器学习中用来防止过拟合的方法有哪些?

     机器学习中用来防止过拟合的方法有哪些? 雷锋网(公众号:雷锋网)按:本文作者 qqfly,上海交通大学机器人所博士生,本科毕业于清华大学机械工程系,主要研究方向机器视觉与运动规划,会写一些好玩的 ...

  9. 过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...

    <python深度学习>笔记---4.4.过拟合与欠拟合(解决过拟合常见方法) 一.总结 一句话总结: 减小网络大小 添加权重正则化 添加 dropout 正则化 1.机器学习的根本问题? ...

最新文章

  1. UserWarning: Label not :NUMBER: is present in all training examples
  2. 在Forge Viewer上显示自订义属性
  3. python ioctl_ioctl()函数 Unix/Linux
  4. SQL Server 2008 复习(一)
  5. Task和async/await详解
  6. 一人之力,毁掉一个开发者活动
  7. 多线程程序中操作的原子性
  8. iview this.$modal 关闭所有的弹窗_一看会用TOB弹窗应用场景
  9. 取代cookie的网站追踪技术:”帆布指纹识别”初探
  10. Windows Phone 7 定义和使用字典资源(ResourceDictionary)
  11. linux安装gtk命令,Ubuntu 下安装 GTK2.0
  12. azure云数据库_Azure中的新弹性数据库
  13. fn:startsWith()函数
  14. mysql游标嵌套怎么写,mysql游标和嵌套游标
  15. 软件测试用例设计(三)——场景法
  16. java.util.TaskQueue的最小堆排序算法的应用
  17. matlab电路图powergui怎么用,使用matlab中的powergui对采集的数据进行谐波分析#实验日记#...
  18. 【Arcpy】批量合并重叠拓扑
  19. 显示农历天气时钟小部件下载_文字云时钟安卓版下载|文字云时钟app下载_v1.0
  20. 朱阿兴教授报告——SCI文章写作要点与案例分析

热门文章

  1. 9-visual_feature_VINS-Mono
  2. 安超OS为企业数字化转型构建坚实的云基座
  3. 深大计网实验 4:Socket 网络编程
  4. Informatica任务卡在timeout based commit point
  5. 浮动( Floats )
  6. outlook通过联系人搜索不到邮件
  7. vue解决-4048报错
  8. elasticsearch 深入 —— 结构化搜索
  9. 汉语言文学专业c学校,自考汉语言文学专业哪个学校好?
  10. 深入理解递归:美丽的科赫雪花