集成学习
- 格式:pdf
- 大小:1.17 MB
- 文档页数:18
机器学习中的集成学习算法一、集成学习简介集成学习(Ensemble Learning)是机器学习中的一种重要算法。
它的主要思想是将多个弱学习算法集合起来形成一个强学习算法。
二、集成学习分类按照分类器的生成方式可将集成学习分类为Bagging算法、Boosting算法和Stacking算法。
1. Bagging算法Bagging全称为Bootstrap AGGregating,是自举聚合的缩写。
它的基本思想是采用自助法来产生k个新的训练集,在每个训练集上训练出一个基学习器,然后将这k个基学习器的结果进行平均或多数表决等方式来得到最终的结果。
2. Boosting算法Boosting算法基本思想是将一系列弱分类器相互结合,构成一个强分类器的过程。
它的主要特点是每一轮都学习一个新的分类器,并使得之前所有分类器的分类准确率加权相加。
3. Stacking算法Stacking算法是一种用来组合多个学习器的方法。
与传统的集成学习方法不同,Stacking算法通过加入一个“次级学习器”来对多个基学习器进行组合,从而构建出一个强学习器。
三、集成学习的优点1. 集成学习可显著提高机器学习算法的准确率和性能,并且对于许多不同类型的学习算法均有效。
2. 集成学习能够减轻模型过拟合问题,提高模型鲁棒性和泛化能力。
3. 集成学习能够减少各个单个模型产生的误差或者偏差,从而提高模型的精度。
四、集成学习案例1. 随机森林(Random Forest)随机森林是一种集成学习方法,它基于决策树算法创建多个随机子集的基学习器,最终将这些基学习器合并成一个强学习器。
2. AdaBoostAdaBoost是一种常见的Boosting算法,它通过不断调整训练样本的权重来训练机器学习模型,从而提高模型准确率。
3. Gradient Boosting Machines(GBM)GBM也是一种常见的Boosting算法,它采用一种梯度下降算法来学习弱学习器的加权。
集成学习名词解释名词解释:集成学习指在数字图书馆、智能计算机和传感器网络等信息技术基础上,把来自多种领域的不同知识和多个领域中的信息融合到一起,提取关于所研究对象的本质特征和相互作用规律的知识的一种方法。
实时集成学习就是将一些事件,比如处理业务流程时产生的各种数据等,通过可以接受这些数据并进行分析的分布式系统加以捕获、管理、存储和分析,以帮助决策者做出决策。
4、知识发现和推理机制知识发现和推理机制是人工智能的两个核心问题。
要求计算机具有发现问题、理解复杂现象、得到解决方案、最终输出知识等能力。
在知识发现和推理机制研究中,对经验性知识的表示、数据驱动的集成学习方法、深度学习方法的研究是主要内容。
知识发现机制包括机器学习理论和机器学习方法。
5、深度学习深度学习方法,是利用深度神经网络、专家系统和强化学习算法等,构建模拟人类大脑信息处理过程的神经元和突触的结构与功能,从而使计算机模仿人类思考和行为的一种新型机器学习方法。
深度学习是人工智能的一种常用机制,通常用于表征和描述结构化和非结构化的任务,包括感知、语音识别、图像分类、自然语言理解等,目前深度学习在这些领域都已取得了较好的效果。
9、多智能体系统如果要构造多智能体系统,我们必须使它们之间彼此交流信息。
为此,我们必须创造一些机制,让他们在不同的场景下运行,并且要知道如何激励或惩罚它们。
我们称之为自组织学习。
多智能体系统是一个复杂的系统,因为它们要同时考虑所有因素,而且还要同时调整所有的行为以达到我们期望的目标。
10、规则抽取技术利用规则表达和知识表达来引导自然语言处理的研究方向,将知识表示转化为规则表达是规则抽取的主要任务。
11、规则导引与推理技术规则导引与推理技术主要包括自动聚类和规则挖掘两部分。
自动聚类就是给定一个实例的几个属性,设计合适的算法,找到和该实例属性最相似的实例。
规则挖掘也叫做规则求解,是利用规则导引和推理技术寻找规则的过程。
12、智能检索技术智能检索是智能计算机的重要功能之一。
集成学习方法在机器学习领域,集成学习方法是一种常用的技术,它通过结合多个基本模型的预测结果,来获得更好的预测性能。
集成学习方法通常能够降低模型的方差,提高模型的泛化能力,因此在实际应用中得到了广泛的应用。
本文将介绍集成学习的基本原理、常见的集成学习方法以及其在实际问题中的应用。
首先,我们来了解一下集成学习的基本原理。
集成学习通过结合多个基本模型的预测结果,来获得更好的预测性能。
这些基本模型可以是同质的,也可以是异质的。
同质的基本模型指的是使用相同的学习算法,但在不同的子数据集上进行训练得到的模型;而异质的基本模型则是使用不同的学习算法得到的模型。
通过对多个基本模型的预测结果进行组合,集成学习可以降低模型的方差,提高模型的泛化能力。
接下来,我们将介绍一些常见的集成学习方法。
首先是Bagging方法,它是一种并行式的集成学习方法,通过对训练集进行有放回的采样,得到多个子数据集,然后在每个子数据集上训练一个基本模型,最后将这些基本模型的预测结果进行平均或投票来得到最终的预测结果。
Bagging方法通常能够降低模型的方差,提高模型的泛化能力。
另一种常见的集成学习方法是Boosting方法,它是一种串行式的集成学习方法,通过对训练集进行加权,每次训练一个基本模型,然后根据基本模型的表现对训练样本进行调整,最终将多个基本模型进行加权组合得到最终的预测结果。
Boosting方法通常能够降低模型的偏差,提高模型的泛化能力。
除了Bagging和Boosting方法之外,还有一些其他的集成学习方法,如随机森林、AdaBoost、Gradient Boosting等,它们都在不同的场景下得到了广泛的应用。
最后,我们将介绍一些集成学习方法在实际问题中的应用。
在实际问题中,集成学习方法通常能够取得比单一模型更好的预测性能。
例如,在分类问题中,通过集成多个基本分类器,可以得到更准确的分类结果;在回归问题中,通过集成多个基本回归模型,可以得到更准确的预测结果。
机器学习的集成学习和迁移学习机器学习领域中,集成学习和迁移学习是两个重要的技术。
它们通过整合多个模型的预测结果和利用已有的知识来提高机器学习的性能。
本文将分别介绍集成学习和迁移学习的概念、方法和应用,帮助读者更好地理解和应用这两种学习方法。
1. 集成学习集成学习(Ensemble Learning)是一种将多个不同的机器学习模型组合在一起,通过投票、加权等方式来综合这些模型的预测结果的技术。
它的基本思想是通过将多个模型的预测结果进行集成,从而得到比单个模型更准确、更稳定的预测结果。
常见的集成学习方法包括投票法(Voting)、堆叠法(Stacking)、装袋法(Bagging)和提升法(Boosting)等。
投票法通过对多个模型的预测结果进行投票,选取得票最多的结果作为最终预测结果;堆叠法则是将多个模型的预测结果作为新的特征输入给另一个模型进行最终的预测;装袋法通过对训练集进行自助采样来得到多个不同的子训练集,再用这些子训练集分别训练不同的模型,并将它们的预测结果进行集成;提升法则是通过反复迭代训练多个模型,在每次迭代中都根据前一轮的预测错误来调整训练样本的权重,以产生一个更准确的预测模型。
集成学习在许多机器学习任务中都取得了显著的性能提升。
例如,在分类任务中,多个基分类器的集成可以减少分类误差、提高泛化性能;在回归任务中,集成模型可以减小预测误差、提高预测精度。
同时,集成学习也可以提高模型的鲁棒性,减少模型对训练数据的过拟合问题。
2. 迁移学习迁移学习(Transfer Learning)是一种将已学习的知识迁移到新任务中的学习方法。
它通过利用源领域的知识和数据来辅助目标领域的学习任务,从而提高目标任务的性能。
迁移学习的基本假设是,不同领域之间存在一定的相关性或共享的结构。
因此,通过将源领域的知识转移到目标领域,可以减少在目标领域收集大量数据的需求,缩短训练时间,并提高学习算法的泛化性能。
迁移学习主要有三种类型:基于实例的迁移学习、基于特征的迁移学习和基于模型的迁移学习。
集成学习算法总结1、集成学习概述1.1 集成学习概述集成学习在机器学习算法中具有较⾼的准去率,不⾜之处就是模型的训练过程可能⽐较复杂,效率不是很⾼。
⽬前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林。
1.2 集成学习的主要思想集成学习的主要思想是利⽤⼀定的⼿段学习出多个分类器,⽽且这多个分类器要求是弱分类器,然后将多个分类器进⾏组合公共预测。
核⼼思想就是如何训练处多个弱分类器以及如何将这些弱分类器进⾏组合。
1.3、集成学习中弱分类器选择⼀般采⽤弱分类器的原因在于将误差进⾏均衡,因为⼀旦某个分类器太强了就会造成后⾯的结果受其影响太⼤,严重的会导致后⾯的分类器⽆法进⾏分类。
常⽤的弱分类器可以采⽤误差率⼩于0.5的,⽐如说逻辑回归、SVM、神经⽹络。
1.4、多个分类器的⽣成可以采⽤随机选取数据进⾏分类器的训练,也可以采⽤不断的调整错误分类的训练数据的权重⽣成新的分类器。
1.5、多个弱分类区如何组合基本分类器之间的整合⽅式,⼀般有简单多数投票、权重投票,贝叶斯投票,基于D-S证据理论的整合,基于不同的特征⼦集的整合。
2、Boosting算法2.1 基本概念Boosting⽅法是⼀种⽤来提⾼弱分类算法准确度的⽅法,这种⽅法通过构造⼀个预测函数系列,然后以⼀定的⽅式将他们组合成⼀个预测函数。
他是⼀种框架算法,主要是通过对样本集的操作获得样本⼦集,然后⽤弱分类算法在样本⼦集上训练⽣成⼀系列的基分类器。
他可以⽤来提⾼其他弱分类算法的识别率,也就是将其他的弱分类算法作为基分类算法放于Boosting 框架中,通过Boosting框架对训练样本集的操作,得到不同的训练样本⼦集,⽤该样本⼦集去训练⽣成基分类器;每得到⼀个样本集就⽤该基分类算法在该样本集上产⽣⼀个基分类器,这样在给定训练轮数 n 后,就可产⽣ n 个基分类器,然后Boosting框架算法将这 n个基分类器进⾏加权融合,产⽣⼀个最后的结果分类器,在这 n个基分类器中,每个单个的分类器的识别率不⼀定很⾼,但他们联合后的结果有很⾼的识别率,这样便提⾼了该弱分类算法的识别率。
掌握机器学习中的集成学习和深度强化学习算法集成学习和深度强化学习是机器学习领域中的两个重要研究方向。
本文将介绍集成学习和深度强化学习的基本概念、算法原理和应用领域。
一、集成学习集成学习(Ensemble Learning)是一种通过结合多个基学习器来提高机器学习算法性能的方法。
集成学习的基本思想是“三个臭皮匠,赛过诸葛亮”,通过将多个弱学习器集合在一起,形成一个强学习器,从而提高预测性能。
常见的集成学习方法包括投票法、平均法和Bagging、Boosting 等。
投票法是指通过多个弱学习器进行投票来决定最终的预测结果。
平均法则是将多个弱学习器的预测结果进行平均,作为最终的预测结果。
而Bagging和Boosting是将多个基学习器进行整合,分别通过并行和串行的方式进行训练,从而提高模型的泛化能力。
集成学习的应用非常广泛,其中最著名的应用之一是随机森林(Random Forest)。
随机森林是一种基于决策树的集成学习算法,通过多个决策树的投票或平均来进行分类或回归任务。
随机森林具有较强的鲁棒性和泛化能力,在各种实际应用中取得了良好的效果。
二、深度强化学习深度强化学习(Deep Reinforcement Learning)是结合深度学习和强化学习的一种方法。
强化学习是一种通过智能体在环境中执行动作并得到奖励信号,以达到最大化累积奖励的学习方法。
深度学习则是一种模仿人脑神经网络的学习方法,利用多层神经网络对输入特征进行高层抽象和表示学习。
深度强化学习的核心是使用深度神经网络来近似值函数或者策略函数。
一种经典的深度强化学习算法是深度Q网络(Deep Q-Network,DQN)。
DQN通过深度神经网络来逼近动作值函数(Q函数),从而实现智能体在环境中选取最优动作。
DQN具有较强的逼近能力和泛化能力,在很多领域,特别是游戏领域取得了非常好的效果。
深度强化学习在很多领域都有着广泛的应用。
例如,在机器人领域,深度强化学习可以用于实现机器人的自主导航和控制;在自然语言处理和机器翻译领域,深度强化学习可以用于语言模型的训练和优化;在金融领域,深度强化学习可以通过学习交易模式来进行股票交易。
集成学习名词解释集成学习,是指在教学过程中有效地使用各种来自不同地方、不同类型的信息源的数据和其他材料,以形成一个完整的学习环境。
它具有对课堂情景进行分析和反思的能力,有助于促进学习者之间的合作。
通常,在课堂上,教师与学生共同构建这样一个完整的学习环境,并在该学习环境中交流和处理各种信息,从而达到最佳的学习效果。
在信息化时代,各种学习资源纷至沓来,比如电视节目、录像带、互联网信息、广播、书籍等,并且这些资源是动态的、相关的、随时更新的。
信息源可以由学习者自己采集、加工和创造,或是由专门的信息工作人员收集后提供给学习者。
信息化环境中所拥有的大量信息是知识学习中不可缺少的,这是传统学习所无法比拟的优势。
一般来说,信息化学习主要体现为如下四个特征:( 1)以计算机或多媒体辅助学习;( 2)运用网络环境开展协作学习;( 3)发挥网络环境的即时性特点;( 4)以数字化知识为基础进行有效的评价。
信息技术支持的集成学习。
信息技术对学习的支持主要体现在通过信息系统的应用,改变了传统学习中“教”与“学”的传统方式。
学习者借助于学习系统的辅助,能够随时获取、接受、交流各种类型的信息资源,其学习内容也不再局限于教科书或单一课件的局部,因此,集成学习是对传统的“个别化学习”的拓展。
利用多种方式、多种渠道搜集学习资源,按照一定的主题将资源集成起来,从而组成一个学习系统,这就是信息化集成学习的关键。
信息化集成学习的具体做法有三种:( 1)网上下载;( 2)网上购买;( 3)在线收看。
运用多种方式、多种渠道搜集学习资源,并按照一定的主题将资源集成起来,形成一个学习系统,这就是信息化集成学习的关键。
信息化集成学习的具体做法有三种:( 1)网上下载;( 2)网上购买;( 3)在线收看。
利用多种方式、多种渠道搜集学习资源,并按照一定的主题将资源集成起来,形成一个学习系统,这就是信息化集成学习的关键。
利用多种方式、多种渠道搜集学习资源,并按照一定的主题将资源集成起来,形成一个学习系统,这就是信息化集成学习的关键。
集成学习方法集成学习是一种通过结合多个模型来完成学习任务的机器学习方法。
它通过整合多个模型的预测结果,从而获得更加准确和稳定的预测结果。
集成学习方法已经在各种机器学习任务中取得了显著的成功,包括分类、回归、特征选择等。
集成学习方法的核心思想是“三个臭皮匠赛过诸葛亮”。
即使单个模型可能存在局限性,但通过结合多个模型的预测结果,可以弥补单个模型的不足,从而获得更加鲁棒和准确的预测结果。
在实际应用中,集成学习方法通常能够取得比单个模型更好的性能。
目前,集成学习方法主要分为两大类,bagging和boosting。
bagging方法通过随机抽样的方式训练多个模型,然后将它们的预测结果进行平均或投票。
这样可以降低模型的方差,从而提高整体的预测准确度。
而boosting方法则是通过迭代训练的方式,每一轮训练都会根据上一轮的结果调整样本的权重,从而逐步提高模型的准确度。
除了bagging和boosting,还有一些其他的集成学习方法,比如stacking和blending。
这些方法都有各自的特点和适用场景,可以根据具体的任务选择合适的集成学习方法。
在实际应用中,集成学习方法已经被广泛应用于各种领域。
比如在金融领域,可以利用集成学习方法来进行信用评分和风险控制;在医疗领域,可以利用集成学习方法来进行疾病诊断和预测;在电商领域,可以利用集成学习方法来进行用户行为分析和推荐系统。
总的来说,集成学习方法是一种强大的机器学习方法,它能够通过整合多个模型的预测结果,从而获得更加准确和稳定的预测结果。
在实际应用中,可以根据具体的任务选择合适的集成学习方法,并结合领域知识和数据特点来进行模型的构建和优化。
希望本文对集成学习方法有所帮助,谢谢阅读!。
集成学习综述梁英毅摘要 机器学习方法在生产、科研和生活中有着广泛应用,而集成学习则是机器学习的首要热门方向[1]。
集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。
本文对集成学习的概念以及一些主要的集成学习方法进行简介,以便于进行进一步的研究。
一、 引言机器学习是计算机科学中研究怎么让机器具有学习能力的分支,[2]把机器学习的目标归纳为“给出关于如何进行学习的严格的、计算上具体的、合理的说明”。
[3]指出四类问题的解决对于人类来说是困难的甚至不可能的,从而说明机器学习的必要性。
目前,机器学习方法已经在科学研究、语音识别、人脸识别、手写识别、数据挖掘、医疗诊断、游戏等等领域之中得到应用[1, 4]。
随着机器学习方法的普及,机器学习方面的研究也越来越热门,目前来说机器学习的研究主要分为四个大方向[1]: a) 通过集成学习方法提高学习精度;b) 扩大学习规模;c) 强化学习;d) 学习复杂的随机模型;有关Machine Learning 的进一步介绍请参考[5, 1,3, 4, 6]。
本文的目的是对集成学习的各种方法进行综述,以了解当前集成学习方面的进展和问题。
本文以下内容组织如下:第二节首先介绍集成学习;第三节对一些常见的集成学习方法进行简单介绍;第四节给出一些关于集成学习的分析方法和分析结果。
二、 集成学习简介1、 分类问题分类问题属于概念学习的范畴。
分类问题是集成学习的基本研究问题,简单来说就是把一系列实例根据某种规则进行分类,这实际上是要寻找某个函数)(x f y =,使得对于一个给定的实例x ,找出正确的分类。
机器学习中的解决思路是通过某种学习方法在假设空间中找出一个足够好的函。
y h f h 2、 什么是集成学习传统的机器学习方法是在一个由各种可能的函数构成的空间(称为“假设空间”)中寻找一个最接近实际分类函数的分类器h [6]。
单个分类器模型主要有决策树、人工神经网络、朴素贝叶斯分类器[6]等等。
集成学习的思路是在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类[8,9],以取得比单个分类器更好的性能。
如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。
f 图表 1表示了集成学习的基本思想。
图表 1中的集成分类器包括了N 个单一的人工神经网络分类器,对于同样的输入,N 个人工神经网络分别给出各自的输出(),然后这些输出通过整合以后得到集成分类器整体的输出结果作为最终分类。
n O O O ,,,21L图表 1 人工神经网络集成示意在各种文献中集成学习(Ensemble Learning )也被称为committee 、classifier fusion 、combination 、aggregation 等等[9],但是他们都是指把一系列的学习器集成起来共同解决一个问题。
3、 为什么集成学习有效Thomas G . Dietterich [8, 7]指出了集成学习有效可以归为三个方面的原因:统计上、计算上和表示上:a)统计上的原因对于一般的学习任务,往往要搜索的假设空间十分巨大,但是能够用于训练分类器的训练集中实例个数不足够用来精确地学习到目标假设,这个时候学习的结果便可能是一系列满足训练集的假设,而学习算法之能够选择这些假设的其中之一作为学习到的分类器进行输出。
然而通过机器学习的过拟合问题[6]我们看到,能够满足训练集的假设不一定在实际应用中有同样好的表现,这样学习算法选择哪个假设进行输出的时候就面临着一定的风险,把多个假设集成起来能够降低这种风险(这可以理解为通过集成使得各个假设和目标假设之间的误差得到一定程度的抵消)。
b)计算上的原因已经证明了在人工神经网络学习和决策树学习中,学习到最好的人工神经网络或者是决策树是一个NP-hard问题[1 , 8],其他的分类器模型也面临着类似的计算复杂度的问题。
这使得我们只能用某些启发式的方法来降低寻找目标假设的复杂度,但这样的结果是找到的假设不一定是最优的。
通过把多个假设集成起来能够使得最终的结果更加接近实际的目标函数值。
c)表示上的原因由于假设空间是人为规定的,在大多数机器学习的应用场合中实际目标假设并不在假设空间之中,如果假设空间在某种集成运算下不封闭,那么我们通过把假设空间中的一系列假设集成起来就有可能表示出不在假设空间中的目标假设。
关于表示上的原因比较特别,进一步的说明可以参考[8, 9]。
4、集成学习有效的条件虽然以上几方面的原因使得集成学习可能取得更好的学习效果,但是并不是所有的集成方式都有效的,集成学习有效的条件是每个单一的学习器错误率都应当低于0.5,否则集成的结果反而会提高错误率[11, 12, 9, 10]。
此外,进行集成学习的每个分类器还应当各不相同,这个要求可以这样理解:如果每个基本分类器分类结果差不多,则集成后的分类器整体和单个分类器做出的决策实际上没有什么差异,这样集成后的分类器就难以保证比单个分类器有更好的性能了。
三、 集成学习方法介绍从前面对集成学习的介绍可以看出,考察一个集成学习方法的时候应该考虑以下几方面的问题:a)基本分类器之间是什么关系?b)怎么样生成多个不同的基本分类器?c)如何把多个基本分类器的分类结果整合起来?我们下面将以这三个问题为线索对现在主要的集成学习方法进行简单的介绍:1、基本分类器之间的关系按照基本分类器之间的种类关系可以把集成学习方法划分为异态集成学习和同态集成学习两种[10]。
a)异态集成学习异态集成学习指的是使用各种不同的分类器进行集成,异态集成学习的两个主要代表是叠加法(Stack Generalization)[13]和元学习法(Meta Learning)[14]。
叠加法的思想是把基本学习器分布在多个层次上,用多层的学习器来完成学习任务[13]。
第一层学习器按照一般学习器的方式来进行分类预测,然后第一层的预测结果作为第二层的输入由第二层再进行预测……William W. Cohen等在[15]中利用叠加法的思想构造了一种新的串行学习算法,并且指出这种串行学习方法比不串行的单个学习器性能上有所改进。
[13] 中对叠加法进行了详细的介绍。
元学习法的思想是训练一个元分类器来对所有的基本学习器的输出进行处理,最终得到问题的输出。
元学习法主要有仲裁法(arbiter)和合并法(combiner)两种,仲裁法是元分类器从所有基本分类器的输出中选择合理的结果作为输出,例如投票方式;合并法是用某种组合方法把所有基本分类器的输出合并成最终输出,Bagging、Boosting等集成方法都是属于合并法。
[14]中对元学习法给出了一个综述。
关于异态分类器的进一步资料可以参考[16]。
b)同态集成学习同态集成学习是指集成的基本分类器都是同一种分类器,只是这些基本分类器之间的参数有所不同。
同态集成的分类器包括有朴素贝叶斯集成、决策树集成[17]、人工神经网络集成[18, 19, 20]、K-近邻集成等等[10],其中以决策树集成和人工神经网络集成居多。
2、不同的基本分类器的获得方式基本分类器的多样性是评价集成学习算法的重要标准[10],因此如何获取不同的基本分类器对集成学习的效果有着重要影响。
对于异态集成学习方法,基本分类器的不同来源于他们本身种类的不同;对于同态集成学习方法,基本分类器的不同来自于多种可能,以下把不同基本分类器的获取方式划分为五类,并分别予以说明:a)基本分类器种类不同如果一种集成学习方式采用异态集成的方案,则所得到的基本分类器很明显不同。
但是由于有效的分类器基本模型并不多,因此进行异态集成学习的时候往往需要对于每一种分类器都给出若干不同的实例,这些同一种分类器的不同实例的产生需要用到下面几种获取方式。
b)对训练数据进行处理i.BaggingBagging(Bootstrap AGGregatING)是Breiman在[21]中提出的,其思想是对训练集有放回地抽取训练样例,从而为每一个基本分类器都构造出一个跟训练集同样大小但各不相同的训练集,从而训练出不同的基本分类器。
Bagging算法如图表2所示:图表 2 Bagging算法示意Bagging是基于对训练集进行处理的集成方法中最简单、最直观的一种。
使用Bagging 算法的时候,理论上每个基本分类器的训练集中有63.2%的重复样例[21, 10]。
Breiman在[21]中同时指出,要使得Bagging有效,基本分类器的学习算法必须是不稳定的,也就是说对训练数据敏感。
基本分类器的学习算法对训练数据越敏感,Bagging的效果越好,因此对于决策树和人工神经网络这样的学习算法Bagging是相当有效的。
另外由于Bagging算法本身的特点,使得Bagging算法非常适合用来并行训练多个基本分类器,这也是Bagging算法的一大优势。
那么使用Bagging算法的时候应该用多少个基本分类器合适呢?Breiman指出基本分类器数目应当随着分类种数增多而增加。
[22, 23] 给出了Bagging算法和其他集成算法的实验结果比较。
关于Bagging的更多资料请参考[24, 25 , 23, 8, 16]等等。
ii.BoostingBoosting最先由Robert T. Schapire在[26]中提出,其思想是对每那些容易分类错的训练实例加强学习,就好像一个人背英语单词一样,首先第一遍背完以后有一些容易记住的单词就记住了,还有一些不容易记住的,则第二遍的时候对那些不容易记住的单词多看几眼,第三遍又对第二遍还记不住的单词再多看几眼……具体实施的时候Boosting方法是这样进行的:首先给每一个训练样例赋予相同的权重,然后训练第一个基本分类器并用它来对训练集进行测试,对于那些分类错误的测试样例提高其权重(实际算法中是降低分类正确的样例的权重),然后用调整后的带权训练集训练第二个基本分类器,然后重复这个过程直到最后得到一个足够好的学习器。
图表3给出了最常用的Boosting算法——由Yaov Freund和Schapire[27]共同提出的AdaBoost(Adaptive Boosting)算法的描述。
图表 3 AdaBoost算法Boosting的基本目标是把一个弱学习器转化为一个任意高精度的学习器[26],什么是弱学习器呢?Schapire指出弱学习器是指一个学习效果比随机分类略好的学习器[26]。
Boosting 方法为什么有效呢?近年的研究指出Boosting算法实际上是一个逐阶段最小化一个特定的误差函数的梯度下降过程[8]。