(LXTML笔记)Decision Tree
决策树也是有集成模型的形式,如图所示
如果以每一条路径为条件,叶子为最后的分类函数(有时候是常数)的话,那么整棵树可以表示为,这是条件型集成模型的形式。更一般地,我们常常写成递归的形式,即
其中为分支方法,为该节点的分支数量,是分支对应的子树,那么要进行learning的话,涉及到下面几点
- 如何学习(定义)分支;
- 根据将主句分类;
- 递归建立子树.
CART
CART即 classification and regression tree,这是一种特殊的决策树,它的分支是2,是一颗二叉树,且底部叶子的分类函数返回的是一个最优的常数(如0/1 error时就返回中最多的那个,squared error的话就返回平均值,这些后面会讲到)。
我们如上图所示定义分支函数,其中这里的纯度impurity很好理解,实际就是一种误差的表达,比如
这样的情况下,树的生长在两种情况下回停止,
- 所有的都相同,此时纯度为0,所以此时
- 所有的都相同,所有的资料特征都相同,此时根本下不了刀
我们称这样自动停止的树称为full-grown tree,显然根据上面的算法,这棵树迟早是完全体树的。
而对于完全体树,其,由之前的课程我们知道,如果一个模型的,那么肯定是付出很大的代价的,这里即几乎算完了每一种情况,所以我们应该对模型增加一些限制(正则化),这里限制的是叶子的数量。
生成fully-grown tree 之后,我们定义最优目标
的意思是遍历所有的叶子,试着摘掉其中一个叶子(即合并二叉树节点的两个分支),看什么时候argmin最小,接着再合并第二次得到,如此下去,直到满足我们要求的叶子数量为止。