adaboost

wqbin wqbin     2023-02-19     612

关键词:

前言

集成学习按照个体学习器之间是否存在依赖关系可以分为两类:

第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成。代表算法是boosting系列算法。在boosting系列算法中, Adaboost是最著名的算法之一。

第二类是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。。

Adaboost既可以用作分类,也可以用作回归。

正题

简介

AdaBoost是集成学习算法boosting的一种实现,它用弱分类器的线性组合来构造强分类器,用于二分类问题。

与随机森林进行样本抽样来训练多个分类器不同,Adaboost算法在训练时样本具有权重,并且会在训练过程中动态调整,被前面的弱分类器错分的样本会加大权重,因此算法会更加关注上个分类器错分的样本。

计算流程:

我们以分类问题作为案例

(1)初始化样本权重值,所有样本的初始权重相等:

技术分享图片

 

 2)循环,对依次训练每个弱分类器:

1.

 训练一个弱分类器,并计算它对训练样本集的错误率:

技术分享图片

学习器权重系数,对于二元分类问题,第t个弱分类器f(x)的权重系数为

技术分享图片

上面公式可以看到分类误差率et越大,则对应的弱分类器权重系数αt越小。也就是说,误差率小的弱分类器权重系数越大。

2.

更新所有样本的权重:

技术分享图片

其中技术分享图片为归一化因子,它是所有样本的权重之和:

技术分享图片

结束循环

3)最后得到强分类器(Adaboost分类采用的是加权表决法)

 

 技术分享图片

全部流程如图所示:

技术分享图片

---------------------------------------------------------------------------------------------------------------------------------------------------

挖坑未完待续

 

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

Boostingisaverypowerfultechniqueofalogrithmsensembling.Itsoutstandingperformanceachievedbycombiningsomeormanyweakclassifierstomakeastrongone.likeBagging,italsovotetojudgeasample‘scatagory,butthereisas 查看详情

adaboost周志华

  查看详情

使用 Adaboost 的决策树/树桩

】使用Adaboost的决策树/树桩【英文标题】:Decisiontrees/stumpswithAdaboost【发布时间】:2016-12-1405:16:13【问题描述】:我刚开始使用Adaboost学习决策树,并正在OpenCV上进行尝试,并有一些问题。增强型决策树我了解,当我将Adaboost与决... 查看详情

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

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

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

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

为啥 AdaBoost 不适用于决策树?

】为啥AdaBoost不适用于决策树?【英文标题】:WhydoesAdaBoostnotworkwithDecisionTree?为什么AdaBoost不适用于决策树?【发布时间】:2019-06-0812:50:13【问题描述】:我正在使用带有DecisionTree和AdaBoost的sklearn0.19.1。我有一个可以正常工作的... 查看详情

机器学习算法-adaboost

本章内容组合类似的分类器来提高分类性能应用AdaBoost算法处理非均衡分类问题主题:利用AdaBoost元算法提高分类性能1.基于数据集多重抽样的分类器-AdaBoost长处泛化错误率低,易编码,能够应用在大部分分类器上,无需參数调整... 查看详情

adaboost理解

AdaBoost是一种准确性很高的分类算法,它的原理是把K个弱分类器(弱分类器的意思是该分类器的准确性较低),通过一定的组合(一般是线性加权进行组合),组合成一个强的分类器,提高分类的准确性。因此,要想使用AdaBoost,需要... 查看详情

人脸检测——基于机器学习3adaboost算法

简介主要工作AdaBoost算法的人脸检测算法包含的主要工作:(1)通过积分图快速求得Haar特征;(2)利用AdaBoost算法从大量的特征中选择出判别能力较强的少数特征用于人脸检测分类;(3)提出一个级联结构模型,将若干个弱分... 查看详情

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

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

利用adaboost提高分类性能

Adaboost为一种集成算法,是对其他算法进行组合的一种方式。本文将通过单层决策树分类器建立一个Adaboost优化算法,即利用多个弱分类器构建一个强分类器。弱分类器:分类器性能比随机猜测要略好,但是也不会好太多。强分... 查看详情

adaboost算法的原理与推导

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

adaboost

fromnumpyimport*‘‘‘生成数据‘‘‘defcreateData():dataMat=matrix([[0.],[1.],[2.],[3.],[4.],[5.],[6.],[7.],[8.],[9.]])classLabels=[1.0,1.0,1.0,-1.0,-1.0,-1.0,1.0,1.0,1.0,-1.0]returndataMat,classLabels‘‘‘根据当前阈值 查看详情

这种 AdaBoost 行为是不是正确?

】这种AdaBoost行为是不是正确?【英文标题】:IsthisAdaBoostbehaviorcorrect?这种AdaBoost行为是否正确?【发布时间】:2014-08-0705:28:31【问题描述】:我正在按照Viola-Jones论文中的描述实施AdaBoost,以供我自己启迪。在对算法进行单元测... 查看详情