机器学习算法脉络梳理之集成学习

集成学习(ensemble learning)通过构建并结合多个学习器完成任务。也可称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning)等。其一般结构是先生成一组“个体学习器”(individual learner),再用某种策略将它们结合起来。

若“个体学习器”均为同种类型,则为同质集成(homogeneous ensemble);

若“个体学习器”不是同一种类型,则为异质集成(heterogenous )。

同质集成中的“个体学习器”,称为“基学习器”(base learner),相应的学习算法称为及学习算法(base learning algorithm);异质集成中的“个体学习器”称为“组件学习器”(component learner)。

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

如何生成个体学习器?

根据个体学习器的生成方式,大体分为两类:

* 个体学习器间存在强依赖关系、必须串行生成的序列化方法;代表是Boosting

* 个体学习器间不存在依赖关系、可同时生成的并行方法;代表是Bagging和随机森林

Boosting 是一族可将弱学习器提升为强学习器的算法。弱学习器(weak learner)常指泛化性能略优于随机猜测的学习器;例如在二分类问题上精度略高于50% 的分类器。

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

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

随机森林(Random Forest, 简称 RF)是 Bagging 的一个扩展变体。RF是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择。具体来说,在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中,选择最优属性用于划分。这里的参数 k控制了随机性的引入程度。

采用什么策略结合这些生成的个体学习器?考虑如下的结合策略

对于数值型输出,最常见的结合策略是平均法(averaging)。具体有简单平均(simple averaging)和加权平均(weighted averaging)。

对于类别标记输出,最常见的结合策略是投票法(voting)。具体有绝对多数投票法(majority voting)、相对多数投票法(plurality voting)和加权投票法(weighted voting)。

当训练数据很多时,一种更为强大的结合策略是“学习法”,即通过另一个学习器进行结合。典型代表是 Stacking。

Stacking 先从初始数据集训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征。而初始样本的标记仍被当作样例标记。

多样性

个体学习器的选择?“好而不同”理论分析——“误差-分歧分解”(error-ambiguity decomposition)

多样性度量(diversity measure)用于度量集成中个体分类器的多样性,即估算个体学习器的多样化程度。典型做法是考虑个体分类器的两两相似或不相似性。常见的多样性度量如下:

* 不合度量(disagreement measure)

* 相关系数(correlation coefficient)

* Q-统计量(Q-statistic)

* k-统计量(k-statistic)

如何增强多样性?

数据样本扰动。通常基于采样法,从初始训练集,产生不同的数据子集,再利用不同的数据子集训练出不同的个体学习器。

输入属性扰动。从初始属性集中,抽取属性子集,再基于每个属性子集训练一个基学习器。

输出表示扰动。

算法参数扰动

原文地址:https://www.cnblogs.com/klchang/p/11332837.html

时间: 2024-11-08 21:27:11

机器学习算法脉络梳理之集成学习的相关文章

西瓜书机器学习算法脉络梳理之聚类

什么是聚类任务 “无监督学习”中研究最多,应用最广的学习任务,除此之外,还有密度估计(density estimation)和异常检测(anomaly detection).在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习揭示数据的内在性质及规律,为进一步的数据分析提供基础. 聚类(clustering)将数据集中的样本划分为若干个通常不相交的子集,每个子集称为一个“簇”(cluster),每个簇可能对应一个潜在的概念(类别).这些概念对聚类算法而言,事先是未知的,聚

01机器学习算法整体知识体系与学习路线攻略

入行机器学习有一年多了,做过大大小小的机器学习项目,参加数据竞赛等实践活动,从最初的懵懵懂懂到现在逐步的深入,也渐渐的有了很多的体会和理解,本篇文章主要来阐述机器学习的知识体系,以让更多人明白机器学习应该怎样学习.需要学习什么?这些问题就是本篇文章的主要讨论的内容,下面开始进行详细介绍. 先对本篇文章的目录做个介绍: 1.机器学习术语 2.常见算法类型 3.评估方法和指标 4.性能优化和超参数调优 1.机器学习术语 接下来正式介绍机器学习术语.机器学习术语作为作为最基本的常识问题,为了更好的学习

机器学习算法,机器让我学习(3)

这个小段的内容主要是朴素贝叶斯.支持向量机.决策树和集成学习的代码,看不懂..........后面的更是看不懂.................. 朴素贝叶斯: scikit-learn提供了伯努利,多项式,高斯三个变体.伯努利是一个二项分布,多项式是离散分布,高斯是连续分布.用在不同的场景里: 伯努利朴素贝叶斯:验证测试点的分布: 1 from __future__ import print_function 2 import numpy as np 3 import matplotlib.p

《机器学习算法原理与编程实践》学习笔记(一)

第一章 机器学习的基础 1.1编程语言与开发环境 1.1.1 Python 安装(略) 1.2.2 Python安装包的安装:可以选选择安装集成包anaconda(略) 1.1.3 IDE配置及安装测试 IDE选择UltraEdit高级文本编辑器,配置步骤如下: (1)选择"高级"-->"用户工具"命令,如图1.4所示. 图1.5 配置UltraEdit步骤1 (2)在如图1.5所示输入各项参数,然后单击"应用按钮" 图1.5 配置Ultr

机器学习集成学习原理

//2019.08.19#机器学习集成学习1.集成学习是指对于同一个基础数据集使用不同的机器学习算法进行训练,最后结合不同的算法给出的意见进行决策,这个方法兼顾了许多算法的"意见",比较全面,因此在机器学习领域也使用地非常广泛. 集成学习(ensemble learning)本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务.集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影. 生活

机器学习算法集锦

机器学习 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能. 严格的定义:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问.这里所说的"机器",指的就是计算机,电子计算机,中子计算机.光子计算机或神经计算机等等. 机器学习概论 由上图所示:机器学习分为四大块: classifi

建模分析之机器学习算法(附python&R代码)

0序 随着移动互联和大数据的拓展越发觉得算法以及模型在设计和开发中的重要性.不管是现在接触比较多的安全产品还是大互联网公司经常提到的人工智能产品(甚至人类2045的的智能拐点时代).都基于算法及建模来处理.     常见的词汇:机器学习.数据建模.关联分析.算法优化等等,而这些种种又都是基于规律的深度开发(也难怪道德经的首篇就提出道可道非常道,名可名非常名的说法),不管是线性还是非线性,总之存在关联关系,而我们最好理解的就是线性关系,简单的用个函数就能解决.比如我们生活中应用的比较的归纳总结,其

利用机器学习算法寻找网页的缩略图

博客中的文章均为meelo原创,请务必以链接形式注明本文地址 描述一个网页 现在的世界处于一个信息爆炸的时代.微信.微博.新闻网站,每天人们在大海捞针的信息海洋里挑选自己感兴趣的信息.我们是如何判断哪条信息可能会感兴趣?回想一下,你会发现是标题.摘要和缩略图.通过标题.摘要和缩略图,就能够很好地猜测到网页的内容.打开百度搜索引擎,随便搜索一个关键字,每一条搜索结果也正是这三要素构成的. 那么一个自然的问题是搜索引擎是如何找到网页的标题.摘要和缩略图的呢. 寻找网页的标题其实是一个非常简单的问题.

机器学习算法--集成学习

1. 个体和集成 集成学习通过构建并结合多个"个体学习器"来完成学习任务.个体学习器通常由一个现有的学习算法从训练数据产生,若集成中只包含同种类型的个体学习器,称为同质集成:若包含不同类型的个体学习器,为异质集成.同质集成中的个体学习器也成为"基学习器". 如何产生并结合"好而不同"的个体学习器,恰是集成学习研究的核心. 根据个体学习器的生成方式,目前的集成学习方法大致分为两大类: (1)个体学习器间存在强依赖关系,必须串行生成的序列化方法,代表