机器学习——提升方法adaboost算法,推导过程

baby-lily baby-lily     2022-12-08     412

关键词:

0提升的基本方法

  对于分类的问题,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类的分类规则(强分类器)容易的多。提升的方法就是从弱分类器算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据集的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

  这样,对于提升方法来说,有两个问题需要回答:一是在每一轮如何改变训练数据的权值或概率分布,二是如何将弱分类器组合成一个强分类器。对于第一个问题,AdaBoost的做法是提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类的样本的权值。如此,那些被分类错误的样本将更加受到关注。对于第二个问题,AdaBoost采取多数表决的法法,具体的,加大分类误差率小的弱分类器的权值,使其的作用较大,减小那些分类错误率大的分类器的权值,使其在表决中起较小的作用。

1.AdaBoost算法

AdaBoost算法从训练数据中学习一系列弱分类器或者基本分类器,并将这些分类器进行线性组合。

输入:训练数据集T=(x1,y1),(x2,y2),(x3,y3)......,y的类别为-1,1

输出:最终的分类器G(x)

  (1)初始化训练数据的权值分布

技术图片

  (2)对m=1,2,.....,M

      (a)使用具有权值分布的Dm训练数据集进行学习,得到基本分类器

技术图片

      (b)计算Gm(x)在训练数据集上的分类误差率

技术图片

        (c)计算Gm(x)的系数

技术图片

  这里的对数是自然对数

       (d)更新训练数据集的权值分布

技术图片

技术图片

  其中,Zm是归一化因子。

技术图片

  (3)构建基本的分类器的线性组合

技术图片

  得到最终的分类器:

技术图片

2算法详解

  对于算法做如下的解释:

  对于原始的数据集,假设其为均匀分布,则能够在原始数据集上面得到基本分类器。得到的权值通过改变分类误差率进而改变分类器的系数,对于基本分类器Gm(x)的系数am,am表示Gm(x)在最终分类器的重要性,当em<=0.5时,am>0,am随着em的减小而增大,所以分类误差率越小的基本分类器在最终的分类器的作用越大。

  M个分类器的加权表决,系数am表示了基本分类器GM(x)的重要性,am之和并不为1,由f(x)的符号决定实例x的类,f(x)的绝对值表示分类的确信度。

 

李航统计学习方法--8.提升方法(详细推导)

目录​​8.1提升方法AdaBoost算法​​​​8.1.1提升方法的基本思路​​​​8.1.2AdaBoost算法​​​​8.2AdaBoost算法的训练误差分析​​​​8.3AdaBoost算法的解释​​​​8.3.1前向分步算法​​​​8.3.2前向分步算法与AdaBoost​​​​8.4... 查看详情

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

...集成学习,然后讲述boosting和bagging的区别与联系,同时对adaBoost进行推导然后进行gbdt的推导,最后比较随机森林和gdbt的区别和联系。2、集成学习  集成学习(ensamblelearning)通过构建多个学习器来完成任务。集成学习的一般结... 查看详情

机器学习笔记_prml_adaboost算法的原理与推导

转自:http://blog.csdn.net/v_july_v/article/details/40718799 Adaboost算法的原理与推导 1Adaboost的原理1.1Adaboost是什么     AdaBoost,是英文"AdaptiveBoosting"(自适应增强)的缩写,由YoavFreund和Robert 查看详情

课时boost与adaboost

...正则项的定义目标函数的计算目标函数继续化简子树划分Adaboost误差上限方差与偏差Bagging能够减少训练方差,对于不剪枝的决策树、神经网络等学习器有良好的集成效果Boosting减少偏差,能够基于泛化能力较弱的学习器构造强学... 查看详情

图像算法研究---adaboost算法具体解释

本篇文章先介绍了提升放法和AdaBoost算法。已经了解的可以直接跳过。后面给出了AdaBoost算法的两个样例。附有详细计算过程。1、提升方法(来源于统计学习方法)  提升方法是一种经常使用的统计学习方法,应用十分广... 查看详情

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

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

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

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

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

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

adaboost算法详解及python实现python机器学习系列(十八)

文章目录1.AdaBoost算法简介2.AdaBoost算法逻辑详解2.1数据2.2带权错误率2.3损失函数与确定样本权重2.3确定模型权重2.4输出模型3.AdaBoost算法的python实现1.AdaBoost算法简介Boosting是机器学习的三大框架之一,其特点是,训练过程... 查看详情

adaboost算法

...考技术A链接:1.线性回归总结2.正则化3.逻辑回归4.Boosting5.Adaboost算法转自:原地址提升方法(boosting)是一种常用的统计学习方法,应用广泛且有效。在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器... 查看详情

一文详解机器学习中最好用的提升方法:boosting与adaboost(代码片段)

...f0c;它们都强大无比。而本文作者从最基础的Boosting概念到AdaBoost算法进行了详细的介绍,并展示了如何实现AdaBoost,这些都是走进集成方法大家族的敲门砖。最近,Boosting技术在Kaggle竞赛以及其它预测分析任务中大行其... 查看详情

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

查看详情

机器学习之adaboost

Adaboost是一种组合学习的提升算法,能将多个弱学习算法(甚至只比随机猜测好一点)组合起来,构成一个足够强大的学习模型。组合学习组合学习是将多个假说组合起来,并集成它们的预测。比如对于一个问题,我们可以生成2... 查看详情

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

...创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。Boosting提升树Boosting思想主要是采用将模型进行串行组合的思想,利用多个弱学习器来学习我们的 查看详情

机器学习——adaboost元算法

...他算法进行组合的一种方式,其中最流行的一种算法就是AdaBoost算法。某些人认为AdaBoost是最好的监督学习的方法,所以该方法是机器学习工具箱中最强有力的工具之一。  集成学习或者元算法的一般结构是:先产生一组“个... 查看详情

adaboost算法的原理与推导

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

提升算法——adaboost

思路:通过改变训练样本权重,学习多个分类器,并将这些分类器进行线性组合,提高分类器性能。大多数提升方法都是改变训练数据的概率分布(数据的权值)强可学习:存在一个多项式的学习算法能够学习他,并且正确率很... 查看详情

ml-6-2集成学习-boosting(adaboost和gbdt)

目录简述集成学习Boosting介绍AdaBoost算法GBDT算法总结一、简述集成学习上一篇博文已经介绍了:集成算法是由多个弱学习器组成的算法,根据个体学习器的生成方式不同,集成算法分成两类:个体学习器之间不存在强依赖关系,... 查看详情