决策数是一种基本的分类和回归方法。
主要优点是模型具有可读性,分类快。
学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。
决策树学习通常包括3个步骤:
- 特征选择
- 决策树的生成
- 决策树的修剪
决策树中每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖。
决策树学习是由训练数据集估计条件概率模型。但是基于特征空间划分的类的条件概率模型有无穷多个。需要选择的条件概率模型应该不仅对训练数据有很好的拟合,而且对未知数据有很好的预测。
决策树学习的损失函数通常时正则化的极大似然函数。决策树的学习策略是以损失函数为目标函数的最小化。
熵是表示随机变量中不确定性的度量。设X是一个取有限个值的离散随机变量,其概率分布为:
则随机变量X的熵定义为:
熵越大,随机变量的不确定性就越大。
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
信息增益:
表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
互信息:
熵H(Y)与条件熵H(Y|X)之差为互信息。
决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
根据增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
信息增益的算法:
输入:训练数据集D和特征A;
输出;特征A对训练数据集D的信息增益g(D,A)。
- 计算数据集D的经验熵H(D):
- 计算特征A对数据集D的经验条件熵H(D|A):
- 计算信息增益:
2.决策树的生成
生成决策树的两种算法————ID3算法和C4.5算法
ID3算法:
ID3算法的核心实在决策树各个节点熵应用信息增益原则选择特征,递归地构建决策树。
具体方法是:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子结点。再对子节点递归调用以上方法,构建决策树。直到所有特征的信息增益均很小或没由特征可以选择为止。
以信息增益作为划分训练数据集的特征,存在偏向于选取较多的特征的问题,使用信息增益比可以对这一问题进行矫正。
信息增益比:
C4.5算法:
C4.5算法于ID3算法类似,但是C4.5是通过信息增益比来选择特征。
3. 决策树的剪枝
决策树生成算法递归地产生决策树。直到不能继续下去为止。 但这样的树往往会造成过拟合现象。解决这个问题的办法就是考虑决策树的复杂度。对已生成的树进行简化。
在决策树学习中将已生成的树进行简化的过程称为剪枝。
决策树的剪枝往往通过极小化决策树整体的损失函数或代价函数来实现。
设树T的叶节点个数为|T|,t是树T的叶节点,该叶节点有Nt个样本点,其中k类的样本点有Ntk个。k=1,2,…K。Ht(T)为叶节点t的经验熵,决策树学习的损失函数可以定义为:
剪枝:
当α确定时,选择损失函数最小的模型。