热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

adaboostmhmatlab,adaboost、adaboost.m1、adaboost.m2简介

集成学习常见的两种集成方案为bagging和boosting,其中bagging是一种基于投票的并行方案,boosting是一种基于改变原始数据集分布的

集成学习常见的两种集成方案为bagging和boosting,其中bagging是一种基于投票的并行方案,boosting是一种基于改变原始数据集分布的迭代串行方案(某些环节也可并行)。bagging的代表算法为随机森林,boosting的代表算法有adaboost、gbdt、xgb等。

121980ea415d

bagging方案图:从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果

121980ea415d

boosting方案图:训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。对所有基模型预测的结果进行线性综合产生最终的预测结果:

AdaBoost算法有AdaBoost.M1和AdaBoost.M2两种算法,AdaBoost.M1是我们通常所说的Discrete AdaBoost,而AdaBoost.M2是M1的泛化形式。adaboost是由Yoav Freund和Robert E. Schapire 首先提出来的一种用于二分类问题的集成方法;紧接着出现的Adaboost.M1将二分类扩展到多分类问题;而AdaBoost.M2不仅可以处理多分类问题,还引入了置信度的概念,进一步扩展了AdaBoost算法;AdaBoostMH算法则是基于AdaBoost.M1算法的一种标签转化方案的多标签算法。关于AdaBoost算法的一个结论是:当弱分类器算法使用简单的分类方法时,boosting的效果明显地统一地比bagging要好.当弱分类器算法使用C4.5时,boosting比bagging较好,但是没有前者明显。后来又有学者提出了解决多标签问题的AdaBoost.MH和AdaBoost.MR算法,其中AdaBoost.MH算法的一种形式又被称为Real Boost算法---弱分类器输出一个可能度,该值的范围是整个R, 和与之相应的权值调整,强分类器生成的AdaBoost算法。事实上:Discrete AdaBoost是指,弱分类器的输出值限定在{-1,+1},每个弱分类器有相应的权值,从而构成一个强分类器。adaboost采用的集成方式是对基分类器的结果进行加权求和,如果结果大于0则样本被分为正类,如果结果小于0则样本被分为负类。adaboost算法要做的就是每次迭代过程中,赋予被错误分类的样本更大的权重。

1). adaboost算法

121980ea415d

adaboost算法要做的就是每次迭代过程中,赋予被错误分类的样本更大的权重

最终一个样本的预测值为:

121980ea415d

adaboost采用的集成方式是对基分类器的结果进行加权求和,如果结果大于0则样本被分为正类,如果结果小于0则样本被分为负类

从算法步骤中我们可以看出,权重的更新方式为:

121980ea415d

如果一个样本被上一个分类器正确分类,那么它的权重将乘以e**-at(大于0小于1),如果这个样本被上一个分类器错误分类,那么它的权重将乘以e**at。也就是说错误分类的样本权值相对于正确分类的样本权值扩大了e**2at倍,而e**2at=(1-et)/et。常用的改变权重方式为样本抽样和标签系数转化。

2).adaboost.m1算法

121980ea415d

adaboost算法对权值更新函数做了更改使其适用于多分类问题

adaboost.m1算法和adaboost算法的不同点在于:

a.H(x)的形式发生了变化,没用使用sign()映射转化,但是其本质任然没有发生改变,任然可以看做是对基分类器的分类结果进行头片产生最终结果,而且基分类器的权重本质上也为ln(1-et)/et。

b.两者的本质区别在于第10步,对比我们可以发现为了适应多分类问题,adaboost的权值更新函数做了一定的调整。权值更新方案为:

如果一个样本被上一个分类器错误分类,那么它的权重不变,如果这个样本被上一个分类器正确分类,那么它的权重将乘以et/(1-et),也就是说错误分类的样本权值相对于正确分类的样本权值扩大了(1-et)/et倍(因为如果更改分类错误样本我们不知道其具体偏向哪个类别错误)。

3).adaboost.m2算法

121980ea415d

在adaboost.M2中算法对基分类器的输出形式做出了限制,给定一个样本,基分类器对c1到cm的类都输出一个介于0和1之间的值,表示这个样本属于某个类的概率,且这些值相加等于1

adaboost.M2的思路还是提高难以被正确分类的样本的权重,例如样本可以被分为A,B,C三类,某个样本xi真实类别标签为A,第k轮分类器对xi的分类结果为:

类别                                 A                             B                             C

概率                                0.1                          0.5                           0.6

显然当前基分类器对这个样本的分类不理想,那么adaboost.M2算法会根据步骤8来计算计算当前基分类器的误差,接着步骤10会修改错误类B,C的权重,进而在下一次迭代的步骤6中更新这个样本的权重。



推荐阅读
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • 深入解析Linux中的slabtop命令
    本文将详细介绍如何在Linux系统中使用slabtop命令,帮助读者更好地理解和监控内核slab缓存的使用情况。通过本文的学习,您将掌握slabtop命令的基本用法及其高级功能。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • Redis 是一个高性能的开源键值存储系统,支持多种数据结构。本文将详细介绍 Redis 中的六种底层数据结构及其在对象系统中的应用,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象。通过12张图解,帮助读者全面理解 Redis 的数据结构和对象系统。 ... [详细]
  • 本文探讨了SSD购买后是否需要进行4K对齐的问题,并详细解释了4K对齐的原理及其重要性。通过对比机械硬盘与固态硬盘的结构,文章深入分析了4K对齐对SSD性能的影响,并提供了具体的对齐方法。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 最近遇到了一道关于哈夫曼树的编程题目,需要在下午之前完成。题目要求设计一个哈夫曼编码和解码系统,能够反复显示和处理多个项目,直到用户选择退出。希望各位大神能够提供帮助。 ... [详细]
  • C语言是计算机科学和编程领域的基石,许多初学者在学习过程中会感到困惑。本文将详细介绍C语言的基本概念、关键语法和实用示例,帮助你快速上手C语言。 ... [详细]
  • 阿里面试题解析:分库分表后的无限扩容瓶颈与解决方案
    本文探讨了在分布式系统中,分库分表后的无限扩容问题及其解决方案。通过分析不同阶段的服务架构演变,提出了单元化作为解决数据库连接数过多的有效方法。 ... [详细]
  • 面试题总结_2019年全网最热门的123个Java并发面试题总结
    面试题总结_2019年全网最热门的123个Java并发面试题总结 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文介绍了两种有效的方法来解决DataSnap支持的Tcp长连接数受限的问题。方案一通过代理服务器实现负载均衡,方案二则利用多进程技术提升连接数。 ... [详细]
  • 列表生成式虽然简洁高效,但在处理复杂算法时存在局限性。本文将介绍生成器(generator)的概念及其优势,探讨如何通过生成器解决列表生成式的局限性,并提供实际示例。 ... [详细]
  • 在 iOS 设备上使用系统 API 进行视图截图时,有时会遇到图片拼接处出现白边的问题。 ... [详细]
author-avatar
巴香香
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有