美文网首页
机器学习(8)

机器学习(8)

作者: LY豪 | 来源:发表于2018-07-19 19:22 被阅读0次

本章节是对我学习完机器学习(周志华)第八章 所做出来的总结

第八章 集成学习

8.1 个体与集成

集成学习:通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。

集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来。如下图所示:

集成学习示意图

集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。

要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”,即学习器间具有差异。

集成个体应“好而不同”

根据个体学习器的生成方式,目前的集成学习方法大致可分成两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法:前者代表的是Boosting,后者代表是Bagging和“随机森林”。

8.2 Boosting

Boosting是一族可将弱学习器提升为强学习器的算法,这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个学习器进行加权结合。

Boosting族算法中最出名的是AdaBoost,其描述如下图:

AdaBoost

Boosting算法要求基学习器能对特定的数据分布进行学习,这可通过“重赋权法”实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。对无法接受带权的基学习算法,则可通过“重采样法”来处理,即在每一轮学习中,根据样本分布对训练集重新采样,再采用重采样而得的样本集对基学习器进行训练。

从偏差-方差分解的角度看,Boosting主要关注降低偏差,因此Boosting能基于泛化性能相对弱的学习器构建出很强的集成。

8.3 Bagging和随机森林

8.3.1 Bagging

Bagging是并行式集成学习方法最著名的代表,它直接基于自助采样法。给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样经过m次随机采样操作,得到含m个样本的采样集。

照这样,可采样出T个含m个训练样本的训练集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。Bagging的算法描述如下图:

Bagging算法

从偏差-方差分解的角度看,Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。

8.3.2 随机森林

随机森林(简称RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。

传统决策树:选择划分属性时是在当前结点的属性集合中选择一个最优属性。

RF:对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分,一般推荐K=log2 (d)。

随机森林的收敛性和Bagging相似。随机森林的起始性能往往较差,特别是集成中只包含一个基学习器时。因为通过引入属性扰动,随机森林中个体学习器的性能往往有所降低。然而,随着个体学习器个数的增加,随机森林通常会收敛到更低的泛化误差。

在两个UCI数据上,集成规模对随机森林和Bagging的影响

8.4 结合策略

学习器结合可能从三个方面带来好处:

首先,从统计的方面来看,由于学习任务的假设空间往往很大,可能有多个假设在训练集上达到同等性能,此时若使用单学习器可能因误选而导致泛化性能不佳,结合多个学习器则会减少这一风险;

第二,从计算的方面看,学习算法往往会陷入局部极小,有的局部极小点所对应的泛化性能可能很糟糕,而通过多次运行之后进行结合,可降低陷入糟糕局部极小点的风险;

第三,从表示的方面来看,某些学习任务的真实假设可能不在当前学习算法所考虑的假设空间中,此时若使用单学习器则肯定无效,而通过结合多个学习器,由于相应的假设空间有所扩大,有可能学得更好的近似。

学习器结合可能从三个方面带来好处

常见的策略有:平均法、投票法、学习法。

相关文章

  • 机器学习(8)

    本章节是对我学习完机器学习(周志华)第八章 所做出来的总结 第八章 集成学习 8.1 个体与集成 集成学习:通过构...

  • [机器学习入门] 李宏毅机器学习笔记-8(Backpropaga

    [机器学习入门] 李宏毅机器学习笔记-8(Backpropagation;反向传播算法) 当我们要用gradien...

  • 林轩田基石4-8讲回顾

    林轩田的机器学习基石课程 1-3讲主要是讲机器学习应该使用在什么地方,机器学习有哪些分类. 4-8讲主要机器凭什么...

  • 葵花8机器学习

    High Temporal Rainfall Estimations from Himawari-8 Multib...

  • 8种顶级Python机器学习算法-你必须学习

    今天,我们将更深入地学习和实现8个顶级Python机器学习算法。 让我们开始Python编程中的机器学习算法之旅。...

  • 第二篇 端到端的机器学习

    一、 机器学习项目清单 完成机器学习主要有8步: 1.架构问题,关注蓝图。 1) 用商业术语定义目标。 2) 方案...

  • 《机器学习》笔记-集成学习(8)

    写在最前面 如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中...

  • 适合入门的8个趣味机器学习项目

    摘要:还在为找不到机器学习入门练手项目而感到无奈吗?本指南中,将给大家带来8个适合初学者学习的有趣的机器学习项目,...

  • 2020机器学习GAN(8)

    为什么不用 Discriminator 生成图片 其实 Discriminator 会从整体来考量图片好坏假设我们...

  • 8、机器学习很重要

    重要的是要知道机器学习的重要性,以便您了解该领域的内在价值以及该领域的方法和开放式问题。 就像知道你的原因一样,了...

网友评论

      本文标题:机器学习(8)

      本文链接:https://www.haomeiwen.com/subject/awqtmftx.html