整顿职场,从 ROC 曲线开始
每天给你送来NLP技术干货!
文 | 天于刀刀
来自 | 夕小瑶的卖萌屋
大家好,我是刀刀。
这周有个哥们在组会上被领导刁难了一波,来群里吐槽,最后意外地在大神的指导下又复习了一下 precision recall rate (PRR) 和 ROC 曲线的知识点:
后面聊天的画风就彻底转向吐槽老板吐槽工作了,就不全截图了。不得不说,咱整治职场靠的不是初生牛犊,而是实打实的技术和知识啊。
没想到熟背面经中 attention 机制的我竟然在基础的 ROC 和 PR 曲线这里存在知识点缺漏,不得不说学习还是不能只靠死记硬背,而是需要灵活理解。
其实这个问题好多小伙伴都没想过!
“ROC 曲线和 PR 曲线到底各自有什么优缺点”
“在样本数据不均匀的情况下,使用 ROC 更好还是 PRC 更好?”
结论就像聊天记录中大神说的那样,虽然 ROC 适用于评估分类器的整体性能,但是对于类别不均衡的数据,ROC 曲线往往会过于“乐观”,因此还是 PR 曲线更好。
我们知道,ROC 表示了 TPR(True Positive Rate) 和 FPR(False Positive Rate) 之间的关系。TPR是在正样本的基础上计算的,FPR是在负样本的基础上计算的,因此即使正负样本的比例不均衡,计算结果并不会改变。我们只需要注意保证样本的绝对数量不能太低,让 TPR 和 FPR 统计意义上有意义。
与之相对的,精度召回曲线的情况恰恰相反,尽管召回率只在正样本基础上计算,精度准确率需要同时测量正和负样本,因此精确度的测量取决于数据中的正负之比。
ROC曲线由于兼顾正例与负例,所以适用于评估分类器的整体性能,相比而言PR曲线完全聚焦于正例。
一种常见的认为 ROC 适用不均衡数据集的错误观点是,反正 TPR 和 FPR 的计算方式都是比值,因此数据是否均衡并不重要。
首先运用极限思想,在二分类问题中假设 A 类数据占据了 99.99%,那么分类器只需要预测所有数据为 A 类即可。这显然不合理。
其次对于多分类问题,ROC 也会因为“负类”的概念出现问题。即使你的数据在各个类别里是均匀分布的,对于 negative class,也就是所有的不是你目标的类别,也必定会被过度代表。
而 Precision Recall 曲线可以很好地解决这个问题。
那么 ROC 曲线适合被应用在什么地方呢?
ROC曲线主要不是为了显示出阈值是多少,而是关于模型在使用某个阈值时特征空间中数据的分离程度。对于一个鲁棒的分类器,TPR提升的速度应该远远地高于FPR提升的速度(凹函数)。
因此可以根据具体的应用,在曲线上找到最优的点,得到相对应的 precision 和 recall 等指标,去调整模型的阈值,从而得到一个符合具体应用的模型。
(a)和(c)为 ROC 曲线,(b)和(d)为 Precision Recall 曲线 (a)和(b)使用原测试集,(c)和(d)将测试集中负样本的数量增加到原来的10倍
上图来自大名鼎鼎的 An introduction to ROC analysis [3]。在数据分布改变后可以明显看到,ROC 曲线几乎没有改变, PR 曲线变动剧烈,时好时坏,这种时候难以进行模型比较。
因此数据中如果存在不同的类别分布,且想要比较分类器的性能且剔除类别分布改变的影响,则ROC曲线比较适合;反之,如果想测试相同类别分布下对分类器的性能的影响,则PR曲线比较适合。
最后我们得到一个有点反直觉的结论:
ROC 曲线选用的两个指标不依赖数据中具体的类别分布,因此不适合被应用于数据分布极度不均的任务中。
卖萌屋作者:天于刀刀
注重 WLB 的工业界反卷斗士,未进化的 NLP 咸鱼一条。专注于研究在各个场景中算法模型的落地情况,希望自己编写的算法有朝一日可以改变世界。目前的兴趣点在于:假新闻检测、深度学习模型可解释性等。
📝论文解读投稿,让你的文章被更多不同背景、不同方向的人看到,不被石沉大海,或许还能增加不少引用的呦~ 投稿加下面微信备注“投稿”即可。 最近文章 COLING'22 | SelfMix:针对带噪数据集的半监督学习方法
ACMMM 2022 | 首个针对跨语言跨模态检索的噪声鲁棒研究工作
ACM MM 2022 Oral | PRVR: 新的文本到视频跨模态检索子任务
[1] Accurate blogs on machine learning, https://www.reddit.com/r/MachineLearning/comments/y9n120/d_accurate_blogs_on_machine_learning
[2] 评价标准专题:常见的TP、TN、FP、FN和PR、ROC曲线到底是什么,大龙,https://zhuanlan.zhihu.com/p/87768945
[2] An introduction to ROC analysis, Tom Fawcett, https://www.sciencedirect.com/science/article/pii/S016786550500303X
微信扫码关注该文公众号作者