CART (分类与回归树)
一般框架:
自顶向下,贪心搜索
递归算法
主循环:
Fundamental principle: simplicity
在每个节点N上寻找一个属性查询T,使到达直系后代节点的数据尽可能"pure"。
Purity - Impurity
如何衡量不纯度?
— Entropy (熵) impurity is frequently used.
定义\(0 \log 0 = 0\)。
在信息理论中,熵用来度量信息的纯/不纯,或者说是信息的不确定性。均匀分布的情况下,熵最大。
除熵外,其他计算方式
Gini impurity \(i(N) = \sum_{i \neq j}{P(w_j)} P(w_j) = 1 - \sum_j P^2(w_j)\)
Misclassification impurity \(i(N) = 1 - \max_j{P(w_i)}\)
度量熵的变化\(\color{green}{\Delta I(N)}\) — information gain (IG)
期望熵随着对A的排序而下降。
\[Gain(S,A) \equiv Entropy(S) - \sum_{v \in Vlaues(A)} \frac{\vert S_v \vert}{S} Entropy(S_v)\] 当训练样例被完美地分类了时。
Condition 1:如果当前子集内所有的数据都有相同的输出类,stop
Condition 2:如果当前子集内所有的数据都有相同的输入值,stop
Possible Condition 3:如果所有的属性的IG值都是0,stop (A good idea?)
(1)假设空间是完备的
目标函数必定在其中
(2)输出单个假设
(根据经验)不能超过20层
(3)无回溯
局部极小
(4)每一步都用到了子集中所有数据
基于统计的搜索选择
对噪声数据具有鲁棒性
注意:\(H\)是实例\(X\)的一个幂集。
假设空间是没有限制的。
偏爱有高IG属性的树。
试图找到最短的树。
Bias是对某些假设的偏向(search bias),而不是假设空间的限制(language bias)。
Occam's razor(奥卡姆剃刀原则):偏向与数据吻合的最短假设。
称\(\color{green}{h \in H}\)是过拟合的,如果存在另一个\(h' \in H\)使得\(\color{green}{err_{train}(h) \lt err_{train}(h')}\)且\(\color{green}{err_{train}(h) \gt err_{train}(h')}\)。
每片叶子对应于一个单一的训练点,并且整个树只是一个查找表。
针对DTree的两种避免过拟合的方法:
何时停止分裂?
1. 实例数量
当到达一个节点的训练实例数小于训练集的一定百分比时,停止分裂。
忽略不纯和错误。
2. 信息增益值阈值
设置一个小的阈值,当\(\Delta i(s) \le q\)时停止分裂。
优点:利用了所有的训练数据,叶子节点可以位于树的不同层。
缺点:难以选择合适的阈值。
如何选择最好的树?
MDL(Minimize Description Length,最小描述常数):最小化树的大小和误分类树的大小
如何分配新叶子节点的标签?
— 分配最常见的类
— 给节点多类标签
每个类都有一个支持度(基于每个标签的训练数据的数量)。
在测试中:选择一个有概率的类,或者选择多个类。
— 如果是回归树(数字标签),可以取平均值或加权平均
— ……
(常用的剪枝方法之一,e.g. C4.5)
为什么剪枝前要把决策树转换成规则?
— 与上下文独立
否则,树在进行剪枝时只有两种选择:将节点整个移除或保留。
— 根节点与叶子节点之间没有区别
— 提高可读性
决策树学习的特点:
奥卡姆剃刀原则,可以参考Domingos, The role of Occam's Razor in knowledge discovery. Journal of Data Mining and Knowledge Discovery, 3(4), 1999.
决策森林:由C4.5构建的多个决策树
C4.5 (C5.0): Data Mining Tools See5 and C5.0和Ross Quinlan的主页
许多学习方法包含了从特定训练样例中获取一般概念的过程。
归纳学习假设算法最多可以保证输出假设与训练数据的目标主题相符。
注意:过拟合问题
归纳学习假设:任一假设如果在足够大的训练样例集中很好地逼近目标函数,那么它也能在未见实例中很好地逼近目标函数。