简要介绍
决策树是一种基本的分类和回归的机器学习方法,其模型呈现树形结构。在分类问题中,可以认为是定义在特征空间与类空间上的条件概率分布。优点是可解释性强、分类速度快。训练时,以最小化损失函数为原则建立决策树。分类时,以根节点到叶子节点的路径所形成的规则进行匹配分类,其中路径上的内部节点的特征对应这规则的条件。决策树的训练一般包括特征选择、树生成以及树剪枝,常见的算法有ID3、C4.5和CART。决策树的生成只考虑局部最优,决策树的剪枝考虑全局最优。
三种常见的决策树及对应的特征选择方式
1、ID3决策树
补充知识:在信息论中,熵是随机变量不确定性的度量。其中一个事件发生的概率越小,则它包含的信息量越大,不确定性和熵就越大;相反,一个事件发生的概率越大,则它包含的信息量越小,不确定性和熵就越小。
ID3决策树的核心思想:以信息增益准则选择节点分裂特征,分裂结束的条件是所有剩下的特征的信息增益均小于阈值或者没有特征可以选择。信息增益表示如果已知特征X的信息对类别Y的信息的不确定性的影响程度,影响程度越大表示特征X征包含着更多对分类有用的信息。
定义:特征A对训练数据集D的信息增益G(D,A),定义为集合D的熵H(D)与特征A给定条件下的条件熵H(D|A)之差。换句话说,我们想确定特征A对训练集D的信息量的影响,可以先确定D的信息量和A为已知后的D的信息量(已知可以粗略的认为A的概率为1,此时D中的A包含的信息量为0)。所以有信息增益公式:
熵H(D)和条件熵H(D|A)的差又可以称为互信息,同时反应着特征A使得数据集D的分类不确定程度减少的程度,减少的程度越大,表示特征A不确定性越大,包含的信息越多,对分类的帮助越大。
在ID3决策树中,对于任意一个分支节点的数据集D,特征A的信息增益计算包括以下三步:
1) 计算数据集的熵H(D)
其中K表示D中的样本的类别数,||表示D中类别为k的样本数,|D|表示D的总样本量。
2)计算条件熵H(D|A)
其中n表示数据集D被特征A划分成n个互不相交的数据子集,表示子集
的信息熵,而条件熵H(D|A)等价于所有子集的熵的带权和。
特点:
- ID3决策树在以信息增益选择分裂特征时,偏向于取值较多的特征。(从信息论的角度解释,特征的取值数越多,其不确定性越大,熵也越大,该特征在数据集的信息增益更可能大。);
- 分类树;
- 树形呈现多叉树;
- 每个特征不重复使用;
- 没有考虑剪枝;
- 没有考虑连续数据;
- 没有考虑缺失值。
2、C4.5决策树
考虑到信息增益在选择特征时存在倾向于取值比较多的特征的问题,信息增益比在信息增益的基础上,对较多取值特征的信息增益增加了惩罚,对这一问题进行了校正。
C4.5决策树的核心思想:以信息增益比为准则选择节点分裂特征,分裂结束的条件是所有剩下的特征的信息增益比均小于阈值或者没有特征可以选择。
定义:特征A对训练数据集D的信息增益比Gr(D,A),定义为特征A对集合D的信息增益G(D,A)与训练数据集中特征A的熵的比值。所以有信息增益比公式:
其中,,这里的n表示特征A有n个取值,
表示集合D中特征A的第i个取值的样本量(与H(D|A)不同的是,没有考虑类别信息)。
特点:
- C4.5决策树在以信息增益比选择分裂特征时,偏向于取值较少的特征。(对取值多的特征的信息增益增加了惩罚);
- 分类树;
- 树形呈现多叉树;
- 每个特征不重复使用;
- 可以进行后剪枝;
- 可以处理连续数据;
- 可以处理缺失值。
3、CART决策树
首先,D3与C4.5都是分类树,分别存在倾向于选择取值较多的特征和取值选择较少的特征作为节点分裂的问题;另外D3与C4.5的特征不能复用,无法考虑到特征在树的不同深度起到作用;最后D3与C4.5都是通过多叉树去挖掘特征信息,存在决策树分支规模庞大的问题。CART决策树能作为分类树也能作为回归树,作为回归树用平方误差最小化准则,作为分类树用基尼指数最小化为准则,进行特征选择,生成二叉树。其中,CART决策树不会收到特征取值多少的影响,在每次只使用一个特征的一个值进行节点分裂,并且特征可以复用,考虑到特征不同取值在树的分裂过程中最分类起到的帮助。
1)回归树
平方误差(含义:预测值和真实值之间的差异)公式:
其中,表示父节点数据集合D当特征A取值a时分裂的平方损失,
表示集合D被特征A取值a划分的左孩子节点的数据集合,
表示集合D被特征A取值a划分的右孩子节点的数据集合,
表示当前数据集D所有样本的输出值(真实值)的平均值。
2)分类树
基尼指数(含义:节点中样本类别的纯度)公式:
其中,表示父节点数据集合D当特征A取值a时分裂的基尼指数,
表示集合D被特征A取值a划分的左孩子节点的数据集合,
表示集合D被特征A取值a划分的右孩子节点的数据集合。
3)树模型表示
- 对于回归树而言,其叶子节点的输出值,是叶子节点
的中所有训练样本的输出值(真实值)的平均值
。
- 对于回归树而言,其叶子节点的输出值,是叶子节点
的中所有训练样本的输出值(真实标签)最多的标签值
。
- 树的模型可以表示为:
其中,N表示所有的叶子节点数;表示叶子节点的预测输出值;
是指示函数, 当
返回1,否则返回0。
特点:
- CART决策树作为分类树时,以Gini指数作为分裂准则,作为回归树时,平方误差和作为分裂准则;
- 树形呈二叉树;
- 特征可以复用;
- 可以进行代价复杂性剪枝;
- 可以处理连续数据(首先将按照特征的取值进行排序,再将连续特征离散化(将相邻的取值的平均值作为特征取值));
- 可以处理缺失值(选择特征中最优的特征取值作为代理特征值首先)。
4、决策树的优缺点
优点:
- 速度快,计算量相对较小,且容易转化成分类规则。
- 可解释性强,容易理解。
- 不需要领域知识和参数假设。
- 适合高维数据
缺点:
- 容易过拟合
- 无法利用属性之间的相关性
5、参考
《统计学习方法》
《百面机器学习》