基于周志华《机器学习》和李航《统计学习方法》的总结
目录
1 决策树模型
分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶结点。最后将实例分到叶结点的类中。
- 可以将决策树看成一个if-then规则的集合。将决策树转换成if-then规则的过程是这样的:由决策树的根结点到叶结点的每一条路径构建一条规则;路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。决策树的路径或其对应的if-then规则集合具有一个重要的性质:互斥并且完备。这就是说,每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖。这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件。
- 从条件概率的角度思考决策树。决策树表示给定特征条件下类的条件概率分布。这一条件概率分布定义在特征空间的一个划分上。决策树的一条路径对应于划分中的一个单元,每个单元定义一个类的概率分布就构成了一个条件概率分布。假设X为表示特征的随机变量,Y为表示类的随机变量,那么这个条件概率分布可以表示为P(Y|X)。
回归决策树对应着输入空间(即特征空间)的一个划分以及在划分单元上的输出值。假设将输入空间划分为N个单元:,那么每个区域的输出值就是:,即区域所有y值得平均。详细间CART算法中最小二乘回归树。
决策树学习算法包含特征选择、决策树的生成与决策树的剪枝。分类决策树生成的基本流程:
其中,递归返回共三种情况:
(1)当前结点(某一属性的某一取值)中的样本均属于同一类别(如均是好瓜),则该结点标记为叶结点并返回;
(2)当没有其他属性,或是当前结点的样本在其他属性上的取值都相同(但可能类别不同,比如既有好瓜又有坏瓜),则该结点标记为叶结点,并将该结点的类别标记为样本数最多的类别(如当前结点中好瓜样本量>坏瓜样本量,则该结点标记为好瓜);
注意:周志华《机器学习》中指出利用的是该结点的后验分布——,即已知结果猜原因。
(3)当前结点所包含样本为空,则该结点标记为叶结点,且类别标记为其父节点样本数最多的类别。
注意:周志华《机器学习》中指出把父结点的分布作为先验分布——,即根据历史规律确定原因的概率分布即先验概率。
关于先验、后验、似然估计、贝叶斯的详细例子见 https://blog.csdn.net/qq_23947237/article/details/78265026 。
第8步即对应特征选择部分,详细见后。
决策树的剪枝(pruning)是决策树学习算法对付“过拟合”的主要手段。决策树剪枝的基本策略有“预剪枝”(prepruning)和”后剪枝”(post-pruning)。
预剪枝 是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;后剪枝 是先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。详细见后。
决策树的生成对应于模型的局部选择,决策树的剪枝对应于模型的全局选择。决策树的生成只考虑局部最优,相对地,决策树的剪枝则考虑全局最优。
2 特征选择与分类决策树生成
决策树学习的关键是第8行,即如何选择最优划分属性。随着划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。
2.1 样本集合纯度指标
度量样本集合纯度的指标:信息增益、信息增益率(比)、基尼指数。
信息增益——
假定当前样本集合D中第k类样本所占的比例为(k=1,2,...,|y|),则D的信息熵定义为:
Ent(D)的值越小,则D的纯度越高。
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵