决策树
例子:税务欺诈检测问题
决策树可以表示输入属性的任何函数
注意决策树的泛化能力
同一个训练数据集,可以有多棵决策树与其一致
下面介绍如何构造最优的决策树:Top-Down的决策树归纳算法
- 每一个内结点可以看成用来分离数据集的属性,我们需要找到分离效果最好的属性并且作为决策属性赋值给当前结点
- 为每一个取值创建一个儿子结点,把相应的训练样本分到叶结点
- 如果训练样本被很好的分类,则停止,否则在新的叶结点上重复上述过程
(这里是我自己的理解,大家想看具体的可以看老师的ppt或者参考资料,如果有问题也欢迎指出)
决策树的归纳其实是基于贪心策略,基于一个可以最优化某项准则的属性来切分数据集,后面会看到这个准则是什么
问题来了,如何确定最好的切分?
Idea:好的属性切分是将示例集合分成若干子集,最理想情况是将“正例”和“反例”完全分开到不同的集合里。
作为贪心搜索的思想,我们更倾向节点上的数据具有同质(homogeneous)类别分布
上图中左图就是具有同质性,低混杂度的切分,右图则相反。
为了确定最好的切分方式,我们需要对结点混杂度进行测量,引出熵(Entropy)的概念:
- 对于一个随机变量X的熵H(X)
- H(X)是对从X随机采样值在最短编码情况下