决策树学习

来源:互联网 发布:linux的tmp目录 编辑:程序博客网 时间:2024/06/06 18:01
 决策树是以实例为基础的归纳学习。该类方法从一类无序,无规则的事物中推理出决策树表示的分类规则。不论哪种决策树学习算法,其基本思想是一致的,即以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零。此时每个叶子结点的实例都属于同一类。
 决策树学习采用自顶向下的递归方法,决策树的每一层结点依靠某一属性值向下分为子结点,待分类的实例在每一结点处与该结点相关的属性值进行比较,根据不同的比较结果向相应的子结点进行扩展。这一过程在决策树的叶结点时结束,此时得到结论。
 
 决策树从根结点到叶结点的每一条路径都对应着一条合理的规则,规则各个部分(各个层)的关系是合取关系。整个决策树对应着一组析取规则。决策树算法的优点:它可以自学习,不需要使用者了解过多的背景知识。只需要对训练例子进行较好的标注,就能进行学习。如果在应用中发现不符合规则的实例,程序会询问用户改实例的正确分类,从而生成新的分支和叶子。并添加到树中。

 决策树是由结点和分支组成的层次数据结构。结点用于存储信息或知识。分支用于连接各个结点。从上端的根结点开始,各种分类原则被引用近来,并依靠这些分类原则将根结点数据集划分为子集,这一划分过程指导某种约束调节满足而结束。
实例:
每个结点代表一个动物分类。根结点包含所有动物。每个非叶子结点包含一些分支,分别对应动物的某一属性的取值。如:身材大小,叫声等。
           决策树学习
形式化表示:个子大 and(合取) 脖子短 and鼻子长 推出(符号不好打出来。。)可能是大象

构造一棵决策树需要解决4个问题:
1)收集待分类的数据,这些数据的所有属性应该是完全标注的。
2)设计分类原则,即数据的哪些属性可以用来分类。以及如何进行该属性的量化。
3)分类原则的选择。在众多的分类准则中,每一步选择哪一准则使最终的树更令人满意。
4)设计分类停止调节,实际应用中,数据的属性很多,真正有分类意义的属性往往是有限的几个。因此在必要的时候应该停止数据集的分裂,相应的准则包括:
  a 该结点包含的数据太少不足以分裂;
  b 继续分裂数据集对树的生成的目标没有贡献。
  c 树的深度过大不宜再分。
通用决策树的分裂目标是整棵树的熵总量最小,每一步分裂时,选择使熵减小最大的准则,这种方案使最具有分裂潜力的准则被优先提取出来。

另外一种形式的决策树,感觉也挺有用并且比较能看懂的。链接:

http://wiki.mbalib.com/wiki/决策树#c120082

决策树的纯度计算,算法优化等:

http://www.cnblogs.com/bourneli/archive/2013/03/15/2961568.html

 

 

0 0
原创粉丝点击