决策树(Decision Tree):
决策树呈树形结构,在分类问题中表示基于特征对实例进行分类的过程。决策树可以看做if-then规则的集合,也可以认为定义在特征空间与类空间的条件概率分布。决策树学习通常包括3个步骤:特征选择,决策树生成和决策树修剪。
5.1 决策树模型
分类决策树由结点和有向边组成。结点有两种类型:内结点和叶节点。内结点表示一个特征或属性,叶节点表示一个类。
决策树与if-then规则:
将决策树转换为if-then过程:由决策树的根节点到叶节点的每一天路径构建一天规则;路径上内部节点的特征对应规则的条件,叶节点的类对应规则的结论。决策树的路径或其对应的if-then规则集合具有互斥完备性。即每条路径有且仅有一条规则与其对应。
决策树与条件概率分布:
决策树还可以表示给定特征条件下类的条件概率分布,这一条件概率分布定义在特征空间的一个划分。
决策树学习本质是从训练数据集中归纳出一组分类规则。与训练数据集不相矛盾的数据集可能有多个,可能一个也没有。因此需要寻找一个与训练数据集矛盾较小的决策树,同时具有很好的泛化能力。因为从所有可能的决策树中选择最优决策树是NP完全问题(NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。假设P ≠ NP的图解。若P = NP则三类相同。而如果任何一个NP问题都能通过一个多项式时间算法转换为某个NP问题,那么这个NP问题就称为NP完全问题(Non-deterministic Polynomial complete problem),NP完全问题也叫做NPC问题),所以通常采用启发式方法,近似求解最优化问题,这样的决策树往往是次优的。
决策树的深度决定决策树的复杂度,决策树的生成对应于模型的局部选择(局部最优解),决策树的剪枝对应于模型的全局选择(全局最优解)。
5.2 特征选取
特征选取的准则:信息增益或信息增益比
信息熵:
条件熵:
当使用数据估计(如最大似然估计)时,信息熵和条件熵分别称为经验熵和经验条件熵。
信息增益:特征对训练数据集
的信息增益
熵与条件熵的差称为互信息(mutual information),所以决策树学习中的信息增益等价于特征与类别的互信息。
信息增益比:
5.3 决策树的生成
ID3算法:
从根节点出发,对节点计算所有可能特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同值建立子节点,再对子节点递归调用以上方法,构建决策树,直到所有特征信息增益均很小或没有特征可以选择为止。ID3相当于用极大似然法进行概率模型的选择。
C4.5算法:
C4.5算法和ID3比较相似,区别在于用信息增益比代替信息增益。
5.4 决策树的剪枝
决策树的剪枝通过极小化总的损失函数或代价函数来实现。设树的叶节点的个数为
,
是树
的叶节点,该叶节点有
个样本点,其中
类样本有
个,
,
为叶节点
上的熵,则损失函数的定义为:
其中,,记
,则
。
所以剪枝就是最小化正则化的最大似然估计,从而对模型进行选择。
最简单的剪枝方法:
设一组叶节点回缩到其父节点之前和之后的整体树分别为与
,对应的损失函数分别为
和
,如果有:
,则进行剪枝,将父节点变为新的叶节点。