机器学习中的决策树及其演化算法

1 树形算法家族族谱

1.1 决策树

  • 采用divide-and-conquer算法思想,递归构建
  • 特征选择——决策树生成——树剪枝
  • 互斥与完备:每个训练样本有且仅有一条路径规则
  • 最终可能训练出多个,可能一个没有;从所有可能决策树中选择最优是NP问题,因此现实中常用启发式(heuristic)方法
  • Loss Function:正则化的极大似然函数

树形表征
机器学习中的决策树及其演化算法_第1张图片

特征空间表征
机器学习中的决策树及其演化算法_第2张图片

1.1.1 ID3算法

采用信息增益决定每个节点选择哪个特征——启发认为信息增益大的特征具有更强的分类能力。
机器学习中的决策树及其演化算法_第3张图片

1.1.2 C4.5算法

采用信息增益比决定每个节点选择哪个特征
机器学习中的决策树及其演化算法_第4张图片

1.1.3 CART算法

CART假设决策树是二叉树(是/否),递归地二分每个特征
回归树:平方误差最小化准则
分类树:Gini指数最小化准则

1.1.4 剪枝

决策树的弱项就在于过拟合问题,因此通常需要剪枝后使用。
方法:最小化整体Loss Function
机器学习中的决策树及其演化算法_第5张图片
参数:α,表征了对模型复杂度的惩罚


1.2 随机森林

  • 能够处理高维数据,不用做特征选择
  • 训练过程中,能检测到特征间的相互影响
  • 训练完成后,能够给出哪个特征比较重要

机器学习中的决策树及其演化算法_第6张图片
随机森林由多个互不相关的决策树组成,每当有一个样本输入时,森林里的每棵决策树都会对样本进行一次分类打标处理,最后采取投票准则来决定样本属于哪一类。

行采样与列采样
行:样本。采取有放回的采样方式,也就是构建不同的决策树时,可能用到了相同样本。
列:特征。采取无放回的采样方式,保证特征的不相关。

相当于每棵树,在某些领域(特征)上都是专家,经过各专家的举手表决,选出最终结果。

用途

  • 特征选择机器学习中的决策树及其演化算法_第7张图片
    • eg:特征在树里面的结点深度作为权重
  • 分类 可以给出具体的概率值
  • 回归

1.3 GBDT

Boosting is a powerful technique for combining multiple ‘base’ classifiers to produce
a form of committee whose performance can be significantly better than that of any
of the base classifiers.——《PRML》

1.3.1 Boosting

机器学习中的决策树及其演化算法_第8张图片

  • 初始化每一维 wi(1)=1/N
  • 对于每一个训练样本训练
    • 通过合适的y最小化
      Jm=i=1Nwi(m)I(ym(xi)tn)
    • 得到
      ϵm=Ni=1wi(m)I(ym(xi)tn)Ni=1wi(m)
    • 得到
      αm=ln1ϵmϵm
    • 更新权值
      wi(m+1)=wi(m)exp{αmI(ym(xi)tn)}
  • 预测样本
    YM(x)=sign(j=1Mαmym(x))

下图是boosting的一个例子(大圆圈代表给上次错分类的样本赋予更大权重)
机器学习中的决策树及其演化算法_第9张图片

1.3.2 前向分布算法

是一种贪心算法,每一步求解弱分类器ϕ(m)和参数\w(m)的时候,不去修改前面已经求好的分类器和参数。

损失函数的选择,决定了boosting类型
机器学习中的决策树及其演化算法_第10张图片

1.3.3 GBDT算法

机器学习中的决策树及其演化算法_第11张图片


2 效果对比

机器学习中的决策树及其演化算法_第12张图片


3 总结

总体来讲,随机森林和GBDT都采用了“三个臭皮匠顶个诸葛亮”的思想(ensemble methods)。其中,随即森林属于平均方法(averaging methods),构建的决策树互不相关;GBDT属于提升方法(boosting methods),序列化构建。

回归分析是数据挖掘中最常见和基本的算法,包括简单线性回归,逻辑回归以及其他的广义线性或非线性模型。它们在过去虽然被广泛使用,但存在明显的不足,尤其是变量的相互依存性会使结果发生偏差。为避免这些问题,近些年来美国银行业大量采用了树形算法家族。这其中包括决策树,聚类和回归树,以及较为复杂的随机森林模型。这些方法避免了变量间的相互依存性问题,而且预测分析能力也逐步增强。不过随机森林模型的复杂性使得结果有时不容易理解,新近出现的梯度递增树算法,在预测能力和可理解性方面都强于随机森林,而且适用的范围广,在反欺诈和其他一些领域被证明效果非常好,很值得业内人士关注。——36dsj.com

参考资料:
《PRML》
《统计学习方法》
sklearn doc

你可能感兴趣的:(数据结构与算法,机器学习,算法,决策树,GBDT,随即森林)