您好,欢迎访问三七文档
第1.2节决策树学习(DecisionTree)内容决策树方法的原理决策树中的过拟合问题决策树的其他问题属性的其他度量决策树学习——决定是否打网球看看天气看看湿度阳光明媚下雨看看风速高正常不去打球去打球大小不去打球去打球节点:每一个节点测试一个属性,分支:属性的可选数值,叶子节点:最终预测去打球阴天iX(|)YorPYYLeaf决策树学习原理简介—(ID3,C4.5算法)node=root循环{1.为当下一个节点选择一个最好的属性x2.将属性x分配给节点node3.对于x的所有可能数值,创建一个降序排列的节点node4.将所有训练样本在叶子节点排序分类5.如果分类结果达到了错误率要求,跳出循环,否则,在叶子节点开始新循环-〉递归}决策树表示法决策树通过把实例从根节点排列到某个叶子节点来分类实例。叶子节点即为实例所属的分类树上每个节点说明了对实例的某个属性的测试节点的每个后继分支对应于该属性的一个可能值决策树代表实例属性值约束的合取的析取式。从树叶到树根的每一条路径对应一组属性测试的合取,树本身对应这些合取的析取。决策树学习的适用问题适用问题的特征实例由“属性-值”对表示目标函数具有离散的输出值可能需要析取的描述训练数据可以包含错误训练数据可以包含缺少属性值的实例问题举例根据天气好坏确定是否去打球根据疾病分类患者根据起因分类设备故障根据拖欠支付的可能性分类贷款申请分类问题核心任务是把样例分类到各可能的离散值对应的类别基本的决策树学习算法大多数决策树学习算法是一种核心算法的变体采用自顶向下的贪婪搜索遍历可能的决策树空间ID3是这种算法的代表基本的决策树学习算法ID3的思想自顶向下构造决策树从“哪一个属性将在树的根节点被测试”开始使用统计测试来确定每一个实例属性单独分类训练样例的能力ID3的过程分类能力最好的属性被选作树的根节点根节点的每个可能值产生一个分支训练样例排列到适当的分支重复上面的过程决策树学习原理简介—(ID3,C4.5算法)编号天气温度湿度风是否去打球1晴天炎热高弱不去2晴天炎热高强不去3阴天炎热高弱去4下雨适中高弱去5下雨寒冷正常弱去6下雨寒冷正常强不去7阴天寒冷正常强去8晴天适中高弱不去9晴天寒冷正常弱去10下雨适中正常弱去11晴天适中正常强去12阴天适中高强去13阴天炎热正常弱去14下雨适中高强不去表-1:是否去打球的数据统计—训练数据决策树学习原理简介—(ID3,C4.5算法)湿度高正常(3+,4-)(6+,1-)S:(9+,5-)风弱强(6+,2-)(3+,3-)S:(9+,5-)问题:哪一个属性(特征)更好?决策树学习原理简介—(ID3,C4.5算法)熵:物理学概念宏观上:热力学定律—体系的熵变等于可逆过程吸收或耗散的热量除以它的绝对温度(克劳修斯,1865)微观上:熵是大量微观粒子的位置和速度的分布概率的函数,是描述系统中大量微观粒子的无序性的宏观参数(波尔兹曼,1872)结论:熵是描述事物无序性的参数,熵越大则无序性越强,在信息领域定义为“熵越大,不确定性越大”(香浓,1948年)决策树学习原理简介—(ID3,C4.5算法)随机变量的熵()IX熵比较多的用于信源编码,数据压缩,假设是最有效的编码方式是使用位编码于是对于随即变量的最有效编码位之和:Xi21()()log()niIXPXiPXi决策树学习原理简介—(ID3,C4.5算法)表示训练集合中的样本S表示训练集合中反例样本的比例p表示训练集合中正例样本的比例p22()log()log()ISpppp表示训练集合的熵决策树学习原理简介—(ID3,C4.5算法)信息增益:informationgain信息的增加意味着不确定性的减少,也就是熵的减小,信息增益在诸多系统中定义为:在某一个操作之前的系统熵与操作之后的系统熵的差值,也即是不确定性的减小量信息增益(InformationGain)原来的不确定性知道x之后的不确定性信息增益:原来-知道x之后的原来不确定性-经过属性x划分以后的不确定性信息增益(InformationGain)选择属性的标准:选择具有最高信息增益(InformationGain)的属性假设有两个类,+和-假设集合S中含有p个类别为+的样本,n个类别为-的样本将S中已知样本进行分类所需要的期望信息定义为:npnnpnnppnppnpI22loglog),(信息增益在决策树中的使用假设属性x将把集合S划分成K份{S1,S2,…,SK}如果Si中包含pi个类别为“+”的样本,ni个类别为“-”,的样本。那么熵就是(entropy),在x上进行决策分枝所获得的信息增益为:1()(,)KiiiiipnExIpnpn()(,)()GainxIpnEx决策树学习原理简介—(ID3,C4.5算法)(,)GainSx表示样本集合与属性(特征)x的互信息()(,)()()vvvValuesxSGainSxEntropySEntropySSAv的子集*决策树学习原理简介—(ID3,C4.5算法)问题:哪一个属性(特征)更好?分析极端的情况温度高正常(4+,4-)(4+,4-)S:(8+,8-)心情好坏(8+,0-)(0+,8-)S:(8+,8-)E=1.0E=0.0E=0.0Gain(S,温度)=1.0-(8/16)*1.0-(8/16)*1.0=0.0Gain(S,心情)=1.0-(8/16)*0.0-(8/16)*0.0=1.0E=1.0E=1.0决策树学习原理简介—(ID3,C4.5算法)湿度高正常(3+,4-)(6+,1-)S:(9+,5-)风弱强(6+,2-)(3+,3-)S:(9+,5-)问题:哪一个属性(特征)更好?I=0.985I=0.592I=0.811I=1.00Gain(S,湿度)=0.940-(7/14).985-7/14*0.592=0.151Gain(S,风)=0.940-(8/14).811-(6/14)1.0=0.048E=0.940E=0.940决策树学习原理简介—(ID3,C4.5算法)决策树的构造过程示意x1x3x8x3x7+-+-+-决策树学习将树转化为规则将树转化为规则集合测试规则是否相互矛盾将规则排序存储Tree:If(阴天)-〉去打球If(晴天)If(风速低)-〉去打球Else-〉不去打球决策树学习的常见问题决策树学习的实际问题确定决策树增长的深度处理连续值的属性选择一个适当的属性筛选度量标准处理属性值不完整的训练数据处理不同代价的属性提高计算效率针对这些问题,ID3被扩展成C4.5决策树学习及over-fitting看看天气看看湿度阳光明媚下雨看看风速高正常不去打球去打球大小不去打球去打球去打球阴天1晴天炎热高强去打球增加一个错误样本决策树学习及over-fitting过度拟合对于一个假设,当存在其他的假设对训练样例的拟合比它差,但事实上在实例的整个分布上表现得却更好时,我们说这个假设过度拟合训练样例定义:给定一个假设空间H,一个假设hH,如果存在其他的假设h’H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’的错误率比h小,那么就说假设h过度拟合训练数据。决策树学习及over-fitting导致过度拟合的原因一种可能原因是训练样例含有随机错误或噪声当训练数据没有噪声时,过度拟合也有可能发生,特别是当少量的样例被关联到叶子节点时,很可能出现巧合的规律性,使得一些属性恰巧可以很好地分割样例,但却与实际的目标函数并无关系。决策树学习及over-fitting假设h在训练样本集合上的错误率为'()()traintrainerrorherrorh样本集合上的真实错误率为()Derrorh训练结果在如下情况下即会产生过拟合'()()DDerrorherrorhh决策树学习及over-fitting决策树学习及over-fitting避免过拟合的方法如果对数据划分没有明显好处的属性不选择,同时不再将决策数细分构建完成整个树以后进行剪枝”Prune”在训练数据上测量性能在交叉验证数据上测量性能MDLMinmize(Size(tree)+Size(misclassifications(tree))决策树学习及over-fitting避免过拟合的方法评估所生成的新节点对于Validation数据集合的性能生成一些节点很少但是性能很好的“Sub-tree”决策树学习及over-fitting避免过度拟合的方法及早停止树增长后修剪法两种方法的特点第一种方法更直观第一种方法中,精确地估计何时停止树增长很困难第二种方法被证明在实践中更成功决策树学习及over-fitting避免过度拟合的关键使用什么样的准则来确定最终正确树的规模解决方法使用与训练样例截然不同的一套分离的样例,来评估通过后修剪方法从树上修建节点的效用。使用所有可用数据进行训练,但进行统计测试来估计扩展(或修剪)一个特定的节点是否有可能改善在训练集合外的实例上的性能。使用一个明确的标准来衡量训练样例和决策树的复杂度,当这个编码的长度最小时停止树增长。决策树学习及over-fitting方法评述第一种方法是最普通的,常被称为训练和验证集法。可用数据分成两个样例集合:训练集合,形成学习到的假设验证集合,评估这个假设在后续数据上的精度方法的动机:即使学习器可能会被训练集合误导,但验证集合不大可能表现出同样的随机波动验证集合应该足够大,以便它本身可提供具有统计意义的实例样本。常见的做法是,样例的三分之二作训练集合,三分之一作验证集合。训练误差升高修剪将树上的每一个节点作为修剪候选对象修剪步骤删除以此节点为根的子树,使它成为叶结点把和该节点关联的训练样例的最常见分类赋给它反复修剪节点,每次总是选取那些删除后可以最大提高决策树在验证集合上的精度的节点继续修剪,直到进一步的修剪是有害的为止数据分成3个子集训练样例,形成决策树验证样例,修剪决策树测试样例,精度的无偏估计如果有大量的数据可供使用,那么使用分离的数据集合来引导修剪规则后修剪从训练集合推导出决策树,增长决策树直到尽可能好地拟合训练数据,允许过度拟合发生将决策树转化为等价的规则集合,方法是为从根节点到叶节点的每一条路径创建一条规则通过“任何能导致估计精度提高的前提”来修剪每一条规则按照修剪过的规则的估计精度对它们进行排序,并按这样的顺序应用这些规则来分类后来的实例规则后修剪规则精度估计方法使用与训练集不相交的验证集基于训练集合本身被C4.5使用,使用一种保守估计来弥补训练数据有利于当前规则的估计偏置过程•先计算规则在它应用的训练样例上的精度•然后假定此估计精度为二项式分布,并计算它的标准差•对于一个给定的置信区间,采用下界估计作为规则性能的度量评论•对于大的数据集,保守预测非常接近观察精度,随着数据集合的减小,离观察精度越来越远•不是统计有效,但是实践中发现有效规则后修剪把决策树转化成规则集的好处可以区分决策节点使用的不同上下文消除了根节点附近的属性测试和叶节点附近的属性测试的区别提高了可读性合并连续值属性ID3被限制为取离散值的属性学习到的决策树要预测的目标属性必须是离散的树的决策节点的属性也必须是离散的简单删除上面第2个限制的方法通过动态地定义新的离散值属性来实现,即先把连续值属性的值域分割为离散的区间集合合并连续值属性例,Temperature应该定义什么样的基于阈值的布尔属性选择产生最大信息增益的阈值按照连续属性排列样例,确定目标分类不同的相邻实例产生一组候选阈值,它们的值是相应的A值之间的中间值可以证明产生最大信息增益的c值位于这样的边界中(Fayyad1991)通过计算与每个候选阈值关联的信息增益评估这些候选值方法的扩展连续的属性
本文标题:12决策树学习
链接地址:https://www.777doc.com/doc-608925 .html