2.1 调参指导

  1. 针对 leaf-wise 树的参数优化:

    • num_leaves:控制了叶节点的数目。它是控制树模型复杂度的主要参数。

      如果是level-wise, 则该参数为 2.1 调参指导 - 图1,其中 2.1 调参指导 - 图2 为树的深度。

      但是当叶子数量相同时,leaf-wise 的树要远远深过level-wise 树,非常容易导致过拟合。因此应该让 num_leaves 小于 2.1 调参指导 - 图3

      leaf-wise 树中,并不存在depth 的概念。因为不存在一个从leavesdepth 的合理映射

    • min_data_in_leaf: 每个叶节点的最少样本数量。它是处理leaf-wise 树的过拟合的重要参数。

      将它设为较大的值,可以避免生成一个过深的树。但是也可能导致欠拟合。

    • max_depth: 控制了树的最大深度。

      该参数可以显式的限制树的深度。

  2. 针对更快的训练速度:

    • 通过设置 bagging_fractionbagging_freq 参数来使用 bagging 方法
    • 通过设置 feature_fraction 参数来使用特征的子抽样
    • 使用较小的 max_bin
    • 使用 save_binary 在未来的学习过程对数据加载进行加速
  3. 获取更好的准确率:

    • 使用较大的 max_bin (学习速度可能变慢)
    • 使用较小的 learning_rate 和较大的 num_iterations
    • 使用较大的 num_leaves (可能导致过拟合)
    • 使用更大的训练数据
    • 尝试 dart
  4. 缓解过拟合:

    • 使用较小的 max_bin
    • 使用较小的 num_leaves
    • 使用 min_data_in_leafmin_sum_hessian_in_leaf
    • 通过设置 bagging_fractionbagging_freq 来使用 bagging
    • 通过设置 feature_fraction 来使用特征子抽样
    • 使用更大的训练数据
    • 使用 lambda_l1, lambda_l2min_gain_to_split 来使用正则
    • 尝试 max_depth 来避免生成过深的树