简介
决策树顾名思义,它的决策过程会形成一个类似树形的结构;树上的叶子节点,对应样本的分类,其它内部节点可以看作是if-else的规则集合。决策树属于监督学习,可以处理分类问题和回归问题;通常决策树的学习需要三个步骤:特征选择、决策树生成和决策树修剪。
20世纪70、80年代,机器学习研究者J.Ross Quinlan提出了ID3决策树,后来又提出了C4.5决策树。1984年,几位统计学家提出了CART决策树。ID3和CART几乎同时被提出。
模型
分类决策树由节点和有向边组成,节点分为内部节点和叶子节点,内部节点表示特征,叶子节点表示分类。
当决策树工作时,从根节点开始,选取某个特征与该节点绑定,特征的取值作为其子节点,遍历该节点上的样本符合哪个特征取值,则将该样本分配到对应的子节点中;重复此过程,直至分配到叶子节点。
决策树的节点与有向边连接组成一条条路径,分配后的样本满足:每个样本被有且只有一条路径覆盖。
策略
给定一组数据集,可能训练出多棵能正确分类决策树,也可能一棵也没有;多棵决策树中,它们的预测能力有好有坏;所以我们不但要决策树能够正确对样本数据分类,还需要它能更好的预测新数据。
特征选择与修剪就是为了稳定决策树的预测能力。
特征选择
这里我们要引入两个概念来帮助我们进行特征选取:
1.熵表示随机变量不确定性的度量。
对于随机变量,
表示其概率分布。
进一步,为训练数据集,
表示其数量;
表示类别,有
个,则:
2.条件熵表示在已知随机变量的条件下随机变量
的不确定性。
进一步,为训练数据集,
表示其数量;
表示类别,有
个,特征
个数为
,数据集
按特征划分子集
,其中属于
类的集合为
,则:
借由这两个概念,我们得到另两个信息度量:
1.信息增益表示某特征使分类不确定性减少的程度。
为训练集,
为某特征。
信息增益越大,确定性越强,分类能力越强。
2.信息增益比表示信息增益与关于特征熵的比值。
同样为训练集,
为某特征。
信息增益比可以解决信息增益偏向样本较多的特征的问题。
决策树修剪
不是所有树都有剪枝策略,以基础的3种树为例:ID3和C4.5没有,CART有。
决策树的一种修剪策略为极小化决策树的损失函数:
缺失值
算法
以ID3为例:
-
通过信息增益选取特征,信息增益最大的特征作为跟节点。
-
该特征的取值作为子节点,子节点也要选取信息增益最大的特征,但要除去父节点的特征。
-
递归这个过程,直到没有剩余特征,或特征下的分类只有一类,则此节点作为叶子节点。
仿真
使用MathLabTool进行决策树仿真https://blog.youkuaiyun.com/xxyjskx1987/article/details/145689710