梯度提升

R 中的树模型机器学习

Sandro Raabe

Data Scientist

回顾:提升法

  • 使用弱学习器(如仅一次分裂的决策树),略优于随机猜测
  • 累加这些弱学习器并过滤正确预测
  • 各步处理剩余的难例

 

  • AdaBoost:首个流行的提升算法
  • 梯度提升:对 AdaBoost 的改进
R 中的树模型机器学习

对比

Adaboost
  • 使用决策树桩作为弱学习器
  • 为观测赋权:
    • 难例权重大
    • 正确预测权重小
梯度提升
  • 使用小型决策树作为弱学习器
  • 用损失函数替代权重
  • 通过梯度下降优化损失
R 中的树模型机器学习

提升法的优缺点

 

优点

  • 表现最好的机器学习模型之一
  • 适合类别不平衡数据

 

缺点

  • 易过拟合
  • 训练可能较慢(取决于"学习率"超参数)
  • 需要调的超参数多
R 中的树模型机器学习

梯度提升的超参数

简单决策树中的通用项
  • min_n:继续分裂所需的最小节点样本数
  • tree_depth:树的最大深度/分裂次数
随机森林与袋装树中的通用项:
  • sample_size:参与拟合的数据量
  • trees:集成中的树数
R 中的树模型机器学习

梯度提升的超参数

随机森林中的通用项:
  • mtry:每次分裂随机抽取的预测变量数
提升树特有:
  • learn_rate:算法在各迭代间的更新速率
  • loss_reduction:继续分裂所需的损失函数降幅
  • stop_iter:无改进时提前停止的迭代次数
R 中的树模型机器学习

让我们练习吧!

R 中的树模型机器学习

Preparing Video For Download...