第 12.5 篇:树模型调参与特征重要性原理补充篇

第十二篇讲了调参和特征重要性直觉:

  • 怎么判断欠拟合/过拟合
  • 哪些参数对模型复杂度影响最大
  • 特征重要性怎么看

这里我们深入讲 为什么这些参数有效,以及特征重要性背后的数学原理。


1. 树模型复杂度和偏差-方差

回忆一下偏差-方差分解:

总误差=偏差2+方差+噪声 \text{总误差} = \text{偏差}^2 + \text{方差} + \text{噪声} 总误差=偏差2+方差+噪声

  • 树深太浅 → 高偏差 → 欠拟合
  • 树深太深 → 高方差 → 过拟合

调参的本质,就是控制偏差与方差的平衡


2. 随机森林调参原理

1)n_estimators(树数量)

方差公式:

Var(yˉ)=1B2∑i=1BVar(yi)+1B2∑i≠jCov(yi,yj) \text{Var}(\bar{y}) = \frac{1}{B^2} \sum_{i=1}^B \text{Var}(y_i) + \frac{1}{B^2} \sum_{i\neq j} \text{Cov}(y_i, y_j) Var(yˉ)=B21i=1BVar(yi)+B21i=jCov(yi,yj)

  • 树越多,平均方差越低
  • 树之间相关性越低,方差下降效果越明显

2)max_features(节点分裂随机特征)

  • 随机选择特征,降低树之间相关性
  • 减少整体方差,提高泛化能力

3)max_depthmin_samples_leaf(单棵树复杂度)

  • 限制单棵树深度和叶子样本数 → 控制方差,防止过拟合

3. GBDT 调参原理

  • learning_rate:每棵树修正残差的步长

    • 学习率小 → 每步修正温和 → 泛化能力更好
    • 学习率大 → 每步修正猛 → 更容易过拟合
  • n_estimators:树的数量

    • 树多 → 模型更强,但训练慢
  • max_depth:每棵树的深度

    • 浅树 → 弱学习器 → 每棵树只做局部修正
    • 深树 → 单步修正大 → 易过拟合
  • subsamplecolsample_bytree:随机采样样本和特征

    • 增加多样性 → 降低方差 → 提高稳健性

4. 特征重要性原理

1)基于分裂纯度的特征重要性

  • 每次节点分裂,计算特征带来的纯度提升(Gini 或信息增益)
  • 对所有树求平均 → 得到特征重要性分数

公式直观理解:

FI(f)=∑节点分裂用到特征 fΔ纯度×节点样本数总样本数 FI(f) = \sum_{\text{节点分裂用到特征 f}} \Delta \text{纯度} \times \frac{\text{节点样本数}}{\text{总样本数}} FI(f)=节点分裂用到特征 fΔ纯度×总样本数节点样本数

  • (Δ纯度\Delta \text{纯度}Δ纯度) 可以是 Gini 或熵下降

2)置换重要性(Permutation Importance)

  • 打乱某特征 → 测试模型性能下降多少
  • 下降越多 → 这个特征越关键

公式:

FIperm(f)=score∗original−score∗permuted(f) FI_{perm}(f) = \text{score}*{\text{original}} - \text{score}*{\text{permuted(f)}} FIperm(f)=scoreoriginalscorepermuted(f)

这种方法更贴近“模型在预测上到底依赖这个特征多少”。


5. 特征重要性的注意事项

  • 高重要性 ≠ 因果强
  • 高度相关特征 → 分摊重要性
  • 高基数类别 → 有时重要性被虚高

6. 小结

  • 树模型调参本质:控制偏差和方差
  • 随机森林靠多树投票降低方差,GBDT靠顺序纠错降低训练误差
  • 特征重要性有两种常用方法:纯度提升、置换
  • 理解原理,你就知道为什么调参和特征重要性分析有效,而不是盲调或盲信结果
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐