讨厌代码! 2023-03-24 21:10 采纳率: 50%
浏览 44
已结题

BERT文本二分类LOSS变化

大家好,我用BERT模型做文本句二分类,使用的训练集严重不均衡,标签为0的句子占比90%,标签为1的占比10%,得出的loss结果如下:

img

img

请问这样的结果是不是非常不好?我是否需要重新更改数据集?
现有的训练数据集是8000条,我是增加人工标注为1的句子,还是减少标注为0的句子?
根据百度,我使用了FocalLoss,请问参数alpha应该设置为多少比较合适呢?

本科不是计算机专业,毕业设计需要用到文本分析,基础非常薄弱,所以想来问问,麻烦了!

  • 写回答

1条回答 默认 最新

  • H3T 2023-03-25 09:49
    关注

    对于严重不均衡的数据集,模型容易出现偏差,导致对于少数类的预测效果较差。因此,需要对数据集进行一些处理来平衡数据,以提高模型的预测能力。具体处理方法有以下几种:
     

    过采样(Oversampling):增加少数类样本的数量,使得数据集中正负样本的比例更接近。比如可以使用SMOTE算法来生成合成样本。
    可以使用一些Python库中的方法来实现过采样,比如imblearn库中的RandomOverSampler方法或者SMOTE方法。这些方法可以自动将少数类样本进行复制或者合成,以增加少数类样本的数量。需要注意的是,过度的过采样可能会导致模型的过拟合,因此需要根据实际情况来确定过采样的倍数。
     
    欠采样(Undersampling):减少多数类样本的数量,使得数据集中正负样本的比例更接近。比如可以使用Random Under Sampling或者Tomek Links等算法来进行欠采样。
    可以使用一些Python库中的方法来实现欠采样,比如imblearn库中的RandomUnderSampler方法或者Tomek Links方法。这些方法可以自动删除多数类样本,以减少多数类样本的数量。需要注意的是,欠采样可能会丢失重要信息,因此需要根据实际情况来确定欠采样的比例。
     
    结合过采样和欠采样:在进行过采样和欠采样时,可以结合使用,比如在进行过采样后再进行欠采样,或者在进行欠采样后再进行过采样。
    可以先使用过采样方法来增加少数类样本的数量,然后再使用欠采样方法来减少多数类样本的数量,以达到平衡数据的目的。需要注意的是,结合过采样和欠采样可能会导致模型的欠拟合或者过拟合,因此需要根据实际情况来确定过采样和欠采样的比例。
     
    使用类别权重(Class Weight):在训练模型时,给不同类别的样本赋予不同的权重,可以让模型更加关注少数类的样本,从而提高对少数类的预测能力。比如在使用Focal Loss时,可以通过设置参数alpha来调整类别权重,让模型更加关注少数类的样本。
    对于您的数据集,由于标签为0的句子占比较大,可以尝试使用过采样的方式来增加少数类样本的数量,或者使用类别权重的方式来调整类别权重,让模型更加关注少数类的样本。
    关于Focal Loss的参数alpha,它是用来调整类别权重的,通常情况下,可以将alpha设置为正样本数量除以负样本数量的比例,以保持正负样本的比例相对均衡。但是具体的参数设置还需要根据实际情况调试,以达到最优的效果。

    希望以上解答能够帮助您,祝您顺利完成毕业设计!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月27日
  • 已采纳回答 3月26日
  • 创建了问题 3月24日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大