视觉论坛VISIONBBS微信公众号:石鑫华视觉网

 找回密码
 注册会员
查看: 1137|回复: 0

[科技] 决策树

[复制链接]
  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 1223 天

    [LV.10]100FPS

    发表于 2013-5-19 19:19:45 | 显示全部楼层 |阅读模式
    引言

    决策树对比神经元网络的优点在于可以生成一些规则。. x/ r7 ]9 _2 w: I* T
    当我们进行一些决策,同时需要相应的理由的时候,使用神经元网络就不行了。

    本章介绍三个算法 CART,CHAID,C4.5。

    决策树是如何工作的

    决策树一般都是自上而下的来生成的。

    选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。

    从根到叶子节点都有一条路径,这条路径就是一条“规则”。

    决策树可以是二叉的,也可以是多叉的。

    对每个节点的衡量:

    • 通过该节点的记录数
    • 如果是叶子节点的话,分类的路径
    • 对叶子节点正确分类的比例。
      " U/ T& Y& m2 }8 y" S' `% v+ K

    有些规则的效果可以比其他的一些规则要好。

    决策树对于常规统计方法的优点。

    CART

    Diversity(整体)-diversity(左节点)-diversity(右节点),值越大,分割就越好。

    三种diversity的指标:

    • min(P(c1),P(c2))
    • 2P(c1)P(c2)
    • [P(c1)logP(c1)]+[P(c2)logP(c2)]
      ( Y8 d) W0 ~2 {; ^$ [5 M

    这几个参数有相同的性质:当其中的类是均匀分布的时候,值最大;当有一个类的个数为0的时候,值为0。

    选择分割的时候,对每个字段都考虑;对每个字段中的值先排序,然后再一一计算。最后选出最佳的分割。

    树的生成:

    错误率的衡量:最初生成的树中也是有错误率的!因为有些叶子节点并不是“Pure”的。

    树的修剪:是不是当所以的叶子都很纯是,这棵树就能工作的很好呢?

    修剪的要点是:应该回溯多少、如何从众多的子树总寻找最佳的。

    • 鉴别生成候选子树 :使用一个调整的错误率。AE(T)=E(T)+aleaf_count(T)。一步步的生成一些候选子树。
    • 对子树的评估:通过test set找到最佳子树
    • 对最佳子树进行评估:使用evaluation set。
    • 考虑代价(cost)的问题。
      , c% h. o) y1 ^( Q" t  z
    C4.5

    C4.5是从ID3演变而来的。

    C4.5和CART的区别:

    • 树的生成方面。. }/ U7 j& h" H/ D
      C4.5不一定使用两分法。C4.5处理种类变量的时候,缺省的情况是每个值作为一个分支。
      5 B* z) m) k3 U6 @7 b) PGain 和gain ratio。
    • 树的修剪
      9 t  b: c1 h( p7 BC4.5使用原来的数据进行测试。(学院派)5 q" A$ q6 y+ _9 ]) Y! O3 ]
      规则的生成
      # v$ B/ }) }6 s1 [# ]9 M4 {9 k
    CHAID

    1975年
    3 S+ {0 s8 A9 O和CART和C4.5的区别:

    • 在overfitting之前就停止树的生长。
    • 必须都是种类变量。数值变量必须分成范围。
      1 ~& z: M0 ]! |' `8 Q

    树的生长

    1. 选择分割。X2检验

    实际中使用决策树的一些问题' D1 T0 J5 B; l0 n+ j8 `
    主要是一些数据准备和数据表示方面的问题。

    案例:银行信用卡部门

    • 对数据细节的不熟悉。
    • 数据翻译问题。COBOL
    • 对时间元素的处理:OCCURS语句的处理。可以根据需要来增加一些字段:delta_balance,delta_interest_rate等等。
    • CART算法不考虑字段之间的关系。
    • 定义类别。使用的工具在类别字段只可以有两个值。我们对原始数据进行一些映射处理。“silent attrition”。
    • 数据表示的问题。需要额外的数据。
    • 消除杂音。
    • 欺骗性的字段。有些字段其实和要预测的字段并不是独立的。可以通过决策树来进行这些字段的判断。
    • 过于总结性的数据。
    • 经验和教训。3 t* ^$ ^8 m$ |

    将决策树运用于事件序列:

    • PV Future View,一个工具。
    • Case,某一时刻的快照。
    • Attribute,组成Case的字段
    • Feature,布尔变量,用于形成决策树的内部节点。
    • Interpretations,由Attribute组成用于体现领域知识和关系的衍生字段。Interpretations字段常常是由用户提供的。6 ]0 a! j" `3 U* @

    从历史推出未来:

    案例学习:咖啡烘烤的流程控制

    其他的决策树的变种

    • 一次使用超过一个字段用于分类
    • 使用倾斜的超平面切分
    • 神经元树
      ' b: T5 |& l3 x0 O
    决策树的优缺点:

    优点:

    • 可以生成可以理解的规则。
    • 计算量相对来说不是很大。
    • 可以处理连续和种类字段。
    • 决策树可以清晰的显示哪些字段比较重要
      % N. S/ _( @5 W3 b. m; |

    缺点:

    • 对连续性的字段比较难预测。
    • 对有时间顺序的数据,需要很多预处理的工作。
    • 当类别太多时,错误可能就会增加的比较快。
    • 一般的算法分类的时候,只是根据一个字段来分类。
      4 g: Q  ^& L  K1 v

    $ s7 p( `8 I, r9 H( n
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    淘宝机器视觉商城

    Archiver|手机版|小黑屋| 机器视觉之家|东莞市华动智能科技有限公司 ( 粤ICP备17078359号-2 ) |网站地图

    GMT+8, 2018-6-18 21:15

    Powered by shixinhua.com X3.4

    © 2001-2018 VISIONBBS.COM 浏览量:

    快速回复 返回顶部 返回列表