机器学习策略-误差分析

觉得有用的话,欢迎一起讨论相互学习~Follow Me

2.1 误差分析

  • 训练出来的模型往往没有达到人类水平的效果,为了得到人类水平的结果,我们对原因进行分析,这个过程称为误差分析.

实例剖析

  1. 例如此时你正在训练一个猫分类器,其中正确率为90%,这离目标有一定的距离. 结果发现在错误图片中发现了狗的图片.
  2. 我们思考现在是否为了避免在猫图中混入狗而开始做一个项目专门处理狗.而做一个这样的项目会花费宝贵的时间并且不知道是否会取得很好的效果,此时我们利用误差分析流程权衡利弊,是否需要针对这个问题进行改进.
  • 误差分析
  1. 首先,收集100个错误标记的开发集例子,手动检查,查看开发集中有多少错误标记的例子是狗.
  2. 假设,100个错误标记中只有5%是狗,这意味着即使你修改了所有狗的问题,你也只能修改着100个错误中的5个.你的误差也只能从10%下降到9.5%.
  3. 假设,100个错误标记中有50%是狗,这意味着只要你修改了所有狗的问题,你只就修改了100个错误中的50个.你的误差也只能从10%下降到5%.这种情况下,单独考虑狗的问题是十分有意义的

误差分析的重要意义

  • 尽管在实际操作中,手动对系统结果进行检查被认为是十分繁琐的工作,但是其实花费时间并不多,而且产生的效果非常好~!检查100个错误的训练集合也许只要花费5~10分钟时间,但是可以立马估计你改进的方有多少价值.

how-to

  • 对于误差分析,你可以一次列举出好几种错误的情况,分别对错误进行分类,这样不仅效果好,还可以节省更多的时间.
  • 可以把错误原因做成电子表格的形式,分析误差的原因.


2.2 清除标注错误的数据

  • 监督学习问题的数据有输入X和输出标签Y构成,如果发现有些标签是错的,那是否值得花时间去修正这些标签呢?
  • 例如在猫分类器中有将狗分类成猫的错误标注的例子.

  1. 对于训练集,深度学习算法对于 随机的错误标注例子 的鲁棒性很强,一般对训练集的影响不大. 但是对于系统性的错误就不鲁棒了,例如将一类别的事物都标记错误.在猫分类器中将所有的白色的狗都分类为猫
  2. 对于开发集和测试集中 错误标注的例子 我们可以在 误差分析 中加一列表示由于标记错误产生的误差, 并且 计算修改这些误差所能带来的识别率的提升 .如果这些错误标记的例子对于开发集评价系统不会产生很大的影响,不进行修改也是可行的.牢牢把握训练集的目的是:选择和评价A和B两种分类器

Tips

  • 无论使用何种修正方法,都要同时作用到开发集和测试集上.因为要保证它们来自相同的分布.

2.3 快速搭建你的第一个系统并开始迭代

  • 如果你正在开发全新的机器学习应用,你应该尽快建立你的第一个系统原型,然后快速迭代.
  • 举语音识别的例子来说,如果你正在考虑一个新的语音识别系统,你有很多需要考虑的方面.你有很多需要做的事来改进语音识别系统.

  • 一般对于新建一个机器学习系统而言,一般会有50个考虑的方向.所以如果你想新建一个机器学习的应用,很重要的一点是快速搭好你的第一个系统,然后开始迭代.
  1. 快速设立开发集和测试集还有指标.
  2. 马上建立一个原型机器学习系统,然后找到训练集训练一下,看看效果.训练集上的准确率,开发集测试集评估指标表现如何.
  3. 分析偏差和方差,误差分析确定下一步.

Why

  • 初始系统的全部意义在于,有一个学习过的系统能够让你确定偏差和方差的范围,知道下一步该做什么,能够通过误差分析想出在所有能走的方向中,哪些是实际上最有希望的方向.

[DeeplearningAI笔记]ML strategy_2_1误差分析的更多相关文章

  1. [DeeplearningAI笔记]ML strategy_1_3可避免误差与改善模型方法

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产 ...

  2. [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题

    机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来 ...

  3. [DeeplearningAI笔记]ML strategy_1_2开发测试集评价指标

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考 ...

  4. [DeeplearningAI笔记]ML strategy_1_1正交化/单一数字评估指标

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 什么是ML策略 机器学习策略简介 情景模拟 假设你正在训练一个分类器,你的系统已经达到了90%准确 ...

  5. [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习

    机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...

  6. [DeeplearningAI笔记]ML strategy_2_4端到端学习

    机器学习策略-端到端学习 End-to-end deeplearning 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 什么是端到端学习-What is End-to-end dee ...

  7. [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...

  8. [DeeplearningAI笔记]序列模型3.3集束搜索

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一 ...

  9. [DeeplearningAI笔记]Multi-class classification多类别分类Softmax regression_02_3.8-3.9

    Multi-class classification多类别分类 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.8 Softmax regression 原有课程我们主要介绍的是二分分类( ...

随机推荐

  1. flask-sqlalchemy基本操作数据库

    # -*- coding: utf-8 -*- from sqlalchemy.ext.declarative import declarative_base from sqlalchemy impo ...

  2. vue.js之数据传递和数据分发slot

    一.组件间的数据传递 1.父组件获取子组件的数据 *子组件把自己的数据,发送到父级 *vm.$emit(事件名,数据); *v-on: @ 示例用法:当点击send按钮的时候,"111&qu ...

  3. MyEclipse10.7 10.6导出war文件报错 “SECURITY ALERT: INTEGERITY CHECK ERROR”

    myeclipse10.7的版本破解后,导出war包时报“SECURITY ALERT: INTEGERITY CHECK ERROR”的错误. 经过测试本次破解可以解决此错误,只需替换一个jar文件 ...

  4. Mvc 模板化的Razor引擎委托

    最近在研究NopCommerce,它后台用的富文本编辑器可根据语言库加载不同语言的编辑器,其中用到了模板化Razor引擎委托,参考这儿 废话不多说,直接上代码. public static class ...

  5. JavaSE(十一)之异常处理详解

    一.异常概述 在我们日常生活中,有时会出现各种各样的异常,例如:职工小王开车去上班,在正常情况下,小王会准时到达单位.但是天有不测风云,在小王去上班时,可能会遇到一些异常情况,比如小王的车子出了故障, ...

  6. c++(单向链表)

    有的时候,处于内存中的数据并不是连续的.那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址.有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到了 ...

  7. pycharm中一直跳出updating indices...indexing

    直接比较明显的就是cpu直冲天际. pycharm是一款用了就不愿意换的ide,因为他的功能十分强大,同时也有着让人诟病的问题,就是他功能太全了,以至于有的功能你这辈子可能都不会去触碰,带来的直接问题 ...

  8. JavaScript八张思维导图—字符串用法

    JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...

  9. 一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?

    一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?谢谢 xikeboy | 浏览 31055 次 推荐于2016-04-24 14:21:14 最佳答案 1.也就是说通常情况下一个域名同 ...

  10. python爬虫知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...