从DT到Random Forest、GBDT

来源:互联网 发布:java复试主要干什么 编辑:程序博客网 时间:2024/06/06 23:54

决策树

基础的内容,参考的链接:
http://leijun00.github.io/2014/09/decision-tree/

  • ID3

    • 最基础的决策树,多叉树,仅能处理离散型值
    • 采用信息增益来处理 g(D,A)=H(D)−H(D|A)
    • 会偏向有较多属性的feature,容易过拟合
  • C4.5

    • 对ID3的改进
    • 对于连续值,进行划分。假设是min,k1,k2,…,max的划分,依次尝试划分的方式,计算最佳划分
    • 采用信息增益比率,避免了偏向较多属性feature
    • 处理缺失值(填充or忽略)
  • CART

    • 用基尼纯净度来衡量
    • 二叉树的形式
  • 回归树

    • 采用平方误差损失求解最优的切分变量和切分点
    • 每个叶子节点的输出就是一个值

Random Forest

  • 类似bagging,然而并不是的。bagging会随机抽样若干个样本(不要求与原样本的个数一致,每次分裂时考虑所有的特征)

  • 由多棵CART构成

  • 使用的训练集是从总的训练集中有放回采样出来的,新样本大小与原样本大小一样,有些样本可能多次出现在一棵树的训练集中,也可能从未出现在一棵树的训练集中

  • 使用的特征是从所有特征中按照一定比例随机地无放回的抽取的,根据Leo Breiman的建议,假设总的特征数量为M,这个比例可以是sqrt(M),1/2sqrt(M),2sqrt(M)

  • 最后,用投票的方式。如果是回归问题,就取平均值

  • 参数包括树的个数,深度等

  • 参考链接:

    • http://www.cnblogs.com/hrlnw/p/3850459.html
    • http://www.cnblogs.com/tornadomeet/archive/2012/11/06/2756361.html
    • http://www.cnblogs.com/wentingtu/archive/2011/12/22/2297405.html
    • http://www.cnblogs.com/wentingtu/archive/2011/12/13/2286212.html

GBDT

  • 回归树

  • 每次拟合的目标,是上一次的残差,所以最终结果,是将所有树的结果加起来

  • 既然如此,那应该就没有数据集的sample了,不然没得搞(?)

  • 特征应该还是随机抽取若干个,来处理每棵树(?)

  • 参考链接:

    • http://blog.csdn.net/kunlong0909/article/details/17587101
    • http://blog.csdn.net/w28971023/article/details/8240756
1 0
原创粉丝点击