基本流程
决策树是一种常见的机器学习方法,以二分任务为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类,顾名思义,这个分类的任务是基于树的结构来决策的,这恰是人类在面临决策问题时一种很自然的处理机制。例如下图为对西瓜分类好坏瓜的决策树。
一般一棵决策树包含一个根结点,若干内部结点和若干个叶结点,如下是决策树基本学习算法。
决策树的生成是一个递归的过程,在决策树算法中,有三种情况会导致递归返回:
(1)当前结点包含的样本全属于同一类别,无需划分。例如当前结点所有数据都是好瓜,自然不用再划分。
(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分。例如当前样本有好瓜和坏瓜,但其颜色是相同的,自然无法在颜色属性进行划分。此时把颜色定为叶结点,类别设为包含样本数量多的类别。
(3)当前结点包含的样本集合为空,不能划分。例如对颜色(青绿、乌黑、浅白)划分,但是剩余样本中不含青绿色西瓜,因此在青绿色属性上不能继续划分。此时把青绿色定为叶结点,类别设为其父结点(颜色属性)中所含样本最多的类别。
划分选择
决策树的划分过程还是比较简单的,原则是随着划分过程不断进行,希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。
信息增益
采用信息熵来描述纯度,很显然信息熵越低(信息更加确定),纯度越高。