《机器学习》周志华•第4章决策树•第5章神经网络和深度学习•第6章支持向量机•第8章集成学习•第9章聚类•关联规则学习第4章决策树根据训练数据是否拥有标记信息学习任务决策树(decisiontree)模型常常用来解决分类和回归问题。常见的算法包括CART(ClassificationAndRegressionTree)、ID3、C4.5等。半监督学习:输入数据部分被标识,部分没有被标识,介于监督学习与非监督学习之间。分类、回归聚类(,)iixy监督学习(supervisedlearning)无监督学习(unsupervisedlearning)半监督学习(semi-supervisedlearning)强化学习(reinforcementlearning)二分类学习任务属性属性值•根结点:包含全部样本•叶结点:对应决策结果“好瓜”“坏瓜”•内部结点:对应属性测试决策树学习的目的:为了产生一颗泛化能力强的决策树,即处理未见示例能力强。无需划分无法划分不能划分无需划分无法划分不能划分Hunt算法:1,2,3,4,5,6,8,10,151,2,3,4,56,8,151068,15815第(2)种情形:设定为该结点所含样本最多的类别利用当前结点的后验分布第(3)种情形:设定为其父结点所含样本最多的类别把父结点的样本分布作为当前结点的先验分布决策树学习的关键是算法的第8行:选择最优划分属性什么样的划分属性是最优的?我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高,可以高效地从根结点到达叶结点,得到决策结果。三种度量结点“纯度”的指标:1.信息增益2.增益率3.基尼指数1.信息增益香农提出了“信息熵”的概念,解决了对信息的量化度量问题。香农用“信息熵”的概念来描述信源的不确定性。信息熵对于二分类任务2y一个事件的信息量就是这个事件发生的概率的负对数。信息熵是跟所有事件的可能性有关的,是平均而言发生一个事件得到的信息量大小。所以信息熵其实是信息量的期望。假设我们已经知道衡量不确定性大小的这个量已经存在了,不妨就叫做“信息量”•不会是负数•不确定性函数是概率的单调递减函数;•可加性:两个独立符号所产生的不确定性应等于各自不确定性之和,即同时满足这三个条件的函数是负的对数函数,即fp1212()()()fppfpfpf1()loglogiiifppp1[log]logniiiiEppp信息增益一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。决策树算法第8行选择属性著名的ID3决策树算法举例:求解划分根结点的最优划分属性根结点的信息熵:以属性“色泽”为例计算其信息增益1817p2917p数据集包含17个训练样例:8个正例(好瓜)占9个反例(坏瓜)占对于二分类任务2y用“色泽”将根结点划分后获得3个分支结点的信息熵分别为:属性“色泽”的信息增益为:若把“编号”也作为一个候选划分属性,则属性“编号”的信息增益为:根结点的信息熵仍为:()0.998EntD用“编号”将根结点划分后获得17个分支结点的信息熵均为:117221100()()(loglog)01111EntDEntD则“编号”的信息增益为:1711(,)()()0.99817vvGainDEntDEntD编号远大于其他候选属性信息增益准则对可取值数目较多的属性有所偏好2.增益率增益率准则对可取值数目较少的属性有所偏好著名的C4.5决策树算法综合了信息增益准则和信息率准则的特点:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。3.基尼指数基尼值基尼指数著名的CART决策树算法•过拟合:学习器学习能力过于强大,把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降。•欠拟合:学习器学习能力低下,对训练样本的一般性质尚未学好。过拟合无法彻底避免,只能做到“缓解”。剪枝,即通过主动去掉一些分支来降低过拟合的风险。预剪枝决策树的剪枝策略后剪枝预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。留出法:将数据集D划分为两个互斥的集合:训练集S和测试集TDSTST且预剪枝1,2,3,14训练集:好瓜坏瓜1,2,3,6,7,10,14,15,16,176,7,15,1710,16精度:正确分类的样本占所有样本的比例4,5,13(T,T,F)8,9(T,F)11,12(T,T)验证集:4,5,8,9,11,12,133=75=7不足:•基于“贪心”本质禁止某些分支展开,带来了欠拟合的风险预剪枝使得决策树的很多分支都没有“展开”优点:•降低过拟合的风险•减少了训练时间开销和测试时间开销后剪枝先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。验证集:4,5,8,9,11,124,13(T,F)5(F)9(F)8(F)11,12(T,T)验证集精度:37考察结点顺序:⑥⑤②③①6,7,15,176,7,151767,157158,9(T,F)减去结点⑥验证集变为:47训练集:好瓜坏瓜1,2,3,6,7,10,14,15,16,17后剪枝决策树预剪枝决策树•保留了更多的分支•欠拟合风险很小•泛化能力优于预剪枝决策树•训练时间开销比未减枝和预剪枝决策树大得多1.生产完全决策树2.所有非叶节点逐一考察知识回顾:1.四类学习任务2.Hunt算法3种递归返回情形、第8行3.3种度量结点“纯度”的指标:•信息增益ID3•增益率C4.5•基尼指数CART1.过拟合、欠拟合2.决策树剪枝•预剪枝•后剪枝离散属性:脐部根蒂色泽···连续属性:密度含糖率···连续属性离散化技术:二分法C4.5决策树算法样本集连续属性,有n个不同的取值,将n个取值从小到大排序:划分点t(数值)将划分为两个子集和12{,,...,}naaaDaDtDtD121{,,...,,,...,}iinaaaaatDtDtt显然,对相邻的属性取值来说,t在区间中取任意值所产生的划分结果都相同ia1ia1,iiaa根结点的信息熵仍为:()0.998EntD220044()(loglog)04444tEntD+228855()(loglog)0.96113131313tEntD(,)413()[()()]17170.263ttGainDEntDEntDEntD密度,0.381根结点包含17个训练样本,密度有17个不同取值候选划分点集合包含16个候选值每一个划分点能得到一个对应的信息增益密度好瓜0.243否0.245否0.343否0.360否0.403是10.437是20.481是30.556是40.593否0.680是50.634是60.639否0.657否0.666否0.697是70.719否0.774是80.381ttDtD选择“纹理”作为根结点划分属性与离散属性不同,若当前结点划分属性为连续属性,该连续属性还可被再次选作后代结点的最优划分属性。现实任务中,尤其在属性数目较多时,存在大量样本出现缺失值。出于成本和隐私的考虑1.属性值缺失时,如何进行划分属性选择?(如何计算信息增益)2.给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?(对于缺失属性值的样本如何将它从父结点划分到子结点中):D训练集:D训练集中在属性a上没有缺失值的样本子集:vD被属性a划分后的样本子集D:kDD中属于第k类的样本子集无缺失值样本中在属性上取值的样本所占比例:无缺失值样本所占比例:kp无缺失值样本中第k类所占比例:vrvaa无缺失值的样本子集上的信息增益D对于问题2:对于有缺失值的样本如何将它从父结点划分到子结点中•若样本在划分属性a上的取值已知,则将划入与其取值对应的子结点,且样本权值在子结点中保持为•若样本在划分属性a上的取值未知,则将同时划入所有子结点,且样本权值在子结点中调整为,就是让同一个样本以不同的概率划入不同的子结点中。xxxwvxrwxxxw其中,是为每个样本赋予的一个权重x运用:问题1属性值缺失时,如何进行划分属性选择?=属性值缺失时,如何计算缺失属性的信息增益?:vr无缺失值样本中在属性上取值的样本所占比例vaa:kp无缺失值样本中第k类所占比例根结点包含样本集中全部17个样本属性“色泽”无缺失值的样例子集包含14个样例:D={2,3,4,6,7,8,9,10,11,12,14,15,16,17}D好瓜(6个)坏瓜(8个)1417无缺失值样本所占比例:vr无缺失值样本中在属性上取值的样本所占比例vaa:无缺失值样本所占比例“纹理”被用于对根结点进行划分问题2给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?样本划分原则:•属性值已知,划入与其取值对应的子结点,样本权值不变,仍为•属性值未知,划入所有子结点,样本权值调整为,让同一个样本以不同的概率划入不同的子结点中xwvxrw:vr无缺失值样本中在属性上取值的样本所占比例vaa753,,151515“纹理”属性值缺失的样本编号为:8,10权值为:{8}和{10}同时进入三个分支中,权值分别为:\{8,10}D=1xw0.3810.205每个属性d个属性描述的样本对样本分类~坐标空间中的一个坐标轴~d维空间中的一个数据点~在坐标空间中寻找不同类样本之间的分类边界决策树形成的分类边界的明显特点:轴平行,分类边界由若干个与坐标轴平行的分段组成。优点:学习结果解释性强,每个划分都对应一个属性取值2个属性~二维平面不足:单变量决策树多变量决策树非叶结点的属性测试一个属性(最优划分属性)属性的线性组合(线性分类器)算法第8行寻找最优划分属性建立合适的线性分类器1diiiwat可以从该结点所含的样本集D和属性集A上学得,iwt