1. ID3算法
ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归地构建决策树。
具体方法是:
从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;再对子节点递归地调用以上方法构建决策树;直到所有的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。
2. C4.5算法
C4.5算法与ID3算法相似,不同的C4.5是用信息增益比来选择特征。
3.决策树的剪枝
决策树通过递归算法构建,主要考虑如何提高对训练数据的正确分类,从而容易构建出过于复杂的决策树,出现过拟合的问题。
为了提高模型的泛化能力,需要对生成的决策树进行剪枝(pruning)。具体地,剪枝从已生成的树上裁剪掉一些子树或叶结点,并将其根结点或父结点作为新的叶结点,从而简化分类树模型。
下面介绍一种简单的决策树学习的剪枝算法。
决策树的剪枝往往通过极小化决策树整体的损失函数(loss function)或代价函数(cost function)来实现。
设树
T
T
的叶结点个数为,
t
t
是树的叶结点,该叶结点上有
Nt
N
t
个样本点,其中
k
k
类的样本点有个,
k=1,2,...,K
k
=
1
,
2
,
.
.
.
,
K
,
Ht(T)
H
t
(
T
)
为叶结点
t
t
上的经验熵,为参数,则决策树学习的损失函数可以定义为:
其中,经验熵为:
将式(1)中第一项记作 C(T) C ( T ) ,则有:
式中, C(T) C ( T ) 表示模型对训练数据的预测误差,即模型与训练数据的拟合程度, |T| | T | 表示模型的复杂程度,参数 α≥0 α ≥ 0 控制两者之间的影响。较大的 α α 促使选择较简单的模型,较小的 α α 促使选择较复杂的模型。
决策树生成学习局部的模型,而决策树剪枝学习整体的模型。
以上定义的损失函数的极小化等价于正则化的极大似然估计。