统计学习方法 第5章 决策树(2)
剪枝
决策树生成算法递归地产生决策树,直到不能继续为止。这样的树往往对训练数据分类准确,但对测试数据分类却没有那么准确,即出现过拟合。其原因在于决策树过于复杂。
解决这个问题的方法是简化决策树的复杂度,即剪枝,从已生成的决策树上裁掉一些子树或子节点。
决策树剪枝通过极小化决策树整体损失函数实现。
设树T的子节点个数为|T|,t为叶节点,该叶节点有Nt个样本点,其中k类的样本点有Ntk个,则损失函数定义为:
其中经验熵:
即模型对训练数据的预测误差和模型复杂度按一定比例的和。其中α为参数,控制两者之间的影响。
剪枝即在α确定时选择损失函数最小的模型。
对生成的整个树T和参数α:
1. 计算每个节点的经验熵
2. 递归地从叶节点向上回退,计算一组叶节点会退到其父节点之前和之后的损失函数,若减小则进行剪枝,即将父节点变成新的叶节点
3. 持续直到无法继续
CART算法
分类与回归树CART由特征选择,树生成和剪枝组成,可用于分类和回归。