集成学习原理:Adaboost

集成学习通过从大量的特征中挑出最优的特征,并将其转化为对应的弱分类器进行分类使用,从而达到对目标进行分类的目的。

核心思想

它是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些若分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集中每个样本的分类是否正确,以及上次总体分布的准确率,来确定每个样本的权值,将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最终的分类器。使用Adaboost可以排除一些不必要的训练数据特征,并主要集中于关键数据。

训练过程

算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权值;而对于分类正确的样本,降低其对应的权值,这样分错的样本就被突出出来,从而得到一个新的样本分布。在新的样本分布下,再次对弱分类器进行训练,得到另一个弱分类器。以此类推,经过T次循环,得到T个弱分类器,把这T个弱分类器按照一定的权值叠加(boost)起来,得到最终需要的强分类器。

种类

时间: 2024-09-29 22:06:33

集成学习原理:Adaboost的相关文章

集成学习之Adaboost算法原理小结

在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,另一类是个体学习器之间不存在强依赖关系.前者的代表算法就是是boosting系列算法.在boosting系列算法中, Adaboost是最著名的算法之一.Adaboost既可以用作分类,也可以用作回归.本文就对Adaboost算法做一个总结. 1. 回顾boosting算法的基本原理 在集成学习原理小结中,我们已经讲到了boosting算法系列的基本思想,如下图: 从图中

1. 集成学习原理

1. 前言 我们之前介绍了很多的机器学习的算法,大家有没想过一个问题用所有的方法都试一遍,然后拿结果一起再来判断.其实这种思路在机器学习中完全是可以的,并且有了自己的一个阵营,就是集成学习.集成学习顾名思义是结合了好多的算法一起来进行预测.就像我们想看一部电影前,问问身边看过的几个朋友对这部电影的评价,然后作出一个综合的判断,要不要看这部电影. 2. 集成学习原理 我们之所以要把多个学习器组合在一起,是因为单个学习器往往可能效果不那么好,而多个学习器可以互相帮助,各取所长,就有可能一起决策,把一

谈谈模型融合之一 —— 集成学习与 AdaBoost

前言 前面的文章中介绍了决策树以及其它一些算法,但是,会发现,有时候使用使用这些算法并不能达到特别好的效果.于是乎就有了集成学习(Ensemble Learning),通过构建多个学习器一起结合来完成具体的学习任务.这篇文章将介绍集成学习,以及其中的一种算法 AdaBoost. 集成学习 首先先来介绍下什么是集成学习: 构建多个学习器一起结合来完成具体的学习任务,常可获得比单一学习器显著优越的泛化性能,对"弱学习器" 尤为明显(三个臭皮匠,顶个诸葛亮) 也称为Multi-Classif

机器学习集成学习原理

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

集成学习之Boosting —— AdaBoost原理

集成学习之Boosting -- AdaBoost原理 集成学习之Boosting -- AdaBoost实现 集成学习大致可分为两大类:Bagging和Boosting.Bagging一般使用强学习器,其个体学习器之间不存在强依赖关系,容易并行.Boosting则使用弱分类器,其个体学习器之间存在强依赖关系,是一种序列化方法.Bagging主要关注降低方差,而Boosting主要关注降低偏差.Boosting是一族算法,其主要目标为将弱学习器"提升"为强学习器,大部分Boosting

集成学习——Boosting(GBDT,Adaboost,XGBoost)

集成学习中还有一个重要的类别是Boosting,这个是基学习器具有较强依赖串行而成的算法,目前主流的主要有三个算法:GBDT,Adaboost,XGBoost 这个链接可以看看:https://www.cnblogs.com/willnote/p/6801496.html boosting算法的原理如下: 1.GBDT 2.XGBoost 3.Adaboost Adaboost的基本思想是这样的: 1.一开始所有的样本权重全部相等,训练处第一个基分类器,根据这个基分类器对样本进行划分 2.从第二

集成学习实战——Boosting(GBDT,Adaboost,XGBoost)

集成学习实践部分也分成三块来讲解: sklearn官方文档:http://scikit-learn.org/stable/modules/ensemble.html#ensemble 1.GBDT 2.XGBoost 3.Adaboost 在sklearn中Adaboost库分成两个,分别是分类和回归AdaBoostClassifier和AdaBoostRegressor 对于集成学习我们参数部分也分成框架跟基学习器的参数两种 1.框架部分: AdaBoostClassifier:http://

集成学习之Boosting —— Gradient Boosting原理

集成学习之Boosting -- AdaBoost原理 集成学习之Boosting -- AdaBoost实现 集成学习之Boosting -- Gradient Boosting原理 集成学习之Boosting -- Gradient Boosting实现 上一篇介绍了AdaBoost算法,AdaBoost每一轮基学习器训练过后都会更新样本权重,再训练下一个学习器,最后将所有的基学习器加权组合.AdaBoost使用的是指数损失,这个损失函数的缺点是对于异常点非常敏感,(关于各种损失函数可见之前

统计学习方法--提升方法adaBoost算法(集成学习)

1.主要内容 介绍集成学习,然后讲述boosting和bagging的区别与联系,同时对adaBoost进行推导然后进行gbdt的推导,最后比较随机森林和gdbt的区别和联系. 2.集成学习 集成学习(ensamble learning)通过构建多个学习器来完成任务.集成学习的一般结构:先产生一组"个体学习器",然后再用某种策略将这些个体学习器进行联系起来,个体学习器由现有的一个算法产生,比如说c4.5决策树,bp神经网络等.根据集成学习中个体学习器是否相同可以分为同质集成和已质集成,