深度学习中如何处理数据不平衡问题?

数据不平衡带来什么问题?

假设在一个分类问题中,如果预测类别中存在一个或多个样本量极少的情况,比如在图像分类中识别恶性肿瘤(训练样本中含有肿瘤的图像远比没有肿瘤的图像少)。如果不考虑数据平衡的问题,模型的性能会出现问题。
原因:
1.对于不平衡类别,模型无法充分考察样本,从而不能及时有效地优化模型参数。
2.它对验证和测试样本的获取造成了一个问题,因为在一些类观测极少的情况下,很难在类中有代表性。换句话说,训练集中的数据过少,影响了模型对该类识别的泛化能力。

解决方法:

1.从数据出发

  • 对数据不平衡的类别进行严格的数据增强;
  • 利用大数据训练的模型(imagenet)进行transfer learning。

2.从loss出发

  • 设置class weight,在交叉熵 L c e = − a y l o g ( y ^ ) − ( 1 − a ) ( 1 − y ) l o g ( 1 − y ^ ) L_{ce}=-aylog(\hat{y})-(1-a)(1-y)log(1-\hat{y}) Lce=aylog(y^)(1a)(1y)log(1y^)添加系数a,使得缺少数据样本的类别在loss惩罚力度更大。
  • Focal Loss: L f l = − a ( 1 − y ^ ) γ y l o g ( y ^ ) − ( 1 − a ) y ^ γ ( 1 − y ) l o g ( 1 − y ^ ) L_{fl}=-a(1-\hat{y})^{\gamma}ylog(\hat{y})-(1-a)\hat{y}^{\gamma}(1-y)log(1-\hat{y}) Lfl=a(1y^)γylog(y^)(1a)y^γ(1y)log(1y^).其中a为权重因子, γ \gamma γ为调节参数。当正样本的预测概率 y ^ \hat{y} y^接近1时,则 1 − y ^ 1-\hat{y} 1y^接近0,那么 ( 1 − y ^ ) γ (1-\hat{y})^{\gamma} (1y^)γ就会变得更小。换句话说,当样本分类合理时,函数会降低损失惩罚,防止对参数过度优化,避免过拟合。而当正样本的预测概率 y ^ \hat{y} y^接近0时,则 1 − y ^ 1-\hat{y} 1y^接近1,因此 ( 1 − y ^ ) γ (1-\hat{y})^{\gamma} (1y^)γ会变小一点,但是跟上面情况比起来,其实相当于放大了。Focal Loss函数对容易分类的样本进行down weighting,focus on the hard samples,有效的解决了数据不平衡问题。

3.OHEM j解决简单样本与难分辨样本之间的类别不平衡

  • 由于目标检测套用图像分类的分类思想,但图像分类的数据集和目标检测的 数据集存在天然的差距,目标检测的目标框和背景框之间存在严重的不平衡
  • 在第t次迭代时,输入图片到卷积网络中得到特征图,然后 把特征图和所有的RoIs输入到RoI网络中并计算所有RoIs的损失,把损 失从高到低排序,然后选择B/N个RoIs。这里有个小问题,位置上相邻 的RoIs通过RoI网络后会输出相近的损失,这样损失就翻倍。作者为了 解决这个问题,使用了NMS(非最大值抑制)算法,先把损失按高到低排 序,然后选择最高的损失,并计算其他RoI这个RoI的IoU(交叉比),移 除IoU大于一定阈值的RoI,然后反复上述流程直到选择了B/N个RoIs。
  • 对于一次SGD迭代,计算过程如下:先计算出特征图,可读RoI网络对所 有RoI执行前向计算并计算每个RoI的损失,然后选择hard RoIs。把这 些hard RoIs输入到可读可写的RoI网络中执行前向前向计算和反向传播更新网络,并把可读可写的RoI网络的参数赋值给只可读的网络,一次 迭代就完成了。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
k均值聚类是一种常用的无监督学习算法,可以将数据集分为若干个簇,簇内数据相似度高,簇间数据相似度低。它是数据挖掘、图像处理机器学习最常用的聚类方法之一。其核心思想是通过不断迭代的方式,将数据集划分为k个互不相交的簇,最终使得簇内的数据相似度尽可能高,簇间的数据相似度尽可能低。 由于现实数据往往呈现出不平衡的状态,即不同类别的样本数目存在严重的不平衡,这会对聚类效果造成很大的影响。解决这种问题可以采用样本权重法或基于潜在变量的方法,将数据按照类别分别进行处理、聚类,在最终结果将簇的大小设定为参考指标,重新计算聚类效果。 深度学习是指网络结构比传统神经网络更深和复杂的一类机器学习算法,可以从数据学习抽象的特征表达,用于图像、语音、自然语言处理和推荐系统等领域。深度学习的核心技术是神经网络,它具有多层非线性变换和学习能力强的优点。与传统机器学习不同,深度学习网络可以自动进行特征工程,并从纷繁复杂的数据提取出高层次的、抽象的特征,然后进行优化学习。深度学习在医疗影像诊断、自动驾驶、语音识别、自然语言处理等领域有着广泛的应用。 总之,k均值聚类可以对数据进行快速有效的聚类处理,但在数据平衡的情况下需要采用对应的处理方法,而深度学习则可以从大量数据提取出更为深层次的特征,使得机器学习更为优化和精准。它们在不同的领域都有重要的应用,未来的研究和探索将会使它们更加普及和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值