热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

集成学习①——集成学习原理、分类和结合方法

集成学习系列目录:集成学习②——Adaboost算法原理及python实现集成学习③——Sklearn-Adaboost库参数及实战一、集成学习的原理集成学习就是

集成学习系列目录:
集成学习②——Adaboost算法原理及python实现
集成学习③——Sklearn-Adaboost库参数及实战

一、集成学习的原理

集成学习就是"博采众长",将一组弱学习器通过一定方法给合在一起得到强学习器,这个强学习器的泛化能力相对任何一个弱学习器都要好,甚至还有起到三个臭皮匠,赛过诸葛亮的效果

这里有2个问题,有哪些弱学习器可以用?怎么结合?

弱学习器:以分类来说,分类效果要优于随机分类,也就是准确率高于50%的学习器,且计算速度快,通常以决策树神经网络为主,一组弱学习器可以是一样的,也可以不一样,目前常用的算法还是以同样的为主。

二、集成学习的分类

如何结合:根据弱学习器之间是否存在依赖性,分为Boosting和Bagging。
Boosting:使增长,顾名思义,后训练的学习器会比前一个要更强,代表算法有 Adaboost和Gradient Boosting Tree(GBDT);
Bagging:袋子,源于从袋子里有放回性取样,是说各学习器基于随机样本独立训练,后训练的学习器并比一定比前一个好,代表算法是随机森林

1、Boosting算法原理
Boosting算法可以通过这一张来解释,图来自于机器学习大神 @ 刘健平
在这里插入图片描述
从图上可看出,Boosting算法主要有以下几个步骤:

① 先赋予所有样本相同的权重,比如10个样本,每个样本都是1/10
② 先用一个弱分类器训练后,得到误差率
③ 通过误差率更新样本的权重系数
④ 迭代第二步和第三步,直到误差率达到要求的范围
⑤ 通过一定的方法将弱分类器结合,得到最终分类器

Adaboost是将错误分类的样本权重之和作为误差率,基于误差率降低分类正确样本的仅重,提升分类错误样本的权重,同时计算出此弱学习器最终学习器中的权重,误差率越低,权重越高

2、Bagging算法原理
在这里插入图片描述
从图上可看出,Bagging算法原理更为简单明了,主要有以下几个步骤:

① 从训练集中随机抽样,得到m个样本
② 基于m个样本训练得到一个弱学习器
③ 重复①和②,直到弱学习器数量达到设定要求
④再通过一定策略将弱学习器结合起来,得到最终的分类器

随机采用使得的是自助采样,即有放回式地采样,因此弱分类器之间的训练样本会有重复的一部分,也会有一部分样本始终没有被抽到。

随机森林在样本随机的基础上,还对每棵树的特征选择上也做了随机,进一步提升了模型的泛化能力。

三、集成学习的组合方法

① 投票法
投票法是用于分类问题,由多个学习器投票,哪个类别最多就是哪个。所谓的少数服从多数,如果出现数量相同,那就在相同中随机选择一个;
升级版:
绝对多数投票法,在相对多数投票结果基础上,还要过半才算有效;
加权投票法:赋予不同学习器不同的权重,再加权求和

② 平均法
平均法用于回归预测问题,对学习器的结果求算法平均,得到最终的预测结果
升级版:加权求和

③ stack法
上2个方法都是对弱学习器的结果做平均或者投票,相对比较简单,但是可能学习误差较大,于是就有了学习法这种方法,代表方法是stacking。
当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。

在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。


推荐阅读
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 理工科男女不容错过的神奇资源网站
    十一长假即将结束,你的假期学习计划进展如何?无论你是在家中、思念家乡,还是身处异国他乡,理工科学生都不容错过一些神奇的资源网站。这些网站提供了丰富的学术资料、实验数据和技术文档,能够帮助你在假期中高效学习和提升专业技能。 ... [详细]
  • 在该项目中,参与者需结合历史使用模式和天气数据,以预测华盛顿特区自行车共享系统的租赁需求。数据分析部分首先涉及数据的收集,包括用户骑行记录和气象信息,为后续模型构建提供基础。通过深入的数据预处理和特征工程,确保数据质量和模型准确性,最终实现对自行车租赁需求的有效预测。 ... [详细]
  • AI TIME联合2021世界人工智能大会,共探图神经网络与认知智能前沿话题
    AI TIME携手2021世界人工智能大会,共同探讨图神经网络与认知智能的最新进展。自2018年在上海首次举办以来,WAIC已成为全球AI领域的年度盛会,吸引了众多专家学者和行业领袖参与。本次大会将聚焦图神经网络在复杂系统建模、知识图谱构建及认知智能应用等方面的技术突破和未来趋势。 ... [详细]
  • 本文探讨了一种高效的算法,用于生成所有数字(0-9)的六位组合,允许重复使用数字,并确保这些组合的和等于给定的整数N。该算法通过优化搜索策略,显著提高了计算效率,适用于大规模数据处理和组合优化问题。 ... [详细]
  • 优化后的标题:利用 jQuery 实现高效树形结构元素选择与操作
    在Web前端开发中,DOM结构本质上是一种树形结构。通过优化后的jQuery选择器,可以高效地选择和操作DOM树中的节点。这些选择器不仅简化了代码编写,还提高了性能和可维护性。本文将详细介绍如何利用jQuery的树形选择器实现高效的元素选择与操作。 ... [详细]
  • 射频领域的博士学位在信号处理算法方面具有广阔的职业前景,尤其是在射频技术的应用中。例如,加入华为的射频基站部门,从事数字预失真等关键技术的研发工作。在此过程中,需要注意持续跟踪最新的学术和技术进展,保持对行业动态的敏感性,并不断提升自身的实践能力和创新能力。此外,除了技术层面,还应关注行业的整体发展趋势,以便更好地规划职业生涯。 ... [详细]
  • 浅层神经网络解析:本文详细探讨了两层神经网络(即一个输入层、一个隐藏层和一个输出层)的结构与工作原理。通过吴恩达教授的课程,读者将深入了解浅层神经网络的基本概念、参数初始化方法以及前向传播和反向传播的具体实现步骤。此外,文章还介绍了如何利用这些基础知识解决实际问题,并提供了丰富的实例和代码示例。 ... [详细]
  • 深入解析经典卷积神经网络及其实现代码
    深入解析经典卷积神经网络及其实现代码 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
author-avatar
shinesmini
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有