- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于adaboost算法的课件
AdaBoost算法 Adaboost算法是机器学习中一种比较重要的特征分类算法,已被广泛应用人脸表情识别、图像检索等应用中。就目前而言,对Adaboost算法的研究以及应用大多集中于分类问题,在一些回归问题上也有所应用。Adaboost主要解决的问题有: 两类问题、多类单标签问题、多类多标签问题、回归问题。 在机器学习领域,Boosting算法是一种通用的学习算法,这一算法可以提升任意给定的学习算法的性能,其思想源于1984年Valiant提出的”可能近似 正 确”-PAC(Probably Approximately Correct)学 习模型,在PAC模型中定义了两个概念-强学习算法和弱学习算法。其概念是: 如果一个学习算法通过学习一组样本,识别率很高,则称其为强学习算法;如果识别率仅比随机猜测略高,其猜测准确率大于50 PAC学习模型 计算学习理论为比较两个算法的性能提供了形式化的框架,并能够确定某概念类的计算复杂度和样本复杂度。 PAC学习模型为研究学习及泛化问题提供了一种基本的概率框架: X:实例空间,每个实例用xi表示 D:实例空间的分布 C:概念空间,对于每个输入实例x,概念总为x输出一个类值,c(x)=1 if x属于类c ; c(x)=0 if x不属于类c h:学习器输出的一个假设,也可以理解为经过学习得出的分类模型 ε:随机样本被错分概率的上界 δ:置信度 定义学习器是PAC学习的:如果学习器通过多项式个样本和经过多项式的时间的学习,能够以至少(1-δ)的概率输出假设h使得假设对随机样本的分类的错误率被限定在ε内,则称该学习器是PAC学习的 反过来说,如果学习器是PAC学习的,我们可以确定收敛到成功假设时,需要的样本复杂度和时间复杂度。 Boosting Boosting是一种将弱分类器通过某种方式结合起来得到一个分类性能大大提高的强分类器的分类方法。该方法可以把一些粗略的经验规则转变为高度准确的预测法则。强分类器对数据进行分类,是通过弱分类器的多数投票机制进行的。该算法是一个简单的弱分类算法提升过程,这个过程通过不断的训练,以提高对数据的分类能力。其过程如下所示: 先通过对N个训练数据的学习得到第一个弱分类器h1; 将h1分错的数据和其他的新数据一起构成一个新的有N个训练数据的样本,通过对这个样本的学习得到第二个弱分类器h2; 将h1和h2都分错了的数据加上其他的新数据构成另一个新的有N个训练数据的样本,通过对这个样本的学习得到第三个弱分类器h3; 最 终 经 过 提 升 的 强 分 类 器h?nal=MajorityVote(h1,h2,h3)。 即 某 个 数 据 被 分 为 哪 一 类 要 通过h1,h2,h3的多数表决。 对于上述Boosting算法,存在两个问题: ①如何调整训练集,使得在训练集上训练弱分类器得以进行。 ②如何将训练得到的各个弱分类器联合起来形成强分类器。 针 对 以 上 两 个 问 题 ,AdaBoost算 法 进 行 了 调整: ①使用加权后选取的训练数据代替随机选取的训练数据,这样将训练的焦点集中在比较难分的训练数据上。 ②将弱分类器联合起来时,使用加权的投票机制代替平均投票机制。让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。 AdaBoost Adaboost是adaptive boost的缩写,它是一种迭代算法。其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器 (强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合起来,作为最后的决策分类器。使用Adaboost分类器可以排除一些不必要的训练数据特征,并将重点放在关键的训练数据上。 该算法其实是一个弱分类算法的提升过程,这个过程通过不断的训练,可以提高对数据的分类能力。 下面我们举一个简单的例子来看看adaboost的实现过程: 图中,“+”和“-”分别表示两种类别,在这个过程中,我们使用水平或者垂直的直线作为分类器,来进行分类。 第一步: 根据分类的正确率,得到一个新的样本分布D2-,一个子分类器h1 其中划圈的样本表示被分错的。在右边的图中,比较大的“+”表示对该样本做了加权。 第二步: 根据分类的正确率,得到一个新的样本分布D3,一个子分类器h2 第三步: 得到一个子分类器h3 整合所有子分类器: 因此可以得到整合的结果,从结果中看,即使简单的分类器,组合起来也能获得很好的分类效果。 A
文档评论(0)