←上一篇 ↓↑ 下一篇→
1.2 正交化 回到目录 1.4 满足和优化指标

单一数字评估指标 (Single Number Evaluation Metric)

无论你是调整超参数,或者是尝试不同的学习算法,或者在搭建机器学习系统时尝试不同手段,你会发现,如果你有一个单实数评估指标,你的进展会快得多,它可以快速告诉你,新尝试的手段比之前的手段好还是差。所以当团队开始进行机器学习项目时,我经常推荐他们为问题设置一个单实数评估指标。

我们来看一个例子,你之前听过我说过,应用机器学习是一个非常经验性的过程,我们通常有一个想法,编程序,跑实验,看看效果如何,然后使用这些实验结果来改善你的想法,然后继续走这个循环,不断改进你的算法。

比如说对于你的猫分类器,之前你搭建了某个分类器 AAA ,通过改变超参数,还有改变训练集等手段,你现在训练出来了一个新的分类器B,所以评估你的分类器的一个合理方式是观察它的查准率(precision)和查全率(recall)。

查准率和查全率的确切细节对于这个例子来说不太重要。但简而言之,查准率的定义是在你的分类器标记为猫的例子中,有多少真的是猫。所以如果分类器 AAA 有95%的查准率,这意味着你的分类器说这图有猫的时候,有95%的机会真的是猫。

查全率就是,对于所有真猫的图片,你的分类器正确识别出了多少百分比。实际为猫的图片中,有多少被系统识别出来?如果分类器 AAA 查全率是90%,这意味着对于所有的图像,比如说你的开发集都是真的猫图,分类器 AAA 准确地分辨出了其中的90%。

所以关于查准率和查全率的定义,不用想太多。事实证明,查准率和查全率之间往往需要折衷,两个指标都要顾及到。你希望得到的效果是,当你的分类器说某个东西是猫的时候,有很大的机会它真的是一只猫,但对于所有是猫的图片,你也希望系统能够将大部分分类为猫,所以用查准率和查全率来评估分类器是比较合理的。

但使用查准率和查全率作为评估指标的时候,有个问题,如果分类器 AAA 在查全率上表现更好,分类器 BBB 在查准率上表现更好,你就无法判断哪个分类器更好。如果你尝试了很多不同想法,很多不同的超参数,你希望能够快速试验不仅仅是两个分类器,也许是十几个分类器,快速选出“最好的”那个,这样你可以从那里出发再迭代。如果有两个评估指标,就很难去快速地二中选一或者十中选一,所以我并不推荐使用两个评估指标,查准率和查全率来选择一个分类器。你只需要找到一个新的评估指标,能够结合查准率和查全率。

在机器学习文献中,结合查准率和查全率的标准方法是所谓的 F1F_1F1​ 分数, F1F_1F1​ 分数的细节并不重要。但非正式的,你可以认为这是查准率 PPP 和查全率 RRR 的平均值。正式来看, F1F_1F1​ 分数的定义是这个公式: 21P+1R\frac2{\frac1P+\frac1R}P1​+R1​2​

在数学中,这个函数叫做查准率 PPP 和查全率 RRR 的调和平均数。但非正式来说,你可以将它看成是某种查准率和查全率的平均值,只不过你算的不是直接的算术平均,而是用这个公式定义的调和平均。这个指标在权衡查准率和查全率时有一些优势。

但在这个例子中,你可以马上看出,分类器 AAA 的 F1F_1F1​ 分数更高。假设分数是结合查准率和查全率的合理方式,你可以快速选出分类器 AAA ,淘汰分类器 BBB 。

我发现很多机器学习团队就是这样,有一个定义明确的开发集用来测量查准率和查全率,再加上这样一个单一数值评估指标,有时我叫单实数评估指标,能让你快速判断分类器 AAA 或者分类器 BBB 更好。所以有这样一个开发集,加上单实数评估指标,你的迭代速度肯定会很快,它可以加速改进您的机器学习算法的迭代过程。

我们来看另一个例子,假设你在开发一个猫应用来服务四个地理大区的爱猫人士,美国、中国、印度还有世界其他地区。我们假设你的两个分类器在来自四个地理大区的数据中得到了不同的错误率,比如算法 AAA 在美国用户上传的图片中达到了3%错误率,等等。

所以跟踪一下,你的分类器在不同市场和地理大区中的表现应该是有用的,但是通过跟踪四个数字,很难扫一眼这些数值就快速判断算法 AAA 或算法 BBB 哪个更好。如果你测试很多不同的分类器,那么看着那么多数字,然后快速选一个最优是很难的。所以在这个例子中,我建议,除了跟踪分类器在四个不同的地理大区的表现,也要算算平均值。假设平均表现是一个合理的单实数评估指标,通过计算平均值,你就可以快速判断。

看起来算法 CCC 的平均错误率最低,然后你可以继续用那个算法。你必须选择一个算法,然后不断迭代,所以你的机器学习的工作流程往往是你有一个想法,你尝试实现它,看看这个想法好不好。

所以本视频介绍的是,有一个单实数评估指标真的可以提高你的效率,或者提高你的团队做出这些决策的效率。现在我们还没有完整讨论如何有效地建立评估指标。在下一个视频中,我会教你们如何设置优化以及满足指标,我们来看下一段视频。

课程PPT




←上一篇 ↓↑ 下一篇→
1.2 正交化 回到目录 1.4 满足和优化指标

1.3 单一数字评估指标-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授相关推荐

  1. 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授

    文章目录 目录 第五课 第四课 第三课 第二课 第一课 目录 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1. ...

  2. 0.0 目录-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

  3. 3.11 结论和致谢-深度学习第五课《序列模型》-Stanford吴恩达教授

    结论和致谢 (Conclusion and thank you) 恭喜你能走到这一步,在最后这节视频中,只想做个总结,并给你一些最后的想法. 我们一起经历了一段很长的旅程,如果你已经学完了整个专业的课 ...

  4. 3.4 改进集束搜索-深度学习第五课《序列模型》-Stanford吴恩达教授

    改进集束搜索 (Refinements to Beam Search) 上个视频中, 你已经学到了基本的束搜索算法(the basic beam search algorithm),这个视频里,我们会 ...

  5. 1.1 为什么选择序列模型-深度学习第五课《序列模型》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.12 总结(第四课) 回到目录 1.2 数学符号 为什么选择序列模型 (Why Sequence Models?) 在本课程中你将学会序列模型,它是深度学习中最令人激动的 ...

  6. 2.1 词汇表征-深度学习第五课《序列模型》-Stanford吴恩达教授

    词汇表征 (Word Representation) 上周我们学习了RNN.GRU单元和LSTM单元.本周你会看到我们如何把这些知识用到NLP上,用于自然语言处理,深度学习已经给这一领域带来了革命性的 ...

  7. 4.2 One-Shot 学习-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.1 什么是人脸识别? 回到目录 4.3 Siamese 网络 One-Shot 学习 (One-Shot Learning) 人脸识别所面临的一个挑战就是你需要解决一次学 ...

  8. 2.2 经典网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.1 为什么要进行实例探究? 回到目录 2.3 残差网络 经典网络 (Classic Networks) 这节课,我们来学习几个经典的神经网络结构,分别是LeNet-5.A ...

  9. 1.7 单层卷积网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.6 三维卷积 回到目录 1.8 简单卷积网络示例 单层卷积网络 (One Layer of a Convolutional Network) 今天我们要讲的是如何构建卷积 ...

最新文章

  1. 实现无刷新DropDownList联动效果
  2. Microsoft二任CEO业绩对比,说明什么?
  3. python词频统计代码_python统计词频
  4. MapReduce原理全剖析
  5. 图片支持滚轮缩放(缩放中心为鼠标位置)_JS实现图片缩放、拖动、剪裁、预览及保存效果...
  6. vb6.0 定义一个公共类_纠正网上的错误:能不能自定义一个类叫java.lang.System/String?...
  7. 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
  8. css制作俄罗斯方块,H5原创俄罗斯方块(基于canvas)
  9. ofd文件怎么复制文字
  10. TwinCAT3入门教程1——TC3系统安装
  11. java计算机毕业设计医疗器械销售电子商城源码+系统+mysql数据库+lw文档
  12. 论文的中期报告怎么写?
  13. werfault.exe出现的原因与解决办法以及werfault.exe 该内存不能为written如何解决?
  14. IntelliJ Keymap
  15. [Python]基于pygame的像素转化器
  16. 【Python】经典问题创建一个矩形类,定义方法 属性 初始化
  17. Android studio 安装配置SDK
  18. imp 00017 由于 oracle 错误 6550,imp 导入dmp文件报错 IMP-00017: 由于 ORACLE 异常 20005 求大神!...
  19. AI-K210 开发家庭万用宝模组(1)
  20. 用C语言实现my_strncat

热门文章

  1. ChromeDriver启动Chrome浏览器后,地址栏只显示data;——chromeDriver版本不对
  2. website for .Net Core
  3. 2017-2018-1 20155327 实验四 外设驱动程序设计
  4. 算法笔记——整数划分1
  5. 二叉树(14)----由前序遍历和中序遍历重建二叉树,递归方式
  6. 一起来用Websocket(一)开篇 Websocket!Socket在HTML5复活
  7. python for
  8. scapy安装and简介
  9. UA SIE545 优化理论基础1 凸分析2 仿射组合与仿射包
  10. UA MATH563 概率论的数学基础I 概率空间1 基本概念