- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.决策树与Adaboost
决策树、Adaboost 北京10月机器学习班 邹博 2014年11月1日 复习:熵 sqrt(1-4x)exp(-2x),0x1/4 H(Y|X) = H(X,Y) - H(X) 条件熵定义 H(Y|X) = H(Y) - I(X,Y) 根据互信息定义展开得到 有些文献将I(X,Y)=H(Y) – H(Y|X)作为互信息的定义式 对偶式 H(X|Y)= H(X,Y) - H(Y) H(X|Y)= H(X) - I(X,Y) I(X,Y)= H(X) + H(Y) - H(X,Y) 有些文献将该式作为互信息的定义式 试证明:H(X|Y) ≤H(X), H(Y|X) ≤H(Y) 强大的Venn图:帮助记忆 等式变化 根据H(Y|X) = H(Y) - I(X,Y) 得到I(X,Y) = H(Y) - H(Y|X) I(X,Y):在X中包含的关于Y的信息 k近邻分类 决策树(Decision Tree) 一种描述概念空间的有效的归纳推理办法。基于决策树的学习方法可以进行不相关的多概念学习,具有简单快捷的优势,已经在各个领域取得广泛应用。 决策树是一种树型结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶结点代表一种类别。 决策树示意图 决策树学习 决策树学习是以实例为基础的归纳学习。 决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类。 决策树学习算法的特点 决策树学习算法的最大优点是,它可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练例子进行较好的标注,就能够进行学习。 从一类无序、无规则的事物(概念)中推理出决策树表示的分类规则。 决策树学习的生成算法 ID3 C4.5 CART 信息增益 当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。 信息增益表示得知特征A的信息而使得类X的信息的不确定性减少的程度。 定义:特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:g(D,A)=H(D) – H(D|A) 即训练数据集类别和特征的互信息。 基本记号 设训练数据集为D,|D|表示其容量,即样本个数。设有K个类Ck,k=1,2,…,K,|Ck|为属于类Ck的样本个数。Σk|Ck|=|D|。设特征A有n个不同的取值{a1,a2…an},根据特征A的取值讲D划分为n个子集D1,D2,…Dn,|Di|为Di的样本个数,Σi|Di|=D。记子集Di中属于类Ck的样本的集合为Dik,|Dik|为Dik的样本个数。 信息增益的计算方法 计算数据集D的经验熵 计算特征A对数据集D的经验条件熵H(D|A) 计算信息增益:g(D,A)=H(D) – H(D|A) 经验条件熵H(D|A) 其他目标 信息增益率:gr(D,A) = g(D,A) / H(A) 基尼指数: 讨论 考察基尼指数的图像、熵、分类误差率三者之间的关系 使用1-x近似代替-lnx 三种决策树学习算法 适应信息增益来进行特征选择的决策树学习过程,即为ID3决策。 所以如果是取值更多的属性,更容易使得数据更“纯”(尤其是连续型数值),其信息增益更大,决策树会首先挑选这个属性作为树的顶点。结果训练出来的形状是一棵庞大且深度很浅的树,这样的划分是极为不合理的。 C4.5:信息增益率 CART:基尼系数 一个属性的信息增益越大,表明属性对样本的熵减少的能力更强,这个属性使得数据由不确定性变成确定性的能力越强。 提升方法 一个概念如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么,这个概念是强可学习的; 一个概念如果存在一个多项式的学习算法能够学习它,并且学习的正确率仅比随机猜测略好,那么,这个概念是弱可学习的; 强可学习与弱可学习是等价的。 在学习中,如果已经发现了“弱学习算法”,能否将他提升为“强学习算法”。 Adaboost 设训练数据集T={(x1,y1), (x2,y2)…(xN,yN)} 初始化训练数据的权值分布 Adaboost:对于m=1,2,…M 使用具有权值分布Dm的训练数据集学习,得到基本分类器 计算Gm(x)在训练数据集上的分类误差率 计算Gm(x)的系数 Adaboost:对于m=1,2,…M 更新训练数据集的权值分布 这里,Zm是规范化因子 它使Dm+1成为一个概率分布 Adaboost 构建基本分类器的线性组合 得到最终分类器 举例 给定下列训练样本,试用AdaBoost算法学习一个强分类器。 解 初始化训练数据
文档评论(0)