一种为评估文本分类效果的改进指标
相比sklearn 中已有的,可以直接调的评价指标来说,本文提及的指标会复杂一些.
指标的改进是为了针对特定的需求,使模型朝着希望的路径演变,本质上来说是一种加权,针对特定需求朝着特定方向的加权.本文参考的使用案例则是希望能够在分类的时候对身份识别能够有特定的加权,故特改进之.
只是做一些学习记录,如有遗误,望请指教.
公式
$${score}=w_{0} A U C_{\text {overall}}+\sum_{a=1}^{A} w_{a} M_{p}\left(m_{s, a}\right)$$
最终得分由 整体AUC 与 广义偏差AUC均值 们 加权 得到.
本次涉及到3种偏差AUC(Subgroup_AUC/BPSN_AUC/BNSP_AUC).
整体AUC值是常规操作,详可参sklearn.
其中:
- $A$表示子指标数量 本次为3
- $m_{s, a}$表示子组s的第a中偏差指标
- $w_{a}$ 表示对应的 广义均值 权重, 本次所有权重都为0.25,即等权.
$M_{p}\left(m_{s, a}\right)$ 含义
即广义均值
本次计算广义偏差AUC均值
公式为:
$$
M_{p}\left(m_{s}\right)=\left(\frac{1}{N} \sum_{s=1}^{N} m_{s}^{p}\right)^{\frac{1}{p}}
$$
其中:- $M_{p}$表示p级广义均值, 本次取p=-5
- $m_{s}$表示子组s的偏差指标
- $N$ 表示子组数量
进一步, 公式的重点是定义了三种偏差AUC.
三种偏差AUC含义
三种偏差AUC的计算公式其实一样,都是计算AUC,不同的是基于不同的数据子集计算.
Subgroup_AUC
基于 满足身份识别的样本所构成的子数据集计算的AUC,这个指标越低表示在特定需求(身份识别)上模型表现越差.
BPSN_AUC
即 Background Positive, Subgroup Negative AUC
基于提及身份的正面和不提及身份的负面样本所构成的子数据集计算的AUC,这个指标越低表示模型混淆了身份识别,只要提及了身份识别就可能被预测得到更高的值,这不是希望的最佳模型.BNSP_AUC
即 Background Negative, Subgroup Positive AUC
基于提及身份的负面和不提及身份的正面样本所构成的子数据集计算的AUC.
结语
所以同理,
将来也可以基于此思路,针对其它的特定需求,设计特定的评价指标.在模型训练的时候就依据需求进行加权.