深度学习分类类别不平衡_「图像分类」 关于图像分类中类别不平衡那些事

作者&编辑 | 郭冰洋

1 简介

小伙伴们在利用公共数据集动手搭建图像分类模型时,有没有注意到这样一个问题呢——每个数据集不同类别的样本数目几乎都是一样的。这是因为不同类别的样例数目差异较小,对分类器的性能影响不大,可以在避免其他因素的影响下,充分反映分类模型的性能。反之,如果类别间的样例数目相差过大,会对学习过程造成一定的影响,从而导致分类模型的性能变差。这就是本篇文章将要讨论的类别不平衡问题(Class Imbalance)。

类别不平衡是指分类任务中不同类别的训练样本数目相差较大的情况,通常是由于样本较难采集或样本示例较少而引起的,经常出现在疾病类别诊断、欺诈类型判别等任务中。

尽管在传统机器学习领域内,有关类别不平衡的问题已经得到了详尽的研究,但在深度学习领域内,其相关探索随着深度学习的发展,经历了一个先抑后扬的过程。

在反向传播算法诞生初期,有关深度学习的研究尚未成熟,但仍有相关科研人员研究过类别样例的数目对梯度传播的影响,并得出样例数目较多的类别在反向传播时对权重占主导地位。这一现象会使网络训练初期,快速的降低数目较多类别的错误率,但随着训练的迭代次数增加,数目较少类的错误率会随之上升[1]。

随后的十余年里,由于深度学习受到计算资源的限制、数据集采集的难度较大等影响,相关研究并没有得到进一步的探索,直到近年来才大放异,而深度学习领域内的类别不平衡问题,也得到了更加深入的研究。

本篇文章将对目前涉及到的相关解决方案进行汇总,共分为数据层面、算法层面、数据和算法混合层面三个方面,仅列举具有代表性的方案阐述,以供读者参考。

2 方法汇总

1、基于数据层面的方法

基于数据层面的方法主要对参与训练的数据集进行相应的处理,以减少类别不平衡带来的影响。

Hensman等[2]提出了

提升样本(over sampling)的方法,即对于类别数目较少的类别,从中随机选择一些图片进行复制并添加至该类别包含的图像内,直到这个类别的图片数目和最大数目类的个数相等为止。通过实验发现,这一方法对最终的分类结果有了非常大的提升。

Lee等[3]提出了一种

两阶段(two-phase)训练法。首先根据数据集分布情况设置一个阈值N,通常为最少类别所包含样例个数。随后对样例个数大于阈值的类别进行随机抽取,直到达到阈值。此时根据阈值抽取的数据集作为第一阶段的训练样本进行训练,并保存模型参数。最后采用第一阶段的模型作为预训练数据,再在整个数据集上进行训练,对最终的分类结果有了一定的提升.

Pouyanfar等[4]则提出了一种

动态采样(dynamic sampling)的方法。该方法借鉴了提升样本的思想,将根据训练结果对数据集进行动态调整,对结果较好的类别进行随机删除样本操作,对结果较差的类别进行随机复制操作,以保证分类模型每次学习都能学到相关的信息。

2、基于算法层面的方法

基于算法层面的方法主要对现有的深度学习算法进行改进,通过修改损失函数或学习方式的方法来消除类别不平衡带来的影响。

Wang等[5]提出

mean squared false error (MSFE) loss。这一新的损失函数是在mean false error (MFE) loss的基础上进行改进,具体公式如下图所示:

MSFE loss能够很好地平衡正反例之间的关系,从而实现更好的优化结果。

Buda等[6]提出

输出阈值(output thresholding)的方法,通过调整网络结果的输出阈值来改善类别不平衡的问题。模型设计者根据数据集的构成和输出的概率值,人工设计一个合理的阈值,以降低样本数目较少的类别的输出要求,使得其预测结果更加合理。

3、基于数据和算法的混合方法

上述两类层面的方法均能取得较好的改善结果,如果将两种思想加以结合,能否有进一步的提升呢?

Huang等[7]提出

Large Margin Local Embedding (LMLE)的方法,采用五倍抽样法(quintuplet sampling )和tripleheader hinge loss函数,可以更好地提取样本特征,随后将特征送入改进的K-NN分类模型,能够实现更好的聚类效果。除此之外,Dong等[8]则融合了难例挖掘和类别修正损失函数的思想,同样是在数据和损失函数进行改进。

由于篇幅和时间有限,本文只列取了每个类别的典型解决方案。同时也搜集了关于解决类别不平衡问题的相关综述文献,截图如下:

具体名称可以借鉴参考文献[9]。

3 参考文献

[1] Anand R, Mehrotra KG, Mohan CK, Ranka S. An improved algorithm for neural network classification of imbalanced training sets. IEEE Trans Neural Netw. 1993;4(6):962–9.

[2] Hensman P, Masko D. The impact of imbalanced training data for convolutional neural networks. 2015.

[3] Lee H, Park M, Kim J. Plankton classification on imbalanced large scale database via convolutional neural networks with transfer learning. In: 2016 IEEE international conference on image processing (ICIP). 2016. p. 3713–7.

[4] Pouyanfar S, Tao Y, Mohan A, Tian H, Kaseb AS, Gauen K, Dailey R, Aghajanzadeh S, Lu Y, Chen S, Shyu M. Dynamic sampling in convolutional neural networks for imbalanced data classification. In: 2018 IEEE conference on multimedia information processing and retrieval (MIPR). 2018. p. 112–7.

[5] Wang S, Liu W, Wu J, Cao L, Meng Q, Kennedy PJ. Training deep neural networks on imbalanced data sets. In: 2016 international joint conference on neural networks (IJCNN). 2016. p. 4368–74.

[6] Buda M, Maki A, Mazurowski MA. A systematic study of the class imbalance problem in convolutional neural

networks. Neural Netw. 2018;106:249–59.

[7] Huang C, Li Y, Loy CC, Tang X. Learning deep representation for imbalanced classification. In: 2016 IEEE conference on computer vision and pattern recognition (CVPR). 2016. p. 5375–84.

[8] Dong Q, Gong S, Zhu X. Imbalanced deep learning by minority class incremental rectification. In: IEEE transactions on pattern analysis and machine intelligence. 2018. p. 1–1

[9] Justin M. Johnson and Taghi M. Khoshgoftaar.Survey on deep learning with class imbalance.Johnson and Khoshgoftaar J Big Data.(2019) 6:27

总结

以上就是关于类别不平衡问题的相关解决方案,详细内容可以阅读参考文献综述9,相信通过更加详细的文章阅读,你会收获更多的经验!

https://www.toutiao.com/a6727841366342107655/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue设置多选框默认勾选_Vue实现全选和反选即Vue复选框增加全选功能

导语:Vue中单选下拉框开发起来非常简单,直接select包裹一个带v-for的option即可但是当我们想做个带多选的下拉框该怎么办呢?最简方法是什么?比如下面这个图:如果网上搜的话,搜的是一堆带children的 ,那种是遍历tree的思想,和多选下拉框不是一回事,而且写起来复杂看不懂源码再…

pyqt5 下拉 多页 点击_PyQt5实战——自定义翻页控件实现

分页控件效果图一、环境要求python解释器:python3.7.4依赖:PyQt5、sys模块二、思路分析1、布局:”上一页“、”下一页“等button、edit及label控件采用水平布局,使用该布局填充主控件QWidget2、类继承关系:主界面继承自…

三种平摊分析的方法分别为_干货|电工必须学会的三极管电路分析方法

三极管有静态和动态两种工作状态。未加信号时三极管的直流工作状态称为静态,此时各极电流称为静态电流,给三极管加入交流信号之后的工作电流称为动态工作电流,这时三极管是交流工作状态,即动态。一个完整的三极管电路分析有四步&a…

休眠后gpio状态_浅谈Digi XBee模块的休眠模式

浅谈Digi XBee模块的休眠模式2020-3-25Digi XBee S2C模块,如果仅连接电源线可以测得,在待机情况下,大约是10.5mA左右的电流,在休眠时的功耗可以低到0.5uA。可以知道,休眠几乎不耗电。在Spec上标的待机功耗会比实测只接…

xodo上的笔记不见了_一起来“终极笔记名场面批发市场”进货吗

俗话说得好,谁都逃不过“真香定律”,三天不见小笔记,想他。不对,不应该叫小笔记,应该叫粉丝起的名字——“【瓶邪黑花】《终极笔记》(原著风/连载)”下面请接受来自粉丝的疯狂打call~自上周《终极笔记》播出&#xff0…

python3学习笔记 雨痕_Python 3 学习笔记:数字和布尔

数字基本类型整数在 Python 编程中,整数就是数学意义上的整数,包括正整数、负整数和零,且它的位数是任意的。根据表示方法的不同,可以分为:二进制整数八进制整数十进制整数十六进制整数浮点数浮点数,即数学…

不越狱换壁纸_那些不舍得换的手机插画壁纸,你还差几张?

酷爱收藏美作的微课菌可以大展拳脚了!分享3位自己收藏的画师作品,绝对每一张都让你舍不得换,手机可以扔,壁纸得先拷贝存起来!开始吧!!多图预警!NO.1:Atey Ghailan&#x…

程序员绩效总结_年终总结怎么写?

每年这时候,都有必要写一下一年的个人工作总结。年终总结或工作总结是个挺重要的事。写好的话,有助于说明自己的工作绩效,绩效好可以多拿年终奖,还有机会争取晋升。另外,一年下来的个人生活也需要总结,这一…

线程停止继续_线程不是你想中断就能中断

这是我2021年的第2篇原创文章,原汁原味的技术之路尽在Jerrycodes为什么不强制停止如何用 interrupt 停止线程sleep 期间能否感受到中断停止线程的方式有几种总结启动线程需要调用 Thread 类的 start() 方法,并在 run() 方法中定义需要执行的任务。启动一…

倒序查10条数据_10 | 怎么给字符串字段加索引?

现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题。假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的:mysql> create table SUser( ID bigin…

保留小数点后三位_【Meta分析】Stata制作森林图时,如何保留三位小数?

系统评价/Meta分析指全面收集所有相关研究并逐个进行严格评价和分析,再用定性或定量合成的方法对资料进行处理得出综合结论的研究方法。在指导学员的过程中发现初学者在学习过程中常常会碰到许多共性问题,本公众号特此开设专栏解答,希望能够和…

android自动计步_Android计步模块实例代码(类似微信运动)

最近在项目中研究计步模块,每天0点开始记录当天的步数,类似微信运动。碰到了不少坑今天有时间整理出来给大家看看。做之前在google、baidu、github上搜了个遍没找到好的,大多数都是需要在后台存活,需要后台Service。对于现在的各大…

python井字棋ai_实现AI下井字棋的alpha-beta剪枝算法(python实现)

代码参考自中国大学mooc上人工智能与信息社会陈斌老师的算法,我在原来的基础上增加了玩家输入的异常捕获 AlphaBeta剪枝算法是对Minimax方法的优化,能够极大提高搜索树的效率,如果对这个算法感兴趣的可以去参考相关资料。 当正确理解AlphaBet…

Redis小计(2)

目录 1.exists命令 2.del命令 3.expire/pexpire命令 4.ttl命令 5.redis对于key过期的删除策略 1.exists命令 exists X1 X2 X3 X4:返回四个key存在的个数。 2.del命令 del X1 X2:删除key。 3.expire/pexpire命令 给key设置超时时间。 expire key…

unity 彩带粒子_iOS动画开发----粒子系统---彩带效果

参考博文地址:http://my.oschina.net/u/2340880/blog/485095?fromerrbgjLq4Mw一、粒子发射器iOS中的粒子效果有两部分组成,一部分为发射器,设置例子发射的宏观属性,另一部分是粒子单元,用于设置相应的粒子属性。粒子发射器是基于…

一秒执行一次_《一秒钟》:一贯的粗旷式抓大放小,张艺谋的自命题作业总是要观众自己再做一遍...

还有不变的永远在奔跑的大棉裤花棉袄的圆脸妮子,这是导演张艺谋最新作品《一秒钟》的最直接观感。张艺谋是个善于从普世情怀处挖掘题材的导演。之前诸多现实题材类型作品,诸如讲父子和解的《千里走单骑》、夫妻爱情的《归来》以及《我的父亲母亲》&#…

latex 作者加小标_Latex 写期刊论文的小技巧

在不同文字处理系统(如 MiKTeX, TeX Live, CTeX, cwTex) 或 不同整合开发环境 ( 如Texstudio, WinEdt, TeXstudio, TeXmaker) 中,我用了 Miktex Texstudio 的常用组合 (win10环境中)。1: 先MiKTeX,后Texstudio ;2: 安装包(packages);3&#…

unity 畸变_unity3d 几种镜头畸变

1.Fisheye distortion 鱼眼镜头解释来自百度百科:鱼眼镜头是一种焦距为16mm或更短的并且视角接近或等于180。 它是一种极端的广角镜头,“鱼眼镜头”是它的俗称。为使镜头达到最大的摄影视角,这种摄影镜头的前镜片直径很短且呈抛物状向镜头前…

restfull加签_SpringBoot RestFull API签名

一、需求如下对指定的API路径进行签名认证,对于没有指定的无需认证,认证具体到方法。二、查阅资料与开发1.了解JWT,实际上用的开源jjwt2.编写自定义注解3.编写拦截器,主要是拦截特定的url进行签名验证,这里解析请求的h…

mysql 5.5.18下载_MySQL5.7.18下载和安装过程图文详解

MySql下载1、打开官网找到下载路口,这里直接给出下载的地址2、选择64位版本3、直接下载MySql5.7.18.1安装过程1 、运行安装软件,接受协议2、选择默认安装3、下一步到检查环境界面,点击“Execute”执行检查 (可以后面单独下载插件安装)&…