3.2 最简单也最常用的决策树【stanford-cs329p】


Decision Trees

  • 好处

    • 可解释
    • 可以处理数值和类别特征
  • 坏处

    • 因为是一次次分裂出来的,所以不稳定,容易被数据噪音影响,需要集成学习帮助
    • 复杂的树会过拟合
    • 计算时并行不容易,性能上容易吃亏

Random Forest

  • 训练多个决策树来提升稳定性
    • 每个树独立训练
    • 投票来决定分类,回归用平均
  • 随机从哪里来呢?
    • Bagging:训练时随机替换了采样,拿了之后放回去再拿,eg [1, 2, 3, 4, 5] -> [1, 2, 2, 3, 4]
    • 随机选择部分的特征列,比如一个表格随机采样一些行,再从行随机采样一些列
    • 无论样本还是特征在训练时都是不一样的

Gradient Boosting Decision Trees(GBDT)

  • 顺序训练多颗树

  • 在时间步 t=1, …, 假设 $F_t(x)$ 是过去训练的所有的t-1树的输出求和

    • 在残差数据上训练一个新的树 $f_t$ :${(x_i,y_i-F_t(x_i)) }_{i=1,…}$
    • $F_{t+1}(x)=F_t(x)+f_t(x)$
    • 也就是每次预测真实值和上一次预测值的差
  • 如果用均方误差作为损失,那么残差等于 $-\part L /\part F$,所以它被称为梯度提升

Summary

  • 决策树:一个用于分类/回归的可解释性模型
  • 集成树来降低偏移和放茶
    • 随机森林:并行训练多棵树
    • 梯度提升树:顺序训练残差
  • 树在工业界应用广泛
    • 简单,好调,经常给出满意的结果