1 参数可分为两种,一种是影响模型在训练集上的准确度或是影响防止过拟合能力的参数;另外一种是不影响这两者的其他参数。模型在样本总体上的准确度(后简称准确度)由其在训练集上的准确度及其防止过拟合的能力所共同决定,所以在调参时,我们主要对第一种参数进行调整,最终达到的效果是:模型在训练集上的准确度和防止过拟合能力的大和谐!
2 简单来说,集成学习是一种技术框架,其按照不同的思路来组合基础模型。目前有三种常见的集成学习框架:bagging boosting和stacking。
3 bagging : 从训练集进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合,产生最终的预测效果:

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

5 stacking:训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:

6 广义的偏差(bias)描述的是预测值和真实值之间的差异,方差(variance)描述的是预测值作为随机变量的离散程度。
7 模型的差异性为模型的结构差异。研究模型的方差的显示意义:方差越大的模型越容易过拟合。
8 集成学习框架中的基模型是弱模型,通常来说弱模型是偏差高(准确度低)方差小(防止过拟合能力强)的模型。但是,并不是所有集成学习框架中的基模型都是弱模型。bagging和stacking中的基模型为强模型(偏差低方差高),boosting中的基模型为弱模型
9 在bagging和boosting框架中,通过计算基模型的期望和方差,我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的权重、方差及两两间的相关系数相等。由于bagging和boosting的基模型都是线性组成的。
10 bagging的偏差和方差:

根据上式我们可以看到,整体模型的期望近似于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。同时,整体模型的方差小于等于基模型的方差(当相关性为1时取等号),随着基模型数(m)的增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于1吗?并不一定,当基模型数增加到一定程度时,方差公式第二项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。另外,在此我们还知道了为什么bagging中的基模型一定要为强模型,否则就会导致整体模型的偏差度低,即准确度低。
Random Forest是典型的基于bagging框架的模型,其在bagging的基础上,进一步降低了模型的方差。Random Fores中基模型是树模型,在树的内部节点分裂过程中,不再是将所有特征,而是随机抽样一部分特征纳入分裂的候选项。这样一来,基模型之间的相关性降低,从而在方差公式中,第一项显著减少,第二项稍微增加,整体方差仍是减少。
11 boosting的偏差和方差:
对于boosting来说,基模型的训练集抽样是强相关的,那么模型的相关系数近似等于1,故我们也可以针对boosting化简公式为:

通过观察整体方差的表达式,我们容易发现,若基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,boosting框架中的基模型必须为弱模型。我所认为的就是模型是强还是弱取决于基模型之间的相关性大小。
因为基模型为弱模型,导致了每个基模型的准确度都不是很高。随着基模型数的增多,整体模型的期望值增加,更接近真实值,因此,整体模型的准确度提高。但是准确度一定会无限逼近于1吗?仍然并不一定,因为训练过程中准确度的提高的主要功臣是整体模型在训练集上的准确度提高,而随着训练的进行,整体模型的方差变大,导致防止过拟合的能力变弱,最终导致了准确度反而有所下降。
基于boosting框架的Gradient Tree Boosting模型中基模型也为树模型,同Random Forrest,我们也可以对特征进行随机抽样来使基模型间的相关性降低,从而达到减少方差的效果.
12 小结:
还记得调参的目标吗:模型在训练集上的准确度和防止过拟合能力的大和谐!为此,我们目前做了一些什么工作呢?
a. 使用模型的偏差和方差来描述其准确度和防止过拟合的能力
b. 对于bagging来说,整体模型的偏差和基模型近似,随着训练的进行,整体模型的方差降低
c. 对于boosting来说,整体模型的初始偏差较高,方差较低,随着训练的进行,整体模型的偏差降低(虽然也不幸地伴随着方差增高),当训练过度时,偏差反而有所上升
d. 整体模型的偏差和方差与基模型的偏差和方差息息相关
控制整体训练过程的参数和基模型的参数,这两类参数都在影响着模型在训练集上的准确度以及防止过拟合的能力。

集成学习框架-学习小结20161121相关推荐

  1. 2021-7-26 pytorch深度学习框架学习

    1. Pytorch深度学习框架

  2. 深度学习框架——学习入门

    提示:深度学习框架 文章目录 前言 深度学习的总的框架包括以下一些内容:就是对于我们所要的数据进行相关的预处理.包括数据格式的统一以及必要的数据转换,同时进行训练数据集和测试数据集的划分,选择我们所需 ...

  3. 百度Paddle深度学习框架学习

    学习心得(个人心得): 学习到目前感觉百度的paddle框架总体来说还是很不错的,paddle可以使用静态和动态图的方式可以很好的适合tensorflow和pytorch的童鞋门入手,并且可以快速部署 ...

  4. DeepUbi:预测蛋白质泛素化位点的深度学习框架

    文章背景 泛素泛素化是指泛素蛋白与赖氨酸(K)的靶蛋白结合,是真核生物中信号转导.细胞分裂和免疫反应等多种细胞功能的重要调节因子.然而,目前大多数预测目标位置的计算工具都是基于小规模数据和浅层机器学习 ...

  5. 虚拟专题:联邦学习 | 联邦学习研究综述

    来源:网络与信息安全学报 联邦学习研究综述 周传鑫,孙奕,汪德刚,葛桦玮 信息工程大学,河南 郑州 450001 摘要:联邦学习由于能够在多方数据源聚合的场景下协同训练全局最优模型,近年来迅速成为安全 ...

  6. 深度学习框架集成平台C++ Guide指南

    深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...

  7. Spark 2.4重磅发布:优化深度学习框架集成,提供更灵活的流式接收器

    Apache Spark 2.4.0是2.x系列中的第五个版本.此版本增加了屏障执行模式,以便更好地与深度学习框架集成:引入30多个更高阶的内置函数,能够更轻松地处理复杂数据类型:优化K8s集成,同时 ...

  8. AI体验馆上线!集成业界领先NLP场景深度迁移学习框架EasyTransfer

    简介:2020年10月,阿里云正式开源了深度迁移学习框架EasyTransfer,这是业界首个面向NLP场景的深度迁移学习框架. 目前集合该能力的AI体验馆已正式上线,免费体验:https://wor ...

  9. 生存分析——快手的基于深度学习框架的集成⽣存分析软件KwaiSurvival(一)

    看到快手这篇文章,还开源了他们的KwaiSurvival,上手试了试: KwaiSurvival 是快⼿DA⾃主开发的基于深度学习框架的集成⽣存分析软件,帮助使⽤者在 Python编程环境下⾼效地使⽤ ...

最新文章

  1. 浅谈巴拿马电源的谐波消除原理
  2. Sharepoint学习笔记—Ribbon系列-- 3.在Ribbon中找到正确的Location
  3. 通过Katas进行Java教程:网球比赛(轻松)
  4. Hystrix面试 - 深入 Hystrix 线程池隔离与接口限流
  5. 大数据 -- 安装Hadoop-单机模式(1)
  6. FPGA时序约束设计经验总结
  7. 吴恩达深度学习4.2练习_Convolutional Neural Networks_the Happy House(Keras)
  8. PAT (Basic Level) Practice 1006 换个格式输出整数
  9. windows10系统下以管理员身份进入CMD(命令提示符)的三种方法
  10. hsql转换oracle,Hive系列之HSQL转换成MapReduce过程
  11. ker矩阵是什么意思_基向量、标准正交基、对称矩阵、Hermite阵
  12. django 1.8 mysql_mysql - 升级1.7.4到django 1.8 south.db.mysql错误,不使用南 - 堆栈内存溢出...
  13. 如何集成指纹验证到网站系统
  14. 归一化mysql函数_数据归一化和两种常用的归一化方法
  15. 远程桌面连接管理 工具使用说明
  16. 球差产生的原因、定量分析和校正方法(zemax)
  17. 用centos搭建一个简单的求生之路2服务器(用于好友联机降低延迟,不包含插件)
  18. Oracle自动化测试工具OATS
  19. 当你看到别人在认真努力而自己颓靡的时候,你有什么想法?
  20. windows 找不到文件'gpedit.msc'.请确定文件名是否正确后 windows10 家庭版 打不开组策略 不想更新 不想换版本

热门文章

  1. 1.1 BeautifulSoup使用方法
  2. Updating Homebrew... ...长时间卡住的问题
  3. 公私钥,数字证书,https
  4. 饮冰三年-人工智能-Python-16Python基础之迭代器、生成器、装饰器
  5. hdu 1802 Black and white painting(置换群)
  6. 定制 cobbler TITLE 信息
  7. Anagram Groups(字符串)
  8. android sdkversion
  9. 11 Sping框架--AOP的相关概念及其应用
  10. ajax提交数据遇到400异常,原因及解决方案