目录
1 决策树简介
决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类的决策树,回归的决策树在回归树那一个帖子中讨论。树的结构想必都很熟悉,有根节点、内部节点、叶子节点组成,最常见的二叉树就是每个节点最多只有两个孩子节点,在机器学习中,用决策树做分类是一种监督学习算法,即需要先准备一个训练集,通过训练集我们构造出一颗树结构,如下图所示,这棵树的节点分为内部节点和叶子节点,方块为内部节点,圆点为叶子节点。每一个内部节点表示一个特征上的测试,该节点的不同分支就代表着不同的测试输出,当有一个新的样本到来时,从根节点开始,通过在内部节点上不断地对特征进行比对,最终走到某一个叶子节点,叶子节点表示的就是最终分类的类别。
2 ID3算法构造决策树
决策树通常有三个步骤:特征选择,递归构造决策树,决策树剪枝。
2.1 特征选择
特征选择对于ID3算法来说就是算信息增益。在信息论中,划分数据集的大原则就是让无序的数据变得更加有序,信息增益计算的就是在划分数据集之前之后信息发生的变化,在划分数据集时,我们可以试探性的对每一个特征都按照一个规则进行划分,然后计算划分前后的信息增益,最后再选出一个信息增益最高的作为当前划分的最优选择。
所以信息增益可以大致表达成如下形式:
其中Gain表示节点的复杂度,Gain越高就说明复杂度越高。说白了信息增益就是分裂前的数据复杂度减去分裂后的数据复杂度。表示的是信息复杂度的变化。
这里还需要引入”信息”和”熵”的概念,熵定义为信息的期望值,如果待分类的事物可能划分在多个类之中,则符号 的信息定义为: