adaboost原理与理论

嘟嘟_猪 嘟嘟_猪     2022-08-08     407

关键词:

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。对adaBoost算法的研究以及应用大多集中于分类问题,同时也出现了一些在回归问题上的应用。就其应用adaBoost系列主要解决了: 两类问题、多类单标签问题、多类多标签问题、大类单标签问题、回归问题。它用全部的训练样本进行学习。

                  

                                   

   

 

Adaboost算法优缺点:

优点

1)  Adaboost是一种有很高精度的分类器

2)  可以使用各种方法构建子分类器,Adaboost算法提供的是框架

3)  当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单

4)  简单,不用做特征筛选

5)  不用担心overfitting(过度拟合)

缺点

1)  容易受到噪声干扰,这也是大部分算法的缺点

2)  训练时间过长

3)  执行效果依赖于弱分类器的选择

 

#########################Weka###########################

Adaboost m1是一个非常受欢迎的二元分类算法

 

 

#################R语言############################

library(adabag)

## rpart library should be loaded

data(iris)

iris.adaboost <- boosting(Species~., data=iris, boos=TRUE, mfinal=5)

iris.adaboost

 

 

## Data Vehicle (four classes)

data(Vehicle)

l <- length(Vehicle[,1])

sub <- sample(1:l,2*l/3)

mfinal <- 10

maxdepth <- 5

 

Vehicle.rpart <- rpart(Class~.,data=Vehicle[sub,],maxdepth=maxdepth)

Vehicle.rpart.pred <- predict(Vehicle.rpart,newdata=Vehicle[-sub, ],type="class")

tb <- table(Vehicle.rpart.pred,Vehicle$Class[-sub])

error.rpart <- 1-(sum(diag(tb))/sum(tb))

tb

error.rpart

 

Vehicle.adaboost <- boosting(Class ~.,data=Vehicle[sub, ],mfinal=mfinal, coeflearn="Zhu",

    control=rpart.control(maxdepth=maxdepth))

Vehicle.adaboost.pred <- predict.boosting(Vehicle.adaboost,newdata=Vehicle[-sub, ])

Vehicle.adaboost.pred$confusion

Vehicle.adaboost.pred$error

 

#comparing error evolution in training and test set

errorevol(Vehicle.adaboost,newdata=Vehicle[sub, ])->evol.train

errorevol(Vehicle.adaboost,newdata=Vehicle[-sub, ])->evol.test

 

plot.errorevol(evol.test,evol.train)

 

 

 

 

adaboost算法的原理与推导

 0引言  一直想写Adaboost来着,但迟迟未能动笔。其算法思想虽然简单“听取多人意见,最后综合决策”,但一般书上对其算法的流程描述实在是过于晦涩。昨日11月1日下午,邹博在我组织的机器学习班第8次课上... 查看详情

机器学习集成学习(boosting)——adaboost提升算法(理论+图解+公式推导)

...待着您的光临~文章目录​​一、集成学习​​​​二、AdaBoost算法​​​​1.Boosting提升方法​​​​2.AdaBoost算法思想​​​​3.AdaBoost原理解释​​​​4.构造损失函数,求解参数​​​​5.前向分步算法​​2021人工智能领域新... 查看详情

adaboost算法的原理与推导——转载及修改完善

《Adaboost算法的原理与推导》一文为他人所写,原文链接: http://blog.csdn.net/v_july_v/article/details/40718799另外此文大部分是摘录李航的《统计学笔记》一书,原书下载链接:http://vdisk.weibo.com/s/z4UjMcqGpoNTw?from=page_100505_profile&wvr=6... 查看详情

adaboost人脸检测介绍:adaboost身世之谜

0.引言学习和使用AdaBoost算法来研究人脸检测有好几个月了,一直以来想对AdaBoost的算法和原理做一个总结,在网上也参考了很多牛人的博客和看了一些专业论文,总是觉得总结的不够全面和详细,因此想对AdaBoost的来龙去脉做一... 查看详情

opencv中的haar+adaboost:adaboost之dab与gab

...的文章将逐步开始介绍训练相关的内容。而本节主要介绍AdaBoost的理论,以及AdaBoost中的DAB与GAB算法,为后续讲解奠定基础。 (一)AdaBoost背景介绍  在了解AdaBoost之前,先介绍弱学习和强学习的概念:1.弱学习:识别错误... 查看详情

机器学习—adaboost和梯度提升树gbdt

1、Adaboost算法原理,优缺点:  理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。  Adaboost算法可以... 查看详情

adaboost算法的原理推导及解释(代码片段)

文章目录Adaboost算法的原理推导及解释前置知识:Boosting概述Boosting方法的基本思想Boosting方法的的学习方法核心部分:Adaboost算法的原理推导和解释Adaboost算法的基本思想Adaboost算法的算法流程Adaboost算法的原理推导及解释... 查看详情

adaboost算法的原理推导及解释(代码片段)

文章目录Adaboost算法的原理推导及解释前置知识:Boosting概述Boosting方法的基本思想Boosting方法的的学习方法核心部分:Adaboost算法的原理推导和解释Adaboost算法的基本思想Adaboost算法的算法流程Adaboost算法的原理推导及解释... 查看详情

adaboost算法原理分析和实例+代码(简明易懂)

Adaboost算法原理分析和实例+代码(简明易懂)【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/70995333  本人最初了解AdaBoost算法着实是花了几天时间,才明白他的基本原理。也许是自己能力有限吧,很... 查看详情

机器学习-分类器-adaboost原理

Adaboost原理          Adaboost(AdaptiveBoosting)是一种迭代算法,通过对训练集不断训练弱分类器,然后把这些弱分类器集合起来,构成强分类器。adaboost算法训练的过程中,初始化所有训练样例的具... 查看详情

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

...代表算法就是是boosting系列算法。在boosting系列算法中,Adaboost是最著名的算法之一。Adaboost既可以用作分类,也可以用作回归。本文就对Adaboost算法做一个总结。1.回顾boosting算 查看详情

机器学习之adaboost算法原理

...代表算法就是是boosting系列算法。在boosting系列算法中,Adaboost是最著名的算法之一。Adaboost 查看详情

集成学习之boosting——adaboost原理

集成学习之Boosting——AdaBoost原理集成学习之Boosting——AdaBoost实现集成学习大致可分为两大类:Bagging和Boosting。Bagging一般使用强学习器,其个体学习器之间不存在强依赖关系,容易并行。Boosting则使用弱分类器,其个体学习器之... 查看详情

adaboost原理和实现

上两篇说了决策树到集成学习的大概,这节我们通过adaboost来具体了解一下集成学习的简单做法。集成学习有bagging和boosting两种不同的思路,bagging的代表是随机森林,boosting比较基础的adaboost,高级一点有GBDT,在这里我也说下我... 查看详情

静态路由原理与配置——理论篇(代码片段)

静态路由原理与配置——理论篇目标:理解路由的原理学会配置静态路由和默认路由学习内容:①路由原理②路由器的工作原理③路由表的形成④静态路由和默认路由⑤路由器转发数据包的封装过程一、路由原理路由器工作在OSI... 查看详情

atitit.软件研发团队建设原理与概论理论

Atitit.软件研发团队建设原理与概论理论  培训 团队文化建设(内刊,ppt,书籍,杂志等) 梯队建设 技术储备人才的问题 团队建设--小红花评比. 团队建设--文化墙.doc 户外拓展  1. 团队建... 查看详情

adaboost提升算法从原理到实践

...可学习算法的算法。如何地这些弱算法进行提升是关键!AdaBoost算法是其中的一个代表。2.分类算法提升的思路:   1.找到一个弱分类器,分类器简单,快捷,易操作(如果它本身就很复杂, 查看详情

[转]容斥原理与多重集合{理论}

本文转自http://blog.csdn.net/ACdreamers/article/details/9923955原博主:ACdreamers首先介绍一个重要定理:设S是有k种类型对象的多重集合,每种元素均具有无限的重复数。那么S的r组合的个数等于:  问题一:多重集合的组合问题 ... 查看详情