Adaboost基本二分类算法

2023-05-16

最早类型的Adaboost是由Yoav Freund和Robert E.Schapire提出的,一种用于二分类的boosting集成学习方法。也是李航《统计学习方法》中所介绍的Adaboost。它将一系列弱分类器的线性组合,生成一个强分类器。需要注意的是这里的弱分类器的定义是学习的正确率仅比随机猜测略好的分类器。如果基分类器已经是强学习了,再用boosing的话可能提升的效果就不是很明显了。因为boosting的想法就是将弱学习算法提升成强学习算法。Adaboost是一个二分类算法,所以随机猜测的error就是0.5。

下面是Adaboost算法的伪代码:

从算法的伪代码我们可以看到如下情况:

 1、Adaboost最后返回的是一系列弱分类器的加权线性组合,当有新的样本点需要预测时,直接放入最后的模型即可。

 2、每次迭代拟合一个弱分类器以后,算法会根据基分类器的error分配给该基分类器一个权重(第9行),分类错误率越小的分类器权重越大,反之亦然。然后,就会修改样本的权重(第10行),提高分类错误样本的权重,降低分类正确样本的权重。因为在公式里面乘上了\alpha _t,所以在修改样本的权重时也会考虑具体的基分类器。在权重很高的基分类器中,分错的样本会有更高的权重。下一 次迭代就会使用重新分配权重的数据拟合新的弱分类器,同时会重点关注分类错误的样本。

 3、分类误差为所有分类错误的样本权重之和(注意,样本权重后面更新时做了Normalize,保证了概率分布)。但是,当弱分类  器的分类误差大于0.5的时候,算法就停止迭代了。解决这个问题主要有以下几种办法:

      a)选择较强的弱分类器。

      b)遇到error大于0.5时,反转分类器的结果。

           二分类的时候,如果基分类器的error大于0.5,就把输出的正负结果反转以下,这样原来的准确率就变成了error。同时也保证了error小于0.5。

      c)遇到error大于0.5时,重新设定权值。

           也就是在发现一个基分类器error大于0.5的时候,舍弃这个基分类器。然后重新设定所有样本的权值(就好像重新运行Adaboost一样)

      d)反复重新采样和生成基分类器直到error小于0.5.

            重采样的方法主要是针对无法接受带权样本的基学习器。需要注意的是,这种方法不仅可能导致计算复杂度的严重提升,在有些情况下甚至出现“试了100次也没有办法得到一个error小于0.5的结果”,尤其是在权值分布已经严重偏向某些样本(通常是noise)的时候,这种情况更为常见。

  4、在每次迭代训练基本分类器时,选择误差最小的基本分类器。

至于为什么弱分类器的error要小于0.5,原因有以下几点

1、PCA定义了弱分类器为识别错误率小于0.5的学习算法。

2、集成学习的基分类器要有一定准确性,太坏反而会对集成的结果起到负的作用。所以,正如前面所说基分类器要比随机猜测的结果好。针对现在的二分类,随机猜测的error就是0.5。

3、如果基分类器的误分类率大于0.5,该基分类器的权重就为负数,同时error越大,负数就越小,也就意味这该分类器的权重大。但这样不符合逻辑,因为这个分类器的error很大,权重应该更小才对。所以,只有到那个error小于等于0.5时,基分类器的权重是大于等于0的。

下面列以下Adaboost的优缺点:

Adaboost的优点:

1、没有很多的参数需要调整。

2、不容易过拟合,但是基分类器太复杂也会过拟合。

3、可以构造任意复杂的决策区域,处理非线性的数据。

4、Adaboost是一个框架,可以使用多种基学习器。

Adaboost的缺点:

1、对噪声和异常点很敏感。

这个只是最基础的二分类Adaboost算法,它还可以推广到多分类,也就是Adaboost.M1算法。将在下一篇文章讲解。

参考链接:https://ask.julyedu.com/question/65

                  http://www.voidcn.com/article/p-oxwcnnol-by.html

                  https://www.csd.uwo.ca/courses/CS4442b/L5-ML-Boosting.pdf

                  https://zhuanlan.zhihu.com/p/38507561

                  https://zhuanlan.zhihu.com/p/37671791

参考书籍:李航《统计学习方法》,周志华《机器学习》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Adaboost基本二分类算法 的相关文章

  • IIC通讯总结

    1 IIC简介 IIC全称Inter Integrated Circuit 是由PHILIPS公司在80年代开发的两线式串行总线 xff0c 用于连接微控制器及其外围设备 IIC属于半双工同步通信方式 2 IIC特点 xff08 1 xff
  • Opencv 创建图像时,CV_8UC1,CV_32FC3等参数的含义

    转载链接 xff1a http blog csdn net maweifei article details 51221259 CV lt bit depth gt S U F C lt number of channels gt 1 bi
  • 时间序列聚类方法的研究

    女主宣言 为了保证系统 服务的可靠性和稳定性 xff0c 监控系统日渐成为每个公司 企业的一个必不可少的系统 随着服务 机器等数量越来越多 xff0c 如何分析海量时间序列KPI成为我们在智能运维领域首先需要解决的问题 在众多的时间序列中
  • 基于docker搭建tx2的ROS2交叉编译环境

    基于docker搭建TX2的ROS2交叉编译环境 概述 ROS2官方文档有交叉编译相关说明 本文使用TX2最新官方镜像JetPack4 4版本 xff0c 自带ubuntu18 04 有现成的ubuntu18 04就可以使用apt get
  • ros2 nav2 行为树插件引擎原理和应用

    Nav2 行为树插件引擎原理和应用 本文由一个简单的例子作为切入点 xff0c 对Nav2行为树插件引擎的原理进行分析 文章目录 Nav2 行为树插件引擎原理和应用一个完整应用demoGroot行为树设计和监视器安装使用Groot实时监视行
  • 机器学习的挑战:黑盒模型正面临这3个问题

    导读 xff1a 本文将讲述可解释机器学习的研究背景 xff0c 介绍黑盒模型存在的问题和风险 xff0c 通过一些小故事让读者了解问题的严重性 作者 xff1a 索信达控股 邵平 杨健颖 苏思达 何悦 苏钰 来源 xff1a 大数据DT
  • ARM仿真器的SWD接法

    ARM仿真器的SWD接法 最近接了一个项目 xff0c 电路板上留有的代码下载接口是SWD接口 xff0c 手头上并没有专用的SWD下载器 xff0c 庆幸的是我手头有一个ARM仿真器 xff0c 在接口处写着 JTAG 43 SWD xf
  • C# winform窗体及其控件的自适应

    为了提升用户的体验 xff0c 窗体不能再固定其大小 xff08 用户不能随意改变窗体的大小 xff09 xff0c 所以要做到窗体适应电脑屏幕的分辨率 xff0c 窗体中的控件要跟随窗体的变化比例而变化 通过网上查找学习 xff0c 发现
  • 学校人力资源管理系统——E-R图

    分局E R图 根据需求分析该学校人力资源管理系统中实体包括 xff1a 教职工 xff0c 部门 xff0c 职称 xff0c 职务 xff0c 学籍经历 xff0c 奖惩 xff1b 局部E R图设计如下 xff1a 教职工 xff08
  • TVM编译与python环境配置

    提示 xff1a 仅记录一下本次成功安装的过程用于参考 目录 前言 一 源码下载 二 编译 1 安装依赖 2 安装llvm 3 开始编译 4 设置python环境 前言 记录一下tvm的编译流程与python环境安装 环境 xff1a ro
  • apache反向代理tomcat时x-forwarded-for为null的问题

    apache 在用ProxyPass时会自动在header中设置X Forwarded For X Forwarded Host和X Forwarded Server xff08 http httpd apache org docs 2 2
  • APP_CTL_HEAP_SZ 堆中没有足够的存储器可用来处理语句

    Caused by COM ibm db2 jdbc DB2Exception IBM CLI Driver DB2 NT SQL0973N 34 APP CTL HEAP SZ 34 堆中没有足够的存储器可用来处理语句 SQLSTATE
  • OpenCV颜色识别

    彩色模型 数字图像处理中常用的采用模型是RGB xff08 红 xff0c 绿 xff0c 蓝 xff09 模型和HSV xff08 色调 xff0c 饱和度 xff0c 亮度 xff09 xff0c RGB广泛应用于彩色监视器和彩色视频摄
  • vmware占用磁盘空间增加(ubuntu虚拟机占用空间小)

    vmware占用磁盘空间大 xff0c 但是用df h指令看ubuntu虚拟机占用的空间没有这么大 xff0c 可以试着用下面的三种方法清理vmware占用的空间 方法一 xff1a 使用vmware自带的工具就能收回占用的部分空间 那个工
  • 进临界区(关全局中断)是否会影响数据的接收?

    在嵌入式的编程中 xff0c 经常会使用嵌入式实时操作系统 xff0c 比如FreeRTOS xff0c RTT等 而在使用这些操作系统时 xff0c 会有一个临界区的概念 xff0c 一般操作是 1 xff0c 进入临界区 xff1b 2
  • source insight 4.0 护眼背景色设置

    1 xff0c 打开source insight 4 0 2 xff0c 选择options下的preferences 3 xff0c 选择window background xff0c 双击打开 xff1b 4 xff0c 在颜色中将色调
  • octet和byte

    在看BLE协议时 xff0c 看到了数据包格式的定义 packet format xff0c 定义如下 xff1a Preamble 1 octet Access Address 4 octets PDU 2 to 257 octets C
  • 如何解决SSL/TLS握手过程中失败的错误?

    Fixes for the SSL TLS Handshake Failed error for both internet users and site owners It s time for another technical art
  • 学校人力资源管理系统——逻辑结构设计

    E R 图向关系模型的转换 第一步 把六个实体类型转化成五个模式 xff1a 教职工 职工编号 xff0c 姓名 xff0c 性别 xff0c 出生年份 xff0c 学历 xff0c 民族 xff0c 婚姻状态 xff0c 政治面貌 xff
  • 无线持续攻击(wireless duration attack)

    抓空口包时发现一种奇怪的ack帧 duration位长度是32767us 看到omnipeek将它定义为wireless duration attack 看起来是路由器回复设备的ack 而设备也是发了一个奇怪的pspoll帧 节能位置1 乱

随机推荐

  • .bashrc文件在哪?

    linux的bashrc文件在 home目录下 xff0c 但是是一个隐藏bai文件 xff0c 在文件管理器里面du按Ctrl 43 H即可显示 显示为 bashrc xff0c 前zhi面小点儿表示隐藏文件 xff09 也可以直接利用t
  • Cotex-M内核双堆栈指针MSP和PSP

    MSP和PSP 的含义是Main Stack Pointer 和Process Stack Pointer 在逻辑地址上他们都是R13 xff1b 权威手册上说的很清楚PSP主要是在Handler的模式下使用 xff0c MSP主要在线程模
  • TCP/IP协议栈之LwIP-pbuf

    pbuf结构体就是一个描述协议栈中数据包的数据结构 xff1a Main packet buffer struct struct pbuf next pbuf in singly linked pbuf chain struct pbuf
  • Linux使用wpa_supplicant手动配置连接WiFi

    wpa supplicant是Linux BSD Mac OSX和Windows的WPA的服务 支持WPA和WPA2 IEEE 802 11i RSN xff0c 它适用于台式机 笔记本和嵌入式系统 xff0c Supplicant是在客户
  • 使用python快速将主机字节序转为网络字节序

    1 进入python环境 这里以win10自带的wsl win10子系统为操作环境进入Python命令行 2 引入网络字节序标准库 这里使用Python自带的socket库 3 将待转换的主机数据使用socket htons 或者socke
  • ∏这个是什么符号?

    是各项连乘的运算符号 读大写的 xff08 pai xff09 例如 xff1a i 61 1 xff08 符号下面 xff09 n xff08 符号上面 xff09 ai 符号右面 表示a1 a2 an 符号下面表示右面式子可变参量的下限
  • python获取图片的颜色信息

    span class pun style font family none font size 14px span h1 style font family none font size 24px padding 5px margin 5p
  • Python:TypeError: 'int' object is not callable

    一个函数的部分代码如下 xff1a python view plain copy def loadData len 61 dataSet len trainingSet extend dataSet len 3 4 testSet exte
  • FreeRTOS — 消息队列

    以下内容转载自安富莱电子 xff1a http forum armfly com forum php FreeRTOS 的一个重要的通信机制 消息队列 xff0c 消息队列在实际项目中应用较多 1 消息队列 1 1 消息队列的概念及其作用
  • 学校人力资源管理系统——物理结构设计

    新 建学校人力资源管理系统 数据库 1 创建相关表 1 1 创建部门信息表 部门信息表的创建代码如下 xff0c 部门信息表在SQL中的信息显示如图6 1所示 create table 部门信息表 部门编号 char 6 not null
  • python 安装serial模块

    想用Python来实现对串口的控制 xff0c 写好了脚本 xff0c 现在将这个脚本拿到另外一个电脑上去运行 xff1b 运行时提示错误 xff0c 说是没有安装serial模块 xff0c 于是乎安装 pip install seria
  • Doxygen使用教程(个人总结)

    简介Doxygen 一 xff0e 什么是Doxygen Doxygen 是一个程序的文件产生工具 xff0c 可将程序中的特定批注转换成为说明文件 通常我们在写程序时 xff0c 或多或少都会写上批注 xff0c 但是对于其它人而言 xf
  • STM32F401 I2S(full duplex)全双工示例代码

    USER CODE BEGIN Header 64 file main c 64 brief Main program body This notice applies to any and all portions of this fil
  • 一、认识与学习Linux中的BASH 之 1.1 什么是bash

    1 1 什么是bash 1 1 1 什么是bash bash全称为The Bourne Again shell xff0c 是Bourne Shell的扩展 xff0c 是基于GUN构架发展出来的语言 xff0c 有很灵活和强大的编程接口
  • 阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装

    阿里云ECS服务器环境搭建 xff08 1 xff09 ubuntu 16 04 图形界面的安装 1 背景 在我们购买阿里云ECS服务器之后 xff0c 默认的系统环境是很干净的 xff0c 我购买的是ubuntu16 04 xff0c 远
  • Python+pandas+每天股票涨了多少

    第一步 xff1a 得到某支股票历年来的交易数据 方法见 xff1a https blog csdn net zwy 0309 article details 108217342 在此 xff0c 我使用以下脚本得到股票 xff08 代码
  • 2021-06-02

    在ROS中仿真模型中添加gps传感器 获取gps传感器模型包为自己的机器人添加gps传感器将gps之中的经度纬度坐标转化为自己地图中的坐标 1 获取gps传感器模型包 link http wiki ros org hector gazebo
  • Dockerfile如何编写(指令详解)

    本文个人博客地址 xff1a https www leafage top posts detail 21525V8AP Dockerfile Dockerfile 描述了组装镜像的步骤 xff0c 其中每条指令都是单独执行的 除了FROM指
  • 关于Home Lab的搭建——硬件选择篇(迷你主机)(一)

    关于Home Lab 这个名词出自哪里 xff0c 我也不清楚 不过 xff0c 可以这样来理解Home Lab xff0c Home Lab是一台作为实验使用的电脑 xff0c 试验的内容多数是关于计算机网络的搭建 系统安装 测试 xff
  • Adaboost基本二分类算法

    最早类型的Adaboost是由Yoav Freund和Robert E Schapire提出的 xff0c 一种用于二分类的boosting集成学习方法 也是李航 统计学习方法 中所介绍的Adaboost 它将一系列弱分类器的线性组合 xf