● 每周一言
学习,是为了更好地活着。
导语
决策树是一种树形分类模型,每个非叶子结点相当于IF条件语句,该模型通过逐个判定特征所属类别对样本进行分类。那么,决策树模型具体是如何实现的?
决策树
本着直观讲解的原则,我们尽量不用公式,先从一个例子入手。延续上一篇的判瓜模型,考虑西瓜特征一共有色泽、根蒂、敲声、纹理、脐部、触感六种,决策树将以某种顺序依次考查每个特征,通过逐层缩小范围最终判定是否好瓜。由于树结构具有上下关系,而决策树采用自上而下建树,因此特征考查顺序就直接决定了最终的分类效果。
决策树选择特征的依据叫做信息增益。这里自然就牵涉到了信息熵,有关信息熵的讲解可参见我之前的文章。这里的信息增益指:选取当前特征划分数据集后,所减少的数据混乱程度。
这样说或许有点晦涩,不妨举个例子,比如一个全是好瓜的数据集信息量为:-1log1 = 0,可知该数据集的混乱程度达到最低,因为不用判断就知道里面全是好瓜;而对于一个一半好瓜一半不是好瓜的数据集,信息量则是:-(1/2log(1/2) + 1/2log(1/2)) = 1,现假设存在某个特征恰好能区分是否好瓜,那么用这个特征划分这个数据集之后的信息增益计算方法为:1 - ((1/2)(-1log1)+(1/2)(-1log1)) = 1。ID3算法就是每次选择最大信息增益的特征作为父节点,向下扩展决策树,直到不能继续扩展为止。
在计算信息增益的时候我们发现,当属性取值较多时,其信息增益往往偏高。极端情况下,比如每个属性值只对应一个样本的时候,信息增益等于最大值1。显然,这样的决策树泛化能力太弱。因此,C4.5算法应运而生,该算法使用增益率优化,增益率等于信息增益除以数据集上该特征的总信息量。具体思路是,先选出信息增益高于平均水平的特征,然后再从中选择增益率高的特征。
此外,还有一种CART算法使用“基尼指数”来选择划分属性,这里不展开描述。敬请期待下节 决策树剪枝。
结语
感谢各位的耐心阅读,后续文章于每周日奉上,敬请期待。欢迎大家关注小斗公众号 对半独白!