深度学习之样本均衡问题

        针对自然界的样本中,对于分类任务而言,不可能取到均衡样本。遇到一些某一类标签占比太大,标签矩阵比较稀疏的时候,我们需要对样本处理才能丢给模型进行训练,训练出来的模型具有更好的拟合能力和泛化能力。

       针对上述问题,先对其进行定义,如果将类别不均衡的样本扔给模型进行学习,那么模型会更好地学到占比较大的样本,但是也要思考一下,类别均衡的数据集是不是一定更好?这个无法证明,只能说类别均衡的样本对模型更加友好。

        解决样本不均衡的问题,我们第一反应就是用简单粗暴的方法:采样。假设目前正样本占比10%, 负样本占比90%。那么我们可以对正样本进行过采样,可以将正样本的数据进行复制粘贴,针对图像任务,可以对正样本进行旋转,翻转等,增加正样本的占比。但是这样会有弊端就是训练的时候模型看到过这类样本太多了,记住这类“考题”,以至于考题进行变换也模型也无法很好解决,这时候就会出现过拟合。因此这种方法不是最优解,慎用。

        第二种方法可以使用SMOTE方法,这种方法是基于采样的思想,但是它很好地处理过拟合现象。思想是随机选取一个样本,然后利用聚类算法(KNN)选择与其相近的样本,然后取两样本的中值或者均值作为新样本。这种方法在一定的程度上降低了过拟合的风险。

        第三种方法:模型融合。思想类似于batch train的思想。将负样本平均拆分成与正样本数量相同的等分。然后每一份与正样本组合成一个小训练集。这些小训练集就是样本占比均衡的,接着训练模型,训练得到的模型s融合通过加权累加形成一个分类器,对测试集进行预测。这种方法比较高效。

        第四种阈值调整。一般而言会以0.5作为阈值来划分正负样本。但是对于类别不平衡的样本可以通过调整这个阈值进行处理。另外可以在计算每个样本的loss时,通过为正样本增加权重的方式,来优化样本不平衡问题。该方法原理跟划分阈值类似,正样本对权重的更新会使模型输出尽可能偏向于1,但是正样本太少,所以一方面可以降低划分为正样本的阈值,另一方面则可以在计算loss时,增加正样本权重,从而增大正样本对模型参数的更新量,提高模型输出为1的概率。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值