机器学习策略-误差分析

觉得有用的话,欢迎一起讨论相互学习~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. Django---->模板层(template)

    模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime ...

  2. js设计模式之惰性单例模式

    <html> <body> <button id="loginBtn">登录</button> </body> < ...

  3. position:absolute 的深入探讨

    position:absolute 参考谁进行定位的问题.之前大家可能会认为如果absolute元素的父级(祖父)元素没有设置position属性的时候,该元素的position:absolute会参 ...

  4. Redux 介绍

    本文主要是对 Redux 官方文档 的梳理以及自身对 Redux 的理解. 单页面应用的痛点 对于复杂的单页面应用,状态(state)管理非常重要.state 可能包括:服务端的响应数据.本地对响应数 ...

  5. Java集合源码分析(四)HashMap

    一.HashMap简介 1.1.HashMap概述 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射.此类不保证映射的顺序,假定哈希函数将元素 ...

  6. flume1.8 Interceptors拦截器(五)

    1. Flume Interceptors Flume有能力修改/删除流程中的events.这是在拦截器(interceptor)的帮助下完成的.拦截器(Interceptors)是实现org.apa ...

  7. SpringMVC框架学习笔记(4)——结果跳转方式

    1.设置ModelAndView对象.根据View和视图解析器跳转到指定页面(视图解析器前缀+viewname+视图解析器后缀) @Override public ModelAndView handl ...

  8. js随机产生区间数

    function selectFrom(startNumber, endNumber) { //1.从几开始 2.到几结束 var choice = endNumber - startNumber + ...

  9. css3中的关键帧技术分析应用

    最近在研究网页加载进度效果的时候发现可以使用css3实现这个效果. 使用css3实现完全不需要图片,相比使用loading.gif的实现来说可能更快. 使用css3实现动态加载的效果,主要会涉及到几个 ...

  10. encodeURIComponent() 函数

    https://baike.baidu.com/item/encodeURIComponent() 函数/7418815?fr=aladdin encodeURIComponent() 函数[1] 作 ...