一、决策树
- 决策树的定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点分为内部结点和叶结点。内部结点表示一个特征或属性,叶节点表示一个类。
- 决策树的学习主要包括三个步骤:
- 特征选择
- 决策树的生成
- 决策树的修剪
- 决策树学习的常用算法有ID3、C4.5与CART。其中ID3特征选择的准则是信息增益,C4.5的是信息增益率,CART是基尼指数。
1、特征选择:
熵(entropy)
介绍信息增益之前需要先引入熵的概念:
熵表示的是随机变量的不确定性程度,表达式为:
其中pi表示离散变量X取xi的概率。log一般以2和e为底。而熵越大,随机变量的不确定性就越大。如图所示:
熵取值最大时,随机变量的不确定性最大,此时p=0.5,意味着X取0和取1的概率一样大;而p=0或p=1时,熵值最小,完全没有不确定性,因为此时X全部取0或者全部取1.
条件熵
条件熵表示的是在X的条件下随机变量Y的不确定性,条件熵定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
当熵和条件熵中的概率由数据估计(特别时极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵和经验条件熵。
信息增益
信息增益表达式:
第一项表示数据D的不确定性程度,第二项表示在特征A的条件下数据D的不确定性,信息增益表示的是在特征A的条件下,数据D的不确定性减少的程度,减少的越多,数据更容易被分类。所以选则信息增益最大的特征作为分类特征。
信息增益比
由于信息增益的计算会更加偏向于选择取值更多的特征,所以引入了信息增益比的概念:
信息增益比的本质是在信息增益的基础上乘以一个惩罚参数。特征取值个数较多时,惩罚参数较小,特征取值个数较少时,惩罚参数较大。
- 为什么会偏向于选择取值较多的特征?
举个极端的例子,假设特征A所有的取值都不同,那么用特征A去划分数据集显然是没有意义的,但是这时候的条件信息增益为0,此时的信息增益是最大的,根据信息增益准则,我们就会选择特征A,显然这是不正确的。
2、决策树的生成:
ID3算法
ID3算法的核心是在决策树的各个结点上应用信息增益准则选择特征。
其中设定阈值相当于进行预剪枝。
C4.5算法
C4.5算法与ID3算法相比,改用信息增益比作为特征选择准则,其他步骤相同
3、决策树的修剪
为了防止过拟合,需要对决策树进行剪枝。
剪枝一般通过极小化决策树整体的损失函数或代价函数来实现。损失函数定义为:
熵越小数据越整齐,C(T)表示模型对训练数据的预测误差,|T|表示树的复杂程度,alpha控制两者之间的关系。
如图:
固定alpha,当Calpha(T)减小了则剪枝
4、CART算法
- CART既可用于分类,也可用于回归
- CART是二叉树
- 回归树采用平方误差最小化准则
- 分类树采用基尼指数最小化准则
- CART剪枝分两步进行剪枝:
- 从树的底端向上不断剪枝,形成一个子树序列
- 通过交叉验证的方法选择最优子树
《统计学习方法》-李航