后剪枝策略一般要求我们先构建好决策树,使的得每个叶子节点都是纯的(只有一种结果)。然后再进行剪枝操作。
一般认为对构建好的决策树进行剪枝有几个好处。1 可以加快计算的速度 2 可以防止过拟合。其中2是更主要的原因。
那么怎样判断何时应当进行剪枝操作呢?一种很自然的想法是,当模型的复杂度超过它带来的准确率增益时,应当进行剪枝操作。可以将子树的损失函数定义为:, 其中E(
)表示以该节点为跟的子树的误差。|
|则表示子树的节点个数。可以看出这个函数跟一般意义上的结构风险最小化的函数是一类的,都是采用误差加罚项的形式。
对于剪枝的之前的决策树的某一节点c,它的单点误差J(c)= E(c)+ 。而以它为根节点的子树的误差可以表示为: