在学习机器学习的模型性能度量中PR曲线的时候碰到了两个问题,P-R为什么互逆,以及PR曲线的原理。这两个概念我找到的资料对新人来说似乎都没有那么通俗易懂,所以自己尝试用比较白的语言做了一个解释。

首先来介绍四个概念

1.真正类 (True Positive : TP) 正类预测为正类
2.假负类 (False Negative : FN) 正类预测为负类
3.假正类 (False Positive : FP) 负类预测为正类
4.真负类 (True Negative : TP) 负类预测为负类
解释:假设模型使用正负为结果预测一堆数据,得到实际为正预测也为正的,实际为正预测为负,实际为负预测为正的,实际为负预测也为负的四堆数据。

P(查准率) 和 R(查全率) 的定义

P=TPTP+FPP=\frac{TP}{TP+FP}
预测结果中为正的,其中真正类的比值 (预测结果中有一部分正类是负类被预测为正类)

R=TPTP+FNR=\frac{TP}{TP+FN}
真正类占所有实际正类的比值 (有一部分正类被预测成了负类)

P(查准率) 和 R(查全率) 为什么互逆

很多资料对这个问题都只简单的说了一下他们是 tradeofftrade-off (此消彼长) ,一个高了另一个就会低的关系。却没有比较详细的说明为什么,因为除开真正类,假正类和假负类在数据集中并没有直接的联系。我尝试在两个方向解释一下:

1.模型误差偏向

一个模型在评价一个数据集的时候,数据集中除开一些特征比较明显的数据记录会得到极高或者极低的评分,模型的误差不会对这部分数据造成影响。但是对于处于中间评分容易摇摆的数据,加上模型的误差可能就就会把他们分到错误的类中。在动则千万百万数据的大数据环境下,模型的误差偏向一搬是比较固定的。对于二分类的评分可以直接理解成在数据的实际评分上多了一点或者少了一点。
假设评分范围为1-100,1-50为正类,50-100为负类。模型的误差为±10\pm10,此时评分在40-60分的数据为摇摆数据。假设误差为10-10时,模型倾向于将摇摆的负类预测为正类,此时假正类比较多,根据定义可得查准率较低。假负类不多,根据定义查全率比较高。假设误差为+10+10时,模型倾向于将摇摆的正类预测为负类,此时假负类比较多,根据定义可得查全率较低。假正类不多,根据定义查全率比较高。

2.分类阈值

假设训练集是一组比较均匀的数据,评分在评分范围内也比较均匀的情况下,我们定的分类阈值也会对最终的预测结果产生影响。假设评分高为正类,评分低为负类。阈值设置的比较低的时候,假正类少,假负类多。阈值设置的高时,假正类多,假负类比较少。同样能分析出查准率和查全率是一组 tradeofftrade-off 的关系。

结论: 查准率和查全率此消彼长
P-R曲线的定义

二分类问题中,一个模型在预测一组数据后,先不管分类阈值。我们将评分排序,然后自上而下以每个结果的评分作为阈值得到查准率和查全率,或者以一组固定差距的,评分范围内的排序过的值作为阈值。查准率 P 为纵坐标,查全率 R 为横坐标。将所有的点连成线大致可得到一条如下的线:
机器学习分类问题中模型度量--P-R互逆及P-R曲线
得到P-R曲线之后那我们怎么利用曲线去评价模型呢?
1.理想状态下我们希望查准率和查全率都是越高越好,但是由上我们分析可知他们之间互逆。那我们只能退而求其次,找到一个平衡点。这个平衡点就是 查准率 = 查全率的时候。我们可以选择这个时候曲线对应的模型阈值作为分类阈值。
2.我们将假设空间中的模型对应测试集的P-R曲线都绘制在一个二维坐标系上。做一条y=xy=x 的直线穿过所有曲线。最外测那条与y=xy=x 交叉的P-R曲线对应的模型就是我们的理论最优模型,因为这条P-R曲线对应的查准率和查全率都是最大,满足设想。如下图中的曲线A
机器学习分类问题中模型度量--P-R互逆及P-R曲线

P-R曲线存在的问题

P-R曲线适用于测试集比较均匀的模型,即两种分类的数据量相差不会太大。如果数据正负类分布极不均匀呢,如负类占比很大。在上面的例子中,假设模型误差偏向是趋于预测正类,即使阈值设置较低时,假正类可能依旧很多,导致查准率极速下降。随着阈值的升高,查准率也随之慢慢减少。如下,
机器学习分类问题中模型度量--P-R互逆及P-R曲线

这会导致一个问题,平衡点的查准率和查全率都不高,此时用P-R曲线去衡量模型的好坏也就没有太多意义了。理想的P-R曲线应该是向外侧凸出的,如第一张图中那样,这样取得的平衡点对应的查准率查全率会比较大。这里引入ROC曲线的概念,ROC曲线可以解决分类模型数据正负类分布不均匀的问题,但是具体实现不在此贴中详诉。

相关文章:

  • 2023-02-15
  • 2021-11-13
  • 2021-05-31
  • 2021-04-27
  • 2022-01-06
  • 2021-11-27
  • 2021-07-31
  • 2021-12-26
猜你喜欢
  • 2021-12-25
  • 2021-08-04
  • 2022-02-03
  • 2021-04-24
  • 2021-10-31
  • 2021-09-30
相关资源
相似解决方案