不同类型的噪声会对模型的分类性能产生什么样的影响呢,让我们一同进行实验,来探索那暗中作祟的标签噪声!

作者&编辑 | 郭冰洋

1 简介

在数据集制作过程中,由于主观、客观的原因,会导致标签噪声的出现,其存在会对最终的分类模型性能造成一定的影响。因此,在实际应用过程中,总是要对现有的数据集进行清洗,以避免标签噪声的干扰。

常见的标签噪声包括跨类别噪声和随机噪声两种。跨类别噪声是指属于数据集某一确定类别的图片,被误分至属于数据集的另一确定类别。随机噪声是指属于数据集某一确定类别的图片中,有大量与类别标签不相关的图片,同时这些图片不属于数据集中的任何一类。

本篇文章我们将以Cifar 10、Cifar 100数据集作为实验数据,对标签噪声进行探究,以测试不同类型、不同比例的噪声对分类模型的影响。

2 实验记录

2.1 无标签噪声的训练结果

首先我们通过构建最基本的CNN网络对两个数据进行分类,在正常图片且无标签噪声的情况下,Cifar 10和Cifar 100分别取得了89.2%和65.8%的准确率,以此作为基础结果,我们将分别添加不同的噪声进行对比。

2.2 含标签噪声的训练结果

通过设置不同的噪声类别和比例,对其进行训练后我们得出相应的准确率,可以发现随着噪声比例的增加,分类模型的准确率会受到相应的影响,跨类噪声的影响明显更大。

对比实验的结果告诉我们,标签噪声的存在会对模型产生一定的影响,这一影响在数据集容量相对较少时会更加明显,这是目前急需解决的一个问题。

3 解决方案

3.1 混淆矩阵推理

为了减少噪声的影响,最直接的方法是人工对数据集中的错误标签进行一一筛选,但这样会耗费大量的人力和时间,并非最可取的方法。

在评价分类模型的准确率时,我们往往会通过分析混淆矩阵以查看不同类别的预测结果,通过混淆矩阵我们可以得到每个类别预测正确和错误的个数,近似的认为预测错误的类别属于跨类标签噪声。

在跨类噪声比例20%的情况下,我们得出相应的混淆矩阵结果如上表所示,可以看出每个类别中均有预测错误的样本出现。

针对这些错误的预测样本,随机将其划入其他类别,并进行重新训练,若混淆矩阵的预测结果可以得到进一步的提升,则保留图像至该正确样本。

通过3次的迭代训练,我们对模型的结果进行重新评估,可以发现其准确率得到的非常大的提升。

3.2 数据统计分析

除了上述根据混淆矩阵的结果进行迭代修正的方法,目前主流的方法还包括数据统计分析,即通过对现有的图像数据进行相应的预处理,借助回归分析、分箱分析等传统的机器学习算法,事先剔除不属于某一类别的图像,然后进行训练。随后再对剔除的图像进行测试,得到对应的预测类别后重新划分数据集,再进行重新训练。

总结

迭代训练的方式可以减少人工修改标签的时间,但同样会消耗一定的训练时间,目前还没有一个完全高效妥善的方式可以解决这一问题,因此还需要各位去发掘更多更有效的算法去解决这一问题。

有三AI夏季划

有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。

转载文章请后台联系

侵权必究

往期精选

【图像分类】 标签噪声对分类性能会有什么样的影响?相关推荐

  1. 重新标注128万张ImageNet图片:多标签,提升模型性能

    2021-01-28 14:47:13 机器之心报道 作者:杜伟.魔王 自发布以来,ImageNet 数据集逐渐成为机器学习社区最流行的图像分类基准,但 ImageNet 自身存在着标签噪声,以及单标 ...

  2. PPDet:减少Anchor-free目标检测中的标签噪声,小目标检测提升明显

    本文转载自AI算法修炼营. 这篇文章收录于BMVC2020,主要的思想是减少anchor-free目标检测中的label噪声,在COCO小目标检测上表现SOTA!性能优于FreeAnchor.Cent ...

  3. 《机器学习实战》chapter 07利用AdaBoosting元算法提高分类性能

    第一部分:集成方法介绍 集成方法通过组合多个分类器的分类结果,获得了比简单分类器更好的分类结果 1.bagging,通过随机抽样的替换方式,得到了与原始数据集规模一样的数据集. 在S个数据集建好以后, ...

  4. 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  5. 机器学习第七章笔记——利用AdaBoost元算法提高分类性能

    目录 引言 一. 基于数据集多重抽样的分类器 1.1 bagging:基于数据随机重抽样的分类器构建方法 1.2 boosting 二. 训练算法 三.基于单层决策树构建弱分类器 四.完整AdaBoo ...

  6. 利用AdaBoost元算法提高分类性能

    本篇博文涵盖如下内容: 组合相似的分类器来提高分类性能 应用AdaBoost算法 处理非均衡分类问题 元算法(meta-algorithm): 对其他算法进行组合的一种方式. 最为流行的元算法: Ad ...

  7. RFID超高频标签阅读器分类

    RFID超高频标签阅读器分类 超高频RFID阅读器的核心部件是阅读器模块,它是整个阅读器的心脏,负责与标签通信的所有功能.阅读器根据功能和应用不同有多种表现形式,分为固定式阅读器.手持式阅读器(手持机 ...

  8. 机器学习实战 -- 利用AdaBoost 元算法提高分类性能

    组合相似的分类器来提高分类性能 应用AdaBoost算法 处理非均衡分类问题 元算法是对其他算法进行组合的一种方式. 基于数据集多重抽样的分类器 我们可以将不同的分类器组合起来,而这种组合结果被称为集 ...

  9. 分类性能评价指标——精确率,召回率,F1值详细解释

    分类性能的评价指标 准确率 准确率是全部参与分类的文本中,与人工分类结果吻合的文本所占的比例. 即:预测与真实标签相同的比例 Accuracy=TP+TNTP+TN+FP+FNAccuracy=\fr ...

最新文章

  1. MindSpore接口mindspore::api
  2. Redis的主从复制与高可用搭建(哨兵模式)
  3. ble之Transmit window offset and Transmit window size
  4. 【深入Java虚拟机JVM 01】Java发展与展望概述
  5. Python 计算机视觉(三)—— 数字图像处理基本操作
  6. ubuntu软件的卸载和安装
  7. Kotlin 第三讲——集合篇1
  8. 房贷利率上浮30%利息太高吃不消,如何让利率变成下浮10%?
  9. 避免一个用户多次登录修改版
  10. java支持多线程吗_Java多线程之一
  11. Python根据IP地址获取MAC地址
  12. 信息学奥赛一本通(1214:八皇后)
  13. layui引入php项目,怎么将layui引入开发框架中
  14. Linux 多线程应用中如何编写安全的信号处理函数
  15. stringbuilder_string和stringBuilder的区别
  16. 大数据信息安全需要准备哪些工具
  17. CLRInjection - 通用托管注入(超级灰色按钮克星升级版)
  18. Visual Studio 2019上安装AnkhSVN2019
  19. 《第一本无人驾驶技术书》
  20. 【运维心得】你不知道,运维也要写代码(3)

热门文章

  1. mybatis教程--一对多查询
  2. Java集合中的排序API分析
  3. ViewFlipper的功能和用法
  4. struts2 的form 标签theme属性
  5. ElasticSearch学习笔记(二)—结构了解和索引文档增删改
  6. 杭电1421java实现
  7. 分布式之2PC与3PC提交协议
  8. java设计模式之委派模式
  9. Java Stream(流)的分类, 四大基本流的介绍
  10. java项目打成jar和war_maven打包web项目时同时打包为war和jar文件的方法