本文记录周志华《机器学习》集成学习内容:***(文中公式内容均来自周志华《机器学习》)***

集成学习通过构建并结合多个学习器来完成学习任务,一般结构为:先产生一组“个体学习器”,再用某种策略将他们结合起来。如果个体学习器均是同种类型,则这样的集成是“同质”,反之集成也可包含不同类型的个体学习器,此时这样的集成为“异质”。
要获得好的集成,个体学习器应该既有一定的准确性,即学习器表现不能太坏(弱学习器),并且要有多样性,即学习器之间具有差异。

目前集成学习方法大致分为两类:1.个体学习器间存在强依赖关系、必须串行生产的序列化方法(Boosting算法);2.个体学习器间不存在强依赖关系、可同时生成的并行化方法(Bagging和随机森林算法)。

Boosting
Boosting是一族可将弱学习器提升为强学习器的算法。先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前集学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器,重复执行,最近将这T个基学习器进行加权结合。

其中D(x)表示当前样本分布,ht为当前模型,α表示权重, Zt为归一化常数,算法中第4步可理解为误分类样本权值相加。 Z t = 2 ε t ( 1 − ε t ) {Z_t} = 2\sqrt {{\varepsilon _t}(1 - {\varepsilon _t})} Zt​=2εt​(1−εt​) ​
具体解释,可参考Adaboost算法原理分析和实例

Boosting算法要求基学习器能对特定的数据分本进行学习,可通过“重赋权法”,即在每一轮,根据样本分布对每个样本重新赋予一个权重。对于无法接受带权样本的基学习算法,则可通过“重采样法”来处理,即在每一轮学习中,根据样本分布对训练集重新采样,再用新得到的
样本集对基学习器进行训练,
从偏差-方差角度来看,Boosting主要关注降低偏差。

Bagging
在初始数据集(数据量为m)中,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时仍有可能被选中,这样经过m次随机采样,得到m个样本的采样集。重复操作,可得到T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。
在对预测输出进行结合时,分类任务常采用简单投票法,回归任务采用简单平均法。

从偏差-方差角度来看,Bagging主要关注降低方差。

随机森林(RF)
RF是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择。
传统决策树在选择划分属性时是在当前节点的属性集合(含有d个属性)中选择一个最有属性;在RF中,对决策树的每个节点,先从该节点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性进行划分,一般情况下 k = log ⁡ 2 d {k = {\log _2}d} k=log2​d
随机森林中基学习器的多样性不仅来源于样本扰动,还来自属性扰动,增强了最终集成的泛化性。

结合策略:

  1. 平均法: H ( x ) = 1 T ∑ i = 1 T h i ( x ) {H(x) = {1 \over T}\sum\limits_{i = 1}^T {{h_i}(x)}} H(x)=T1​i=1∑T​hi​(x),针对数值型输出

  2. 加权平均法: H ( x ) = ∑ i = 1 T w i h i ( x ) {H(x) = \sum\limits_{i = 1}^T {{w_i}{h_i}(x)}} H(x)=i=1∑T​wi​hi​(x),w为个体学习器的权重,一般来说w>0,且 ∑ i = 1 T w i = 1 {\sum\limits_{i = 1}^T {{w_i} = 1}} i=1∑T​wi​=1

  3. 投票法:1.绝对多数投票法:若某标记得票超过半数,则预测为该标记;否则拒绝预测。2.相对多数投票法:预测为的票最多的标记,若同时有多个标记得票均最高,则随机选取。

  4. 学习法(Stacking算法):通过另一个学习器来进行结合,在此我们称个体学习器为初级学习器,用于结合的学习器称为次级学习器或元学习器。
    Stacking先从初始数据集训练出初级学习器,然后生成一个新数据集用于训练次级学习器,在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。此时初级集成可以是异质的。


    多样性增强

  5. 数据样本扰动:给定初始数据集,可从中产生不同的数据子集,然后训练出不同的个体学习器,一般用于”不稳地基学习器“(决策树、神经网络)

  6. 输入属性扰动:训练样本通常由一组属性描述,不同的子空间(属性子集)提供了不同观察数据的角度,因此训练出的个体学习器必然有所不同。著名的”随机子空间算法“,就是从初始属性集中去除若干属性子集,再基于每个属性子集训练一个基学习器。一般用于稳定基学习器(线性学习器、支持向量机、朴素贝叶斯、k近邻学习器)

  7. 输出表示扰动:对输出表示进行操纵以增强多样性。可对训练样本的类标记稍作变动,随机改变一些训练样本的标记;也可对输出表示进行转化,将分类输出转化为回归输出后构建个体学习器。

  8. 算法参数扰动:通过随机设置不同的参数,往往可产生差别较大的个体学习器

机器学习--集成学习(公式结论)相关推荐

  1. 机器学习 集成学习篇——python实现Bagging和AdaBOOST算法

    机器学习 集成学习篇--python实现Bagging和AdaBOOST算法 摘要 Bagging算法 Adaboost算法 摘要 本文通过python实现了集成学习中的Bagging和AdaBOOS ...

  2. 机器学习 - [集成学习]Bagging算法的编程实现

    机器学习 - [集成学习] Bagging算法的编程实现 李俊才 的 CSDN 博客:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 ...

  3. 机器学习--集成学习--Bagging,Boosting,Stacking

    在一些数据挖掘竞赛中,后期我们需要对多个模型进行融合以提高效果时,常常会用到Bagging,Boosting,Stacking等这几个框架算法.下面就来分别详细讲述这三个框架算法.这里我们只做原理上的 ...

  4. 机器学习集成学习-BOOSTING与BAGGING

    集成算法(Emseble Learning) 是构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器. 用于减少方差的bagging 用于减少偏差的boo ...

  5. 机器学习—集成学习(ensemble learning)

    一.集成学习 集成学习是将多个弱机器学习器结合,构建一个有较强性能的机器学习器的方法,也就是通过构建并合并多个学习器来完成学习任务,其中构成集成学习的弱学习器称为基学习器.基估计器. 1.根据集成学习 ...

  6. 机器学习集成学习算法

    目录 1 集成学习算法简介 1.1 什么是集成学习 1.2 机器学习的两个核心任务 1.3 集成学习中boosting和Bagging 1.4 小结 2 Bagging和随机森林 2.1 Baggin ...

  7. 机器学习集成学习与模型融合!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle ...

  8. 【机器学习基础】浅析机器学习集成学习与模型融合

    作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle比赛上面的top10的模型,除了深度学习以外的模型基本上都是集成学习的产物.集成学习可谓是上分大杀器,今天就跟大家分享在Kagg ...

  9. 深度学习auc_机器学习集成学习与模型融合!

    ↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle比赛 ...

最新文章

  1. Programming Computer Vision with Python (学习笔记八)
  2. 其他类似GitBook的在线文档创作平台
  3. CG CTF WEB 变量覆盖
  4. 【代码规范】常见命名规范
  5. Java字符串String相关2
  6. 【GitLab】与idea的搭配
  7. DataParallel 和 DistributedDataParallel 的区别和使用方法
  8. Centos 查看系统硬件信息
  9. java课设单链式存储心得报告_队列的链式存储方式的实现(Java语言描述)
  10. SQL后计算的利器SPL
  11. 如何通过SEO思维收割各大平台的流量?
  12. 【UE5】使用快捷键切换编辑器中英文设置
  13. 掌握这个思维,你的文案也能价值百万
  14. 世界第 3 的滴滴裁员,求职必知独角兽公司排行榜
  15. python爬取拉钩网招聘信息分析
  16. 【CodingNoBorder - 07】无际软工队 - 求职岛:ALPHA 阶段测试报告
  17. AFX_MSG是什么意思
  18. 团体标准的意义,办理团体标准的好处
  19. 青春期玩游戏不想上学怎么办?
  20. KJ分析法(亲和图)的应用实例及知识分享

热门文章

  1. AcceptChanges()和RejectChanges基础题,你能做吗?(转)
  2. 相似度计算的算法总结
  3. 直销银行小神器--银行卡OCR识别
  4. python-新闻文本分类详细案例-(数据集见文末链接)
  5. 好工具推荐系列:ExplorerPatcher,支持让Win11任务栏不再合并/右键菜单不再繁琐等
  6. 多易教育17期课堂笔记--Hbase---shell客户端02
  7. 全球与中国肥料用着色剂市场深度研究分析报告
  8. python3 urlparse_Python urlparse函数详解
  9. 操作系统之上下文切换
  10. 企业尽职调查怎么写 尽职调查好处 尽职调查流程