【问题标题】:BERT classification on imbalanced or small dataset不平衡或小数据集上的 BERT 分类
【发布时间】:2021-10-01 13:12:22
【问题描述】:
我有一个很大的语料库,没有标签。我训练了这个语料库来获得我的 BERT 分词器。
然后我想构建一个BertModel 来对标记的数据集进行二进制分类。但是,这个数据集是高度不平衡的,1:99。所以我的问题是:
- BertModel 能否在不平衡数据集上表现良好?
- BertModel 能否在小型数据集上表现良好? (小到少于 500 个数据点,我敢打赌不是......)
【问题讨论】:
标签:
bert-language-model
imbalanced-data
【解决方案1】:
使用预训练模型进行迁移学习的目标部分回答了您的问题。 BertModel 在大型语料库上进行了预训练,当适应特定任务的语料库时,通常比非预训练模型表现更好(例如,为分类任务训练一个简单的 LSTM)。
BERT 已经表明,它在针对小型任务特定语料库进行微调时表现良好。 (这回答了你的问题 2。)。但是,改进程度还取决于您要执行的领域和任务,以及用于预训练的数据与您的目标数据集的相关程度。
根据我的经验,当数据集高度不平衡时,预训练的 BERT 在对目标任务进行微调时比 LSTM 和 CNN 等其他 DNN 表现得更好。但是,这又取决于任务和数据。 1:99 确实是一个巨大的不平衡,这可能需要数据平衡技术。