python - xgboost 的 alpha、lambda 和 gamma 正则化参数有什么区别?
问题描述
我有一个问题要问:
xgboost 算法中权重的 L1 和 L2 正则化项究竟有何不同。
据我了解,LASSO使用L1,RIDGE回归使用L2,L1可以缩小到0,L2不能。我了解使用简单线性回归时的机制,但我不知道它在基于树的模型中是如何工作的。
此外,gamma 是另一个参数,它使模型更加保守。我应该如何注意 L1/L2 和 gamma 参数之间的区别。
我在文档中发现这个问题很少:
lambda [默认=1,别名:reg_lambda]
- 权重的 L2 正则化项。增加此值将使模型更加保守。
alpha [默认=0,别名:reg_alpha]
- 权重的 L1 正则化项。增加此值将使模型更加保守。
gamma [默认=0,别名:min_split_loss]
- 在树的叶节点上进行进一步分区所需的最小损失减少。gamma越大,算法就越保守。
它们的范围都是从 0 到 inf。
提前感谢您的任何回答/评论!
解决方案
我找到了这篇关于伽马正则化的博客文章。这是我两个月以来最喜欢的。仍在寻找答案,但缺乏信息是巨大的。
推荐阅读
- java - 2d 重力模拟器 - 较小的物体绕着较大物体的中心运行
- javascript - 扩展基于 socket.io 的 Web 应用程序时的限制因素?同时连接?消息大小?
- kubernetes - 将 Jaeger Collector 暴露给集群外的客户端
- c++ - PDF fin Acrobat 不显示简单文本,但适用于 Firefox 和 MicrosftEdge
- reactjs - 尝试将 NextJS 应用程序部署到 Docker 时捕获错误`SyntaxError: missing ) after argument list`
- php - 如何在不知道值的情况下仅从多个嵌套数组中的 PHP 数组获取值?
- google-chrome-extension - 未捕获的 ReferenceError:$ 未定义?不知道如何修复
- tensorflow - 我正在尝试为 arduino portenta 使用 tensorflow 微语音,但出现编译错误
- google-apps-script - 谷歌脚本:谷歌文档中一行文本中的多种样式
- python-3.x - discord.py 存在 praw 嵌入问题