原文
决策树是一种树形结构,其中每一个内部节点表示在一个特征(属性)上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。
决策树学习是一种归纳学习,从一堆数据中归纳出一个学习模型出来。决策树学习采用的是自顶向下的递归学习,其基本思想是以信息熵为度量构造一棵熵值下降最快的树,树不断构建的过程也就是熵不断下降的过程。而其中节点的具体特征选择取决于哪个特征在当前节点的熵下降最快(如在构建根节点的时候,比较了年龄、长相、收入、是否公务员这些特征,发现选择年龄这一特征会导致熵下降最快,于是选择年龄作为根节点)。以此类推,到了叶子节点处的熵值即为零。至于说具体如何比较及计算熵下降的程度,稍后会给出。
决策树的优缺点
决策树算法的最大优点是:它可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够进行学习。像之前的”是否出去玩”例子,只要给定一个表格,并且每一列(最后一列是标注列)都给定(并不需要知道每一列表示的含义),那么决策树就会自己构造出一种基于规则的决策算法。
决策树缺点:可以看出,决策树的决策过程实质上是贪心法,在每一步的时候都选择当前状态下的最优解,一直走下去。我们知道贪心法并不能保证得到的最终结果是全局最优的,这也是决策树的缺陷之一,有可能会导致过拟合的问题.
知识点补充:
经验熵与经验条件熵
只要给定一个随机变量P,我们就可以求得该随机变量的熵。但是实践中,我们得到的并不是真正的随机变量p,得到的只是p的若干采样,那么我们实践中得到的熵就不一定是真正的随机变量p的熵,于是,我们称实践中得到的熵为经验熵,类似地也就有了经验条件熵的概念。教科书上的表述:当熵和条件熵中的概率是由数据估计得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。
决策树的生成算法--ID3、C4.5、CART
建立决策树的关键,是在当前状态下选择哪个特征(即属性)作为节点。之前已经讲过,选择节点的依据取决于哪个特征在当前节点的熵下降最快。那么给出了一堆数据,那么如何求每个特征的熵(或熵下降的程度)呢?根据不同的目标函数,决策树算法主要有三种算法:ID3、C4.5、CART。