介绍
-
决策树:决策树学习就是学习用来作决策的树。
决策树学习是一种逼近离散值目标函数的方法,学习到的函数被表示为一棵决策树。 -
一棵决策树一般包含一个根结点、若干个内部结点和若干个叶子结点。
叶子结点:对应于决策结果。
内部节点:每个内部结点对应于一个属性测试,每个内部结点包含的样本集合根据属性测试的结果被划分到它的儿子结点中。
分类:
决策树模型的三个关键过程:
(1)特征变量的选择,通过信息增益等方法来选择合适的分裂变量。
(2)决策树的生成,例如ID3, CART等算法提供了决策树的一套完整算法。
(3)决策树的剪枝,通过剪枝来避免过渡拟合,提升在未见数据上的预测效果。
特征变量选择
信息量
从信息量到信息熵:
(1)信息中包含信息量的大小与该消息所表达的事件发生概率有关。
(2)如果是必然事件(100%出现),则该消息所包含的信息量为0。
(3)如果不可能发生(或概率极低),则该消息的信息量为无穷大.
信息量定义原因:
➢ 信息量不能是负数:信息总是越来越多,不可能变为负数,变得越来越少。
➢ 信息量之间应该可以相加: A和B告诉你的信息,可以相加。
➢ 信息量应该依赖于概率:假如发生的微小的变化(10-5),不应该导致信息量的大幅变化。
➢ 信息量应该随着概率单调变化:某事件的概率越大,则信息量越少。
信息熵
熵(Entropy)概念最早出现在热力学,热熵表示分子状态混乱程度的物理量。
信息熵:用于表示信息不确定性的一种度量。表达事物的混乱程度,越高越混乱,越低与有序。
信息增益
信息增益表示在知道某个特征之后使得的不确定性减少的程度。根据某个变量将样本划分为多个子集, 分割前后样本数据的熵之差为信息增益,也即不确定性的减少量。
所选结点的条件是条件熵越小越好,信息增益越大越好!
ID3算法
划分操作停止的三个条件:
(1)当前结点包含的样本全部属于同一类别, 无需划分
(2)当前属性集为空,或所有样本在所有属性上取值相同,无法划分
(3)当前结点包含的样本集合为空, 不能划分
避免过拟合
剪枝的策略:
(1)预剪枝: 在对训练数据进行完美划分之前, 及早停止增长树。
(2)后剪枝: 允许树过度拟合训练数据, 然后对树进行再修剪。
注意:
第一种剪枝方法似乎更直接, 但很难精确估计何时停止增长。
第二种剪枝方法在实践中更为成功。
解决方法:
使用一组单独的例子来评估后修剪方法从树上修剪结点的效用(训练集和验证集划分)。验证集应该足够大,以提供具有统计意义的实例样本,通常验证集是可用实例的三分之一。
修剪的两种方法
错误率降低修剪:
- 修剪(每一个节点作为候选对象)
删除以该节点为跟的子树,使其成为叶结点 - 指定结点的分类
把和该结点关联的训练样例的最常见分类赋给它 - 删除一个结点
如果修剪后的树在验证集上的性能不比原始树差,才删剪
规则后修剪:
(1)从训练集合推导出决策树,增长决策树直到尽可能好地拟合训练数据,允许过度拟合发生。
(2)将决策树转化为等价的规则集合,方法是为从根结点到叶子结点的每一条路径创建一条规则。
(3)通过删除任何能导致估计精度提高的前件(preconditions)来修剪(泛化)每一条规则。
(4)按照修剪过的规则的估计精度对它们进行排序;并按这样的顺序应用这些规则来分类后来的实例。
决策树的归纳偏置
ID3 归纳偏置的更贴切近似: 较短的树比较长的得到优先。那些信息增益高的属性更靠近根结点的树得到优先。