集成学习(西瓜书学习)

集成学习

    • 概述
    • 一、Boosting
      • 1、Boosting
      • 2、GBDT (Gradient Boosting Decision Tree)
      • 3、XGBoost(Extreme Gradient Boosting)
    • 二、Bagging 与 Random Forest
      • 1、Bagging
      • 2、RF(Random Forest)

概述

集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务。

要获得好的集成,个体学习器应该“好而不同

集成学习分类:
个体学习器间存在强依赖关系,必须串行生成的序列化方法:Boosting
个体学习器间不存在强依赖关系,可以同时生成的并行化方法:Bagging、随机森林(Random Forest)

一、Boosting

1、Boosting

工作机制:先从初始训练集训练出一个基学习器,然后根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本再后续会受到更多关注,然后基于调整后的训练样本分布来训练下一个基学习器;如此重复进行,直至基学习器数量达到事先指定的值T,最终结果是将这T个基学习器进行加权结合
从偏差-方差的角度看,Boosting 主要关注降低偏差
【Boosting 族算法最著名的代表是 AdaBoost,即基学习器的线性组合】

2、GBDT (Gradient Boosting Decision Tree)

GBDT(梯度提升决策树)与传统的Boosting区别较大,它的每一次计算都是为了减少上一次的残差,而为了消除残差,我们可以在残差减小的梯度方向上建立模型。所以说,在GradientBoost中,每个新的模型的建立是为了使得之前的模型的残差往梯度下降的方向,与传统的Boosting中关注正确错误的样本加权有着很大的区别。

在GradientBoosting算法中,关键就是利用损失函数的负梯度方向在当前模型的值作为残差的近似值,进而拟合一棵CART回归树。

GBDT的会累加所有树的结果,而这种累加是无法通过分类完成的,因此GBDT的树都是CART回归树,而不是分类树(尽管GBDT调整后也可以用于分类但不代表GBDT的树为分类树)。

优点:

  1. 它能灵活的处理各种类型的数据;
  2. 在相对较少的调参时间下,预测的准确度较高。
  3. 预测阶段的计算速度快,树与树之间可并行化计算。
  4. 在分布稠密的数据集上,泛化能力和表达能力都很好。
  5. 采用决策树作为弱分类器使得GBDT模型具有较好的解释性和鲁棒性,能够自动发现特征间的高阶关系。

缺点:

  1. 由于它是Boosting,因此基学习器之前存在串行关系,难以并行训练数据
  2. GBDT在高维稀疏的数据集上,表现不如支持向量机或者神经网络。
  3. GBDT在处理文本分类特征问题上,相对其他模型的优势不如它在处理数值特征时明显。
  4. 训练过程需要串行训练,只能在决策树内部采用一些局部并行的手段提高训练速度。

3、XGBoost(Extreme Gradient Boosting)

XGBoost的性能在GBDT上又有一步提升,能够自动地运用CPU的多线程进行并行计算,同时在算法精度上也进行了精度的提高。

由于GBDT在合理的参数设置下,往往要生成一定数量的树才能达到令人满意的准确率,在数据集较复杂时,模型可能需要几千次迭代运算。但是XGBoost利用并行的CPU更好的解决了这个问题。

其实XGBoost和GBDT的差别也较大,这一点也同样体现在其性能表现上,详见XGBoost与GBDT的区别。

二、Bagging 与 Random Forest

为了获得“好而不同”的基学习器,可以考虑使用相互有交叠的采样子集
自助采样法(bootstrap sampling):m 个样本数据集进行有放回的 m 次抽样得到一个采样集(初始训练集中约有63.2%的样本出现在采样集中)

1、Bagging

Bagging 直接基于自助采样法,采样出 T 个含有 m 个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些学习器进行结合。在对预测输出进行结合时,通常对分类任务使用简单投票法,对回归任务使用简单平均法

优点:

  1. 与标准AdaBoost只适用于二分类任务不同,Bagging能不经修改地用于多分类、回归。
  2. 自助采样中剩余的约36.8%的样本有很多别的用处,如:用作验证集进行“包外估计”,决策树的辅助剪枝,估计决策树各结点的后验概率辅助对零训练样本结点的处理。神经网络的辅助及早停止以减小过拟合。

2、RF(Random Forest)

Random Forest 是Bagging的扩展变体,它在以决策树 为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机特征选择,因此可以概括RF包括四个部分:

  1. 随机选择样本(放回抽样);
  2. 随机选择特征;
  3. 构建决策树;
  4. 随机森林投票(平均)。

随机选择样本和Bagging相同,随机选择特征是指在树的构建中,会从样本集的特征集合中随机选择部分特征,然后再从这个子集中选择最优的属 性用于划分,这种随机性导致随机森林的偏差会有稍微的增加(相比于单棵不随机树),但是由于随机森林的‘平均’特性,会使得它的方差减小,而且方差的减小补偿了偏差的增大,因此总体而言是更好的模型。

优点:

  1. 在数据集上表现良好,相对于其他算法有较大的优势(训练速度、预测准确度)
  2. 能够处理很高维的数据,并且不用特征选择,而且在训练完后,给出特征的重要性
  3. 容易做成并行化方法。

缺点:在噪声较大的分类或者回归问题上会过拟合。


RF和Bagging对比

RF的起始性能较差,特别当只有一个基学习器时,随着学习器数目增多,随机森林通常会收敛到更低的泛化误差。随机森林的训练效率也会高于Bagging,因为在单个决策树的构建中,Bagging使用的是‘确定性’决策树,在选择特征划分结点时,要对所有的特征进行考虑,而随机森林使用的是‘随机性’特征数,只需考虑特征的子集。

RF(随机森林)与GBDT对比:

相同点:

  1. 都是由多棵树组成,最终的结果都是由多棵树一起决定。
  2. RF和GBDT在使用CART树时,可以是分类树或者回归树。

不同点:

  1. 组成随机森林的树可以并行生成,而GBDT是串行生成
  2. 随机森林的结果是多数表决表决的,而GBDT则是多棵树累加之和
  3. 随机森林对异常值不敏感,而GBDT对异常值比较敏感
  4. 随机森林是减少模型的方差,而GBDT是减少模型的偏差
  5. 随机森林不需要进行特征归一化。而GBDT则需要进行特征归一化(因为GBDT的树是在上一颗树的基础上通过梯度下降求解最优解,归一化能收敛的更快,而随机森林本来就是通过减少方差提高性能的,树之间建立关系是独立的,不需要归一化)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件

一:爬取词库,使用jieba分词库,自定义dict.txt文件 import jiebafrom urllib.request import urlopen from bs4 import BeautifulSoup# 来源于地图搜索数据,按照网民输入习惯精心筛选使用较多的词条。包含城市地名、公交、购物、餐…

.halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

尊敬的读者: 网络安全是当今数字时代的一大挑战,各种勒索病毒如.halo病毒层出不穷,对用户和企业的数据安全构成了严重威胁。本文将介绍.halo勒索病毒,以及如何恢复被其加密的数据文件,同时提供预防措施。在面对被勒索…

阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略

常见性能优化策略分类 1.代码 之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视。很多技术人员拿到一个性能优化的需求以后,言必称缓存、异步、JVM等。实际上,第一步就应该是分析相关的代码,找出相应的瓶颈&#xf…

周志华教授专著《集成学习:基础与算法》上市,豆瓣满分森林书破解AI实践难题...

近年来,机器学习技术的快速发展推动了语音、自然语言处理、机器视觉等多个领域获得巨大进步,也带动了人工智能相关产业的蓬勃发展。回顾机器学习最近30 年的发展历程,各种学习方法推陈出新、不断演进。但是,在此历程中&#xff0c…

Redis常用数据类型的数据结构

文章目录1. Redis 数据库介绍2. 列表(list)3. 字典(hash)4. 集合(set)5. 有序集合(sortedset)6. 数据结构持久化7. 总结1. Redis 数据库介绍 Redis 是一种键值( Key-Val…

python 异常处理相关说明

Python异常及处理方法总结: https://blog.csdn.net/polyhedronx/article/details/81589196?depth_1- .tar(是打包操作,不是压缩) 解包:tar -xvf FileName.tar 打包:tar -cvf FileName.tar DirName —————————…

论文浅尝 | 使用循环神经网络的联合事件抽取

余博涛,南京大学计算机科学与技术系,硕士研究生论文连接:http://www.aclweb.org/anthology/N16-1034发表会议:NAACL-HLT 2016摘要事件抽取(event extraction)是信息抽取中一个特别具有挑战性的问题。针对该…

阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结

web前端性能优化 Web前端指网站业务逻辑之前的部分,包括: 1.浏览器加载 2.网站视图模型 3.图片服务 4.CDN服务等 主要优化手段有优化浏览器访问,使用反向代理,CDN等。 1.浏览器访问优化 (1)减少http…

决策树(西瓜书学习)

算法是死的,思想才是活的! 1. 基本流程 决策树(decision tree):一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个…

动手做个DialoGPT:生成式多轮对话模型

文 | 苏剑林编 | 兔子酱前段时间刷Arixv的时候,发现清华大学开源了一个大规模的中文闲聊语料库LCCC,从开源的文件上来看,这可能是目前开源的数量最大、质量最好的闲聊语料库了,而且还包含了部分多轮对话聊天,总的来说可…

搜索引擎背后的数据结构和算法

文章目录1. 整体系统介绍2. 搜集2.1 待爬取网页链接文件:links.bin2.2 网页判重文件:bloom_filter.bin2.3 原始网页存储文件:doc_raw.bin2.4 网页链接及其编号的对应文件:doc_id.bin3. 分析3.1 抽取网页文本信息3.2 分词并创建临时…

mysql: order by, group by ,having, select, where 执行 顺序

where:数据库中常用的是where关键字,用于在初始表中筛选查询。它是一个约束声明,用于约束数据,在返回结果集之前起作用。 group by:对select查询出来的结果集按照某个字段或者表达式进行分组,获得一组组的集合&#x…

论文浅尝 | DKN: 面向新闻推荐的深度知识感知网络

笔记整理:仲亮靓,东南大学硕士研究生,研究方向是基于知识图谱的推荐系统动机新闻文本的语言非常凝练,其中包含了很多实体和常识知识。但目前的新闻个性化推荐方法都没有利用这些外部知识,也没有使用新闻之间潜在的知识…

聊聊工业界做机器学习的里程碑

文 | 吴海波编 | YY阅读说明,本文的机器学习领域限制于互联网搜索、推荐、广告场景,仅限于个人观点。2017年,我和团队的几个核心去了趟北京,找了各大互联网公司一线实战的同学,交流各自在机器学习上的经验。这次交流让…

直通BAT JVM必考题:Minor GC、Major GC、Full GC的区别

Java面试过程,JVM属于必考题系列: 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:7种JVM垃圾收集器特点,优…

matplotlib绘制多张图、多子图、多例图

绘制多图 关键: fig plt.figure(1) 表示新建第几个图 import matplotlib.pyplot as pltfig plt.figure(1) plt_rec_loss [1,2,3,4,5,6] plt_rec_recall [4,3,6,5,8,9] plt.xlabel("epoch") plt.ylabel("loss") plt.plot(range(len(plt_re…

jieba分词并做分析

Github:结巴分词地址 https://github.com/fxsjy/jieba 几种分词方法的简单使用:一 . jieba安装、示例 pip install jieba,jieba分词的语料是基于人民日报。分词示例1 import jieba 2 3 str1 江州市长江大桥 4 word_object jieba.cut(s…

研讨会 | CCF TF 第 17 期:认知计算产业化落地

CCF TF 技术前线只为技术专家CCFTF第17期主题 认知计算产业化落地2019年05月11日上海斯波特酒店五楼(上海市南丹路15号,徐汇区政府对面)人类迈入人工智能时代,技术的发展使得机器可以从大数据中提取信息,串联成知识&a…

短网址系统

文章目录1. 短网址服务整体介绍2. 如何通过哈希算法生成短网址?2.1 如何让短网址更短2.2 如何解决哈希冲突?2.3 如何优化哈希算法生成短网址的性能?3. 如何通过ID生成器生成短网址?3.1 相同的原始网址可能会对应不同的短网址3.2 如…

一个神经元的价值和一个神经病的坚持

作者 | 周博磊来源 | 机器之心一个神经元能够催生多少故事?香港中文大学信息工程系助理教授周博磊近日撰文介绍了他自 2015 年开始至今对神经元的研究经历。最近,他与 David Bau、朱俊彦等人合作的神经元研究论文发表在了 PNAS 杂志上。以下是周博磊的原…