CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记

文章原创,最近更新:2018-06-20

1.什么是二分类?
2.TP/FN/FP/TN
3.精确率Precision、召回率Recall和F1值
4.总结

参考链接:
1、 谈谈准确率(P值)、召回率(R值)及F值
2、深度学习基础知识04-二分类问题
3、准确率、精确率和召回率

前言:通过网上找的文章,通过归纳总结具体如下:

1.什么是二分类?

先来介绍什么是二分类问题。在二分类问题中,通常分类的结果只有两个:是(Yes)和不是(No)。例如,我们要判断一张图片中是否有猫。如下图所示,是一张大小为64x64像素的猫的图片:

CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第1张图片

如上图所示的猫的图片在计算机中其实是按如下格式保存的:在计算机中,RGB彩色图片的像素是由三种颜色Red,Green以及Blue构成,那么其实上面的图片在计算机中其实是三个矩阵,如下图所示:

CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第2张图片

我们可以将上图中的像素全部取出来,作为该图片的特征向量,如下表示为列向量x:


CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第3张图片

那么上面这个特征向量x的规模为64x64x3=12288,我们把这个向量的规模表示为nx。同时,我们用y来表示图片中是否有猫,即:


下面来讲解一下后面文章中需要用到的符号:


CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第4张图片

为了更进一步能将数据表示得更紧凑些,我们使用大写字母X和大写字母Y分别表示训练集中的输入和输出,如下所示的是输入X:


CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第5张图片

我们一般使用上图中(a)所示的方式来表示训练集的输入X,因为在python中,使用这种方式保存 训练集能方便我们的计算。(你可能也会看到有文章会使用上图中(b)所示的方式来表示训练集中的输入X)

另外对于输出Y我们使用m个对应输出X的行向量量来表示:



总结一下,二分类问题即给定一个样本作为输入,输出的答案只能有两个:Yes 和 No。在下面篇文章中,我们将学习逻辑回归,然后我们将会使用逻辑回归来把本文开头的“判断图片中是否有猫”这个看似计算机很难解决的问题数学化。

2.TP/FN/FP/TN

考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。

  • TP:正确肯定的数目;
  • FN:漏报,没有正确找到的匹配的数目;
  • FP:误报,给出的匹配是不正确的;
  • TN:正确拒绝的非匹配对数;

列联表如下表所示,1代表正类,0代表负类:


CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第6张图片

假设现在有4个红色球,6个蓝色球,共计10个球。

CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第7张图片

我们的任务是将 红色的球都挑出来。结果我们共挑出了6个球:3个红色,3个蓝色,如下图,左边是我们挑出来的,右边是剩下的。
CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第8张图片

  • TP: true positive;左边的红球
  • FP: false positive;左边的蓝球
  • TN: true negative;右边的蓝球
  • FN: false negative;右边的红球

3.精确率Precision、召回率Recall和F1值

精确率(正确率)和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。

  • 其中精确度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;
  • 召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了,两者的定义分别如下:

Precision = 提取出的正确信息条数 / 提取出的信息条数
Recall = 提取出的正确信息条数 / 样本中的信息条数

为了能够评价不同算法的优劣,在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下:
F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

案例1:

  • 准确率Accuracy是,对于给定的测试数据集,正确分类的样本数与总样本数之比。
    也就是,挑出来该挑出来的与留下该留下的之和与总数之比,也就是下图中画对号的球的数量与所有球的数量之比。好拗口,还是看图吧……
    Accuracy=(TP+TN)/(TP+TN+FP+FN)*100%=60%


    CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第9张图片
  • 精确率precision是,正确被分类的占实际被分类的比例。看图说话,也就是画对号的红球数与粉色区域中所有球的数量之比。
    Precision=TP/(TP+FP)*100%=50%


    CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第10张图片
  • 召回率recall是,正确被分类的占应该被分类的比例。看图说话,也就是画对号的红球数与所有红球数之比
    Recall=TP/(TP+FN)*100%=75%


    CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记_第11张图片

案例2:

某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

  • 正确率 = 700 / (700 + 200 + 100) = 70%
  • 召回率 = 700 / 1400 = 50%
  • F1值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

  • 正确率 = 1400 / (1400 + 300 + 300) = 70%
  • 召回率 = 1400 / 1400 = 100%
  • F1值 = 70% * 100% * 2 / (70% + 100%) = 82.35%

案例3:
假设我此时想吃香蕉,实验室里面每天都会安排10个水果,水分别是6个香蕉,3个橘子,1个菠萝。哎,但是,实验室主任搞事情啊,为了提高我们吃水果的动力与趣味,将10个水果放在黑盒子中,每个人是看不到自己拿的什么,每次拿5个出来,哎,我去抽了,抽出了2个香蕉,2个橘子,1个菠萝。

1)正确率
按照一开始说的,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。
这里我们的正样本就是我想吃的香蕉!
在预测结果中,有2个香蕉,总个数是我拿的5个,那么P值计算如下:

2)召回率
召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。
我们这里的正类是我想吃的香蕉,而在样本中的香蕉个数是6个,召回率的召回也可以这么理解,代表了原始样本中正类召回了多少。计算如下:
(分母已经变成了样本中香蕉的个数啦)


3)F值
可能很多人就会问了,有了召回率和准去率这俩个评价指标后,不就非常好了,为什么要有F值这个评价量的存在呢?

按照高中语文老师所说的,存在即合理的说法,既然F值存在了,那么一定有它存在的必要性,哈哈哈哈!

我们在评价的时候,当然是希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。

比如极端情况下,在我们这个例子中,我们只搜索出了一个结果,且是香蕉,那么Precision就是100%,但是Recall为1/6就很低;而如果我们抽取10个水果,那么比如Recall是100%,但是Precision为6/10,相对来说就会比较低。

因此P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,通过计算F值来评价一个指标!

我这里给出最常见的F1计算方法,如下:


那么在我们这个例子中F1 = (2 2/52/6)/(2/5+2/6)
(这里我就不算出来了,有这个形式,更加能体现公式特点!)

4.总结

由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。

当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。

你可能感兴趣的:(CH1 统计学习方法概论|1.8分类问题《统计学习方法》-学习笔记)