数据偏离真值的离散程度(偏斜类的误差度量)

本文是吴恩达《机器学习》视频笔记第68篇,对应第6周第10个视频。

“Machine Learning System Design:——Error metrics for skewed classes”

数据偏离真值的离散程度(偏斜类的误差度量)(1)

前面两个小节讲了怎样快速用简单算法将流程跑通,给出了基本的误差分析方法。这一节讲偏斜类问题。

偏斜类

所谓的偏斜类(Skewed Class)的问题,对于二元分类来说,其实就是一种分类的数据量远远大于另外一种分类。

以是否恶性肿瘤(癌症)的分类为例,我们希望能根据病人的一些特征判断病人是否患有癌症(y=1表示有癌症,y=0表示没有癌症)。

我们用逻辑回归算法来解决问题,发现在测试集有99%的正确率,这个结果看上去很完美。但是,你要知道患有癌症的毕竟是少数,可能在我们的测试集中只有0.5%的人真的患有癌症。

数据偏离真值的离散程度(偏斜类的误差度量)(2)

这样的话,你就知道我们的算法有多离谱了。因为,如果我们不管三七二十一全部给预测为y=0(没有癌症),那也只有0.5%的错误。

数据偏离真值的离散程度(偏斜类的误差度量)(3)

像上面这种某一种分类占比特别大的情况,被称为偏斜类。很明显,对于偏斜类的误差度量需要优化。

偏斜类的误差度量

前面癌症判断那个例子中,假如我们采用了一些办法将算法从99.2%的准确率提升到99.5%的准确率,那我们对算法的这些改进是否有效呢?这是比较难判断的。

当我们遇到偏斜类时,经常使用查准率(Precision)和召回率(recall)的概念。这两个概念适用于二分类问题。

对于一个二分类问题,预测结果和实际结果有四种组合。

  1. 实际为1,预测为1;True positive, TP
  2. 实际为0,预测为1;False positive, FP
  3. 实际为1,预测为0;False negative, FN
  4. 实际为0,预测为0;True negative, TN

T开头表示预测正确(本来为真、预测为真TP;本来为假、预测为假TN),F开头表示预测错误(本来为假,预测为真FP,本例为真,预测为假FN)。

数据偏离真值的离散程度(偏斜类的误差度量)(4)

查准率Precision的意思是,TP/(TP FP)。就是你所有预测为真那些样本中,预测正确的样本的占比。癌症那个例子就是,算法认为的所有癌症患者中真正的癌症患者占比是多少。查准率越高越好。

召回率Recall的意思是,TP/(TP FN)。这个意思是,你预测为真并且正确的数量在实际为真的数量中的占比。癌症的那个例子就是,实际患有癌症的患者被算法成功筛查出来的比例。召回率当然是越高越好。

回到前面的例子再来看看,如果我们不管三七二十一,都认为患者没有癌症,准确率99.5%。那这样做的召回率就是0,当然这个算法就毫无意义了。

这样,如果一个算法同时有较好的查准率和召回率,那这个算法就还是不错的。注意:使用查准率和召回率的时候,我们让那个出现比较少的情况为1(y=1出现较少)。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页