·阅读摘要:
本文更像是对多标签文本分类的损失函数的综述,文中提到的几个损失函数(包括为了解决长尾问题的损失函数)都是前人已经提出的。
·参考文献:
[1] Balancing Methods for Multi-label Text Classification with Long-Tailed Class Distribution
[1] Loss Functions
个样本的训练集,其中,是类别数量,假设模型对于某个样本的输出为,则 BCE 损失的定义如下:
,对于多标签分类问题来说我们需要将模型的输出值压缩到 [0,1] 之间,所以需要用到 sigmoid 函数.
相当于一个 onehot 向量,而对于多标签来说,真实值相当于一个 onehot 向量中多了一些 1,例如 [0,1,0,1],表示该样本同时是第 1 类和第 3 类
这种朴素的 BCE 非常容易收到标签不平衡的影响,因为头部样本比较多,可能所有头部样本的损失总和为 100,尾部所有样本的损失加起来都不超过 10。下面,我们介绍三种替代方法解决多标签文本分类中长尾数据的类别不均衡问题。这些平衡方法主要思想是重新加权 BCE,使罕见的样本 - 标签对得到合理的 “关注”
[2] Focal Loss (FL)
,Focal Loss 将更高的损失权重放在 “难分类” 的样本上,这些样本对其真实值的预测概率很低。对于多标签分类任务,Focal Loss 定义如下:
[3] Class-balanced focal loss (CB)
,那么对于每个类别来说,都有其平衡项
控制着有效样本数量的增长速度,损失函数变为
[4] Distribution-balanced loss (DB)
通过整合再平衡权重以及头部样本容忍正则化(negative tolerant regularization, NTR),Distribution-balanced Loss 首先减少了标签共现的冗余信息(这在多标签分类的情况下是很关键的),然后对 “容易分类的” 样本(头部样本)分配较低的权重
来加权,但是在多标签的情况下,如果采用同样的策略,一个具有多标签的样本会被过度采样,概率是。因此,我们需要结合两者重新平衡权重
可以将上述权重变得更光滑一些(有界)
的值域为
和一个内在的特定类别偏差以降低尾部类别的阈值,避免过度抑制
;对于头部样本来说,。 可以在训练开始时最小化损失函数来估计,其比例系数为,类别先验信息 ,则
最终,通过整合再平衡权重以及 NTR,Distribution-balanced Loss 为
[5] 实验结果
使用的模型为 SVM,对比不同损失函数的效果