LightGBM 中最重要的超参数

1. num_leaves

  • 含义num_leaves 控制每棵树可以生成的叶子节点数,代表模型的复杂性。更高的叶子节点数意味着模型可以捕捉更细致的特征关系,但也更容易过拟合。
  • 默认值:通常设置在 3164
  • 如何调整
    • 增大 num_leaves:增大叶子数能够提升模型的拟合能力,但容易过拟合。在复杂的数据集上可以适当增加,如 100300 的范围。
    • 减小 num_leaves:如果模型出现过拟合现象,可以减小叶子数,以控制模型的复杂度。
    • 建议范围:根据数据量、特征数量和任务的复杂度,通常设置在 31-300 之间。

2. learning_rate

  • 含义learning_rate 控制每一步更新的步长,较小的 learning_rate 会让模型在训练过程中缓慢学习,以防止过拟合。
  • 默认值:0.1
  • 如何调整
    • 减小 learning_rate:减小 learning_rate 可以提高模型的泛化能力,但训练速度会减慢。可以同时增加 nrounds(迭代次数)来弥补学习速率的降低。
    • 增大 learning_rate:当数据量较少或者特征较少时,可以尝试增大 learning_rate 来加快训练速度。
    • 常用值:一般 0.010.1 是合理的选择,0.01 适合长时间训练,0.1 更适合快速建模。

3. max_depth

  • 含义max_depth 限制树的最大深度,较深的树可以捕捉更复杂的模式,但也容易过拟合。
  • 默认值:-1(即不限制深度,模型会自动确定)
  • 如何调整
    • 增大 max_depth:在数据较复杂且样本量大的情况下,可以增大 max_depth,允许模型捕捉更多细节。一般来说,设置在 1020 之间。
    • 减小 max_depth:在样本量较小或噪音较多时,较小的 max_depth 能防止过拟合。可以尝试将 max_depth 设置在 38 之间。
    • 注意max_depthnum_leaves 是相互制约的,如果 num_leaves 较小,max_depth 的作用也会减弱。两者可以一起调节,保证合理的树结构。

4. min_data_in_leaf

  • 含义min_data_in_leaf 控制叶子节点的最小样本数量,防止生成样本数过少的叶子节点。它是控制过拟合的有效方法,特别是在数据较少的情况下。
  • 默认值:20
  • 如何调整
    • 增大 min_data_in_leaf:增大这个参数可以减少过拟合,因为它会限制叶子的分割。如果出现过拟合,可以尝试增大到 30100
    • 减小 min_data_in_leaf:在数据量大且样本平衡的情况下,可以适当减小,以便捕捉更细的模式。通常不会设置太小,520 是合理范围。

调参策略

  1. 初始调参:通常可以从默认值开始,先固定 learning_rate,从小范围调整 num_leavesmax_depth,观察模型效果。
  2. 防止过拟合:如果模型过拟合,优先增大 min_data_in_leaf 和减小 max_depth
  3. 提高模型拟合能力:如果模型欠拟合,可以适当增大 num_leavesmax_depth,同时降低 learning_rate 并增加迭代次数 (nrounds)。

通过交叉验证观察模型在不同参数组合下的表现,逐步找到最佳参数。

posted @   王哲MGG_AI  阅读(578)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-10-31 RDA分析的通俗解释
2023-10-31 R : PCoA
点击右上角即可分享
微信分享提示