技术标签: 集成学习 boosting bagging stacking
集成学习ensemble learning本身不是单独的学习算法,而是集众家之长,构建结合多个机器学习器完成学习任务。集成学习可以用于分类问题集成,回归问题集成,特征选择集成,异常点检测集成等。
1.集成学习概述
集成学习的思想:对于训练数据,通过若干个个体学习器,通过一定的结合策略,最终形成一个强学习器,用以完成学习任务。
集成学习有两个主要的问题,需要解决,第一个就是如何获得若干个学习器,第二个就是选择一种集成策略,将这些个体学习器集合成一个强学习器。
2.集成学习之个体学习器
集成学习的第一个问题,如何获得若干个学习器。第一种就是学习器都是一个种类的,或者是同质的如决策树学习器、神经网络学习器。第二种就是学习器不都是一个种类的,或者异质的。比如对分类问题的训练集采用SVM/LR/朴素贝叶斯等个体学习器,再通过某种结合策略来确定最终的分类强学习器。
目前,同质个体学习器,应用最广泛。应用最多的学习器模型,是CART和神经网络。按照个体学习器之间的依赖关系,可以分为两类。第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,代表算法是boosting系列算法,第二个是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging系列算法。另外还有一种stacking算法。
3.集成学习框架
目前,有三种常见的集成学习框架:bagging,boosting和stacking。这里我们直接摘抄大神的一部分内容。
bagging算法的弱学习器之间没有依赖关系,可以 并行生成。
当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。
在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。
参考文献:很棒的文章,具体的学习细节,请参考下面文章。本文只是一个自学文章。
来源:网络
第一次写博客,在机器学习的过程中CSDN上的博客帮助了我很多,在这里我也想分享下我对其中一些问题的看法。更重要的是想着在这里可以记录下点自己学习的过程,回过头来说不定也是美好的回忆 集成学习(ensemble learning) 集成学习指的,通过构建并结合多个学习器拉来完成学习任务. 个体与集成 集成学习的一般结构为:先产生一组个体学习器,再用某种策略将它们结合在一起。 上图中,若个体学习器若个...
在学习GBDT之前,先补(1)(2)两条基础知识,笔者就是因为这几个基础点的记忆不正确,导致理解起来困难重重。 (1) 梯度:梯度是什么 一句话:函数在梯度处,变化最快。(不用管方向) 参考网址: 梯度_百度百科 设二元函数 在平面区域D上具有一阶连续偏导数,则对于每一个点P(x,y)P(x,y)P(x,y)都可定出一个向量 ,该函数就称为函数 在点P(x,y)P(x,y)P(x,y)的梯度,记作...
Boosting Boosting策略在上一篇中有提到过,这里再说一遍。 Boosting策略的核心思想就是对错误分类的样本投入更大的关注。采用的是加法模型和向前分步算法,向前分步算法中的每一步都会改变样本的权重。 模型是加法模型、损失函数为指数函数、学习算法为前向分步算法的二类分类学习方法 一、AdaBoost简介 Boosting, 也称为增强学习或提...
在上一篇中,我们着重介绍了 集成学习的 Boosting 算法和Bagging算法 并介绍了它们的典型代表。 这一篇中我们将着重介绍 结合策略 和 多样性。让我们一起来看看吧。 四.结合策略 4.1 学习器结合的三方面好处: 从统计方面,降低因单一学习器误选导致的泛化性能不佳的风险; 从计算方面,减低陷入糟糕局部极小点的风险; 从表示方面,扩大假设空间,可能学得更好的近似。 4.2 三种结合策略 ...
一、集成学习方法的思想 在机器学习问题中,对于一个复杂的任务来说,能否将很多的机器学习算法组合在一起,这样计算出来的结果会不会比使用单一的算法性能更好?这样的思路就是集成学习方法。三个臭皮匠,顶个诸葛亮。实际操作中,集成学习把大大小小的多种算法融合在一起,共同协作来解决一个问题。这些算法可以是不同的算法,也可以是相...
一、集成学习法 在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。 集成方法是将几种机器学习技术组合...
一、集成学习 集成学习分为3个步骤: (1)找到误差互相独立的基分类器。 (2)训练基分类器 (3)合并基分类器的结果。(voting和stacking) 首先要说一下,对集成学习的理解,俗话说的好三个臭皮匠抵个诸葛亮,单个预测器的预测效果可能不是很好,但是结合多个预测器,预测的性能就会有所提高。集成学习是大类模型融合策略和方法的统称,包含多种集成学习思想。 二、voting(投票法) 现实生活中...
集成算法: 将多个分类器集成起来而形成的新的分类算法。这类算法又称元算法(meta-algorithm)。最常见的集成思想有两种bagging和boosting。 集成思想 : boosting:重赋权(re-weighting) --基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器并集成。 boosting的思想是 : 训练集(其中各个...
集成学习之bagging 思路 集成学习框架之bagging 思路 集成学习( Ensemble learning )是指组合多个模型,以获得更好的效果,使集成的模型具有更强的泛化能力。简单来说,集成学习是一种技术框架,其按照不同的思路来组合基础模型,从而达到其利断金的目的。 对于多个模型,如何组合这些模型,主要有以下几种不同的方法: ① 在测试集上找到表现最好的模型作为最终的预测模型; ② 对多...
综述 集体学习: 将不同的分类器组合起来。 先产生个体学习,在根据多个个体学习完成学习任务。 每个个体学习可以采用的算法可以不同 集成学习可能有不同的提升/不变/降低 这要求学习器: 单个个体不能太差 学习器之间要有差异/多样性 理论上来说,如果单个学习器之间相互独立,当个数很多的时候,集成学习的正确率非常高,趋近于满分 如何产生好而不同的个体学习器,是集成学习的核心问题 bagging 有放回 ...
I am inputting a text file (Line)(all strings). I am trying to make card_type to be true so it can enter the if statement, however, it never enters the IF statement. The output that comes out from the...
I'm trying to insert the following JSON data into a table on our SQL Server with python code. And if I could solve this with executing a SQL statement, I would be so happy. Because our Application ser...
I started learning spring recently and doing a simple demo of Instance factory but getting error. Java Bean: Interface: Factory: Spring config When I run the code by getting Bike Object from context, ...
Most hosts come with softwares or google analytics which allows you to know how a person got to your site, for example: a link on yelp.com or a facebook.com page link. But it is impossible for the sof...
We are using an oracle table as a simple event store, in this table we are saving the message ids (.Net GUID using a SequentialGuidComb) as RAW(16). We are writing a consuming application which needs ...