预备知识:
分类与回归区别:目标属性前者为离散,后者为连续(回归树将两者进行结合,在叶节点建立回归模型,用于预测,(具体再看一下))
分类的目的:通过学习得到一个目标函数,将属性集X映射到分类编号Y
分类模型的应用:描述性建模,作为解释性的工具;预测性建模,用于预测未知记录的类编号
分类技术的局限性:1)仅适合预测二元或标称类型的数据集,对于序数分类(有等级划分(低、中、高))不太有效,由于分类技术不考虑隐藏在目标类中的序列关系
分类算法:决策树、基于规则分类、神经网络、支持向量机、朴素贝叶斯
一、决策树
ID3、ID4.5、CART
包括的内容:决策树的建立,决策树的过度拟合,决策树的选择
(1)决策树的建立
决策树工作原理:根节点、内部节点(非终结点)、叶节点(终结点)
决策树算法:Hunt(贪心策略),局部最优
决策树归纳的设计问题:
1)如何分裂训练记录 提供为不同类型的属性指定测试条件的方法
2)如何停止分裂 1.所以的记录属于同一类 2.所有的记录具有相同的属性值 3.某节点的样本数据个数小于预定的阈值 4.估计泛化误差的改进小于预定的阈值等
分裂训练数据:选择最佳划分的度量(依据为不纯度)
不纯度度量:
Entropy(t) 熵;Gini(t) 基尼指标 ;Classification error(t) 误差 在p=0.5时取得最大值,在p=0或1时取得最小值
确定测试条件的效果:
增益=父节点的不出度-子节点加权不纯度 增益越大,效果越好;熵的差即为所谓的信息增益
在连续属性的划分中,并不是为所有的候选扫描一遍数据集,一般为先将数据集进行排序,选择两值之间的中间值作为候选值,一般也会选择有类型变化的候选值
遇到的问题:由于不纯度度量指标倾向于选择具有大量不同值的属性,但并不希望模型输出大量的记录,故将模型不同类型采取不同的解决方法:
ID4.5选择信息增益率,修改评估划分标准,将属性测试条件产生的输出数目考虑进去
CART则仅采取二元划分,不采用多元划分;
(2)决策树的过度拟合(模型过度拟合将造成模型的训练误差较低,而相对的泛化误差将较高)
模型的过度拟合原因:
- 噪声导致的过分拟合
- 缺乏代表性样本导致的过分拟合
- 实际操作为多重比较过程(不太明白)
过度拟合的处理:
1) 先剪枝 不纯度度量的增益、估计的泛化误差的改进小于预设的阈值
2) 后剪枝
(3)决策树的选择:(应选取泛化误差较小的决策树模型)
泛化误差的估计:(计算泛化误差)
- 使用再带入估计,训练误差作为泛化误差的估计(这是一种很差的估计)
- 结合模型复杂度,悲观误差评估,使用训练误差和模型复杂度罚项(结点多惩罚就大)
- 最小描述长度原则(不太明白)
- 估计统计上界 计算训练误差的上界
- 使用确认集(K折交叉验证)
评估分类器的性能:(泛化误差的差距在统计上是否显著的判断)
1) 保持方法:一部分为训练集,另一部分为检验集 缺点:1.模型未用到全部的数据 2.两个集合来源于同一数据集,在子集中超出比例的类在另一个子集中必然低于
2) 随机二次抽样(不太明白)
3) 交叉验证
4) 自助法
比较分类器的方法:
1) 估计准确度的置信区间(为二项式的实验)
2) 比较两模型的性能 错误率做差,看是否统计上显著不为0(两个模型的数据集可能不相同)
3) 比较两分类法的性能,数据集是相同的
决策树归纳的特点:
1)不能很好的推广到谋写特定的布尔问题,如奇偶数
2)冗余属性不会产生较大的影响,但是不相关属性将产生较大的影响,如若不相关属性被选中将造成决策树过大
3)测试条件设计单个属性,故决策边界为直线;针对此问题可采用斜决策树(允许测试条件涉及多个属性)或构造归纳(已有属性的算术或逻辑组合)
zY9RJ35bB4
决策树算法ID3,C4.5, CART的区别 以下内容引自http://blog.csdn.net/taigw/article/details/44840771
决策树是机器学习中非常经典的一类学习算法,它通过树的结构,利用树的分支来表示对样本特征的判断规则,从树的叶子节点所包含的训练样本中得到预测值。决策树如何生成决定了所能处理的数据类型和预测性能。主要的决策树算法包括ID3,C4.5, CART等。
1,ID3
ID3是由 Ross Quinlan在1986年提出的一种构造决策树的方法。用于处理标称型数据集,其构造过程如下:
输入训练数据是一组带有类别标记的样本,构造的结果是一棵多叉树。树的分支节点一般表示为一个逻辑判断,如形式为a=aj的逻辑判断,其中a是属性,aj是该属性的所有取值。
在该节点上选取能对该节点处的训练数据进行最优划分的属性。最后划分的标准是信息增益(Information Gain),即划分前后数据集的熵的差异。
如果在该节点的父节点或者祖先中用了某个属性,则这个用过的属性就不再使用。选择好最优属性后,假设该属性有N个取值,则为该节点建立N个分支,将相应的训练数据传递到这N个分支中,递归进行,停止条件为:
(1)该节点的所有样本属于同一类,该节点成为叶节点,存放相应的类别。
(2)所有的属性都已被父节点或祖先使用。这种情况下,该节点成为叶节点,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该结点样本的类别分布。
ID3的特点是:(1),容易造成过度拟合。(2), 使用标称型数据,但是很难处理连续型数据。
2, C4.5
C4.5是对ID3的改进,其基本过程与ID3类似,改进的地方在于:
(1)既能处理标称型数据,又能连续型数据。为了处理连续型数据,该算法在相应的节点使用一个属性的阈值,利用阈值将样本划分成两部分。
(2)能处理缺失了一些属性的数据。该算法允许属性值缺失时被标记为?,属性值缺失的样本在计算熵增益时被忽略。
(3)构造完成后可以剪枝。合并相邻的无法产生大量信息增益的叶节点,消除过渡匹配问题。
3,CART
CART称为分类决策树,classification and regression tree,既能处理分类问题,又能处理回归问题。最初由Breiman提出。与ID3不能直接处理连续型特征不同的是,CART使用二元切分,即使用一个属性阈值对样本数据进行划分。划分的标准除了使用熵增益外,还有基尼纯净度(Gini impurity)和方差缩减(variance reduction)(用于回归)。