-
阅读《李航统计学习方法》中p55-p58页
决策树可用于分类与回归问题,本章主要介绍分类树。他采用if-then的规则,用特征对实例进行递归分类,使得呈现树形结构。也可以理解为定义在特征空间与类空间上的条件概率分布,可读性好且分类速度快。通常包含:特征选择、树生成与修剪三步。
-
决策树模型结构
树形结构组成:结点(内部与叶子)和有向边。
- 内部节点对应特征属性,根据定义的规则,从根节点不断生长对实例进行拆分,满足互斥且完备;
- 叶节点代表类别,也即规则的结论,通常采用平均法(回归)或多数投票法(分类)决定。
根据决策树的生成,可以看出他是对特征空间的划分,且互不相交;每个叶子节点即给定一条路径下的概率分布,其中
只给定的路径
,决策树将该及结点实例归为概率大的哪一类
故决策树学习是由训练数据集估计条件概率的模型,为使得有良好的泛化能力,采用损失函数作为优化目标,且通常为正则化的极大似然函数。所有可能中选择最优决策树是NP完全问题,一般采用启发式近似求解次最优解。
-
决策树递归思想
从根节点出发, 不断递归特征分割数据集,使得各个自己在一个当前条件下能够分类最好,当分类基本正确后,构建为叶子节点,否则继续分割直至所有数据子集基本分类正确。为防止过拟合,需要对树进行剪枝,即去掉过于细分的叶子节点。树的生成对应模型的局部选择(局部最优),而剪枝则对应全局选择(全局最优)
特征选择
选取具有分类能力的特征,如果分类结果与随机分类没有区别,则该特征不具有分类能力。分类能力评判:信息增益或信息增益比
信息增益
信息增益:表示得知特征X的信息而使得类Y的信息的不确定性减少的程度
信息增益率
ID3算法优缺点
1)定义
ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。
具体方法是:从根结点(root node)开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树。直到所有特征的信息增益均很小或没有特征可以选择为止,最后得到一个决策树。ID3 相当于用极大似然法进行概率模型的选择。
2)优点
- 理论清晰,算法简单,很有实用价值的示例学习算法;
- 计算时间是例子个数、特征属性个数、节点个数之积的线性函数,总预测准确率较令人满意。
3)缺点
- 存在偏向问题,各特征属性的取值个数会影响互信息量的大小;
- 特征属性间的相关性强调不够,是单变元算法;
- 对噪声较为敏感,训练数据的轻微错误会导致结果的不同;
- 结果随训练集记录个数的改变而不同,不便于进行渐进学习;
- 生成的树容易产生过拟合。
C4.5算法优缺点
1)定义
C4.5算法与ID3算法相似,C4.5 算法对ID3算法进行了改进。C4.5 在生成的过程中,用信息增益比来选择特征。
2)优点
- 通过信息增益率选择分裂属性,克服了ID3算法中通过信息增益倾向于选择拥有多个属性值的属性作为分裂属性的不足;
- 能够处理离散型和连续型的属性类型,即将连续型的属性进行离散化处理;
- 构造决策树之后进行剪枝操作;
- 能够处理具有缺失属性值的训练数据。
3)缺点
C4.5生成的是多叉树,即一个父节点可以有多个节点,因此算法的计算效率较低,特别是针对含有连续属性值的训练样本时表现的尤为突出。
算法在选择分裂属性时没有考虑到条件属性间的相关性,只计算数据集中每一个条件属性与决策属性之间的期望信息,有可能影响到属性选择的正确性。
C4.5算法只适合于能够驻留内存的数据集,当训练集大得无法在内存容纳时,程序无法运行;
C4.5算法在ID3算法上有什么提升
C4.5算法在连续值上的处理
决策树如何生成