构建机器学习项目2

Error Analysis

  • Carrying out error andlysis

如果你想得到一个训练算法来做人类可以做的任务 而且你所训练的算法还没有达到人类的效果 你需要手动地检查算法中的错误 来得到你下一步该做什么 这个过程叫做错误分析

image.png

首先 拿大约100张分类错误的验证集图片并进行手动检测 只需要数一数 看有多少张 验证集中标错的样本实际上是狗的图片 现在 假设事实证明 在验证集中分错的100张样本里有5%是狗的图片 也就是说 验证集中分错的100张中有5张是狗 这意味着在这100张图片中 特指你分错的这100张 即使完全解决狗的问题也只在这100张中多分对了5张 换言之 若只有5%的错误是狗照片 如果你在狗的问题上花了大量时间 最好的情况也就是 你的错误率 从10%下降到9.5% 对吗 这5%是错误里的相对下降值,因此是从10%下降到9.5% 那么你可能可以合理地判断出这样并不是最好的利用时间的方式 也有可能是,但至少给了你一个上限 通过处理狗的问题能提高多少准确率 对吗?

在机器学习中 有时我们把这称为表现上限 意思是最好的情况是什么 关注狗的问题能有多大的帮助

在错误分析中 只看验证集里你的算法判断错误的样本


image.png

综上所述 要进行错误分析,你应该找到一套 在你验证集中错误标识的样本 并按假阳性和假阴性来看 并计算不同类别中的 误判个数 在此过程中 可能会促使你提出新的错误类别 就像我们看到的 当你浏览样本的时候 有很多Instagram滤镜 或者Snapchat滤镜 他们也搞乱了分类 您可以在过程中创建新类别 但通过对不同类中错误标识的例子计数 通常这将有助于你判断优先级 或给你新方向的灵感

  • Cleaning up incorrectly labeled data

监督式学习的问题中,数据由输入X和输出的标签Y组成 如果检查数据集,你发现有些 输出标签Y错了 (也就是说)你的部分数据,有错误的标签 你值得花费时间去修正这些标签吗? 让我们一起看看这个问题

深度学习算法对随机错误很稳健, 但它们(深度学习算法)对系统误差不那么稳健 比如说,如果你的标记员一直把白色的狗标记为猫, 那就会产生问题,因为你的分类器会 学着把所有的白色的狗分类成猫 但是随机错误,或者接近随机的错误 通常对深度学习算法来说,不算太糟糕

image.png

对于开发集和测试集中的错误标记数据呢?一个比较推荐的做法是,在错误分析的过程中 增加一列,去统计 Y的标签错误的数量,这个标记员漏掉了背景里的这只猫 所以,在那里打个对勾,表示第98个例子的标签错了 可能在这个例子里, 这个图片实际上是一个画的猫,而不是真的猫 可能你想要标记员标记成0,而不是1 所以在这里打个对勾 就像你计算错误率 (这些错误率)由其他类别导致的,可以计算一下由这些错误标签导致的错误率 在你的开发集里,Y的值是错的 这解释了为什么你的机器学习算法 预测了一个和数据里标签不一致的结果 所以,现在的问题是 我们值得花费时间去纠正这6%的错误标记的例子吗? 如果这些错误对你评估算法在开发集上的效果 有很大的影响的话 那就继续做吧,花时间去纠正这些错误标签 但是如果没有太大影响 对你用开发集去评估模型 那你的时间最好不要花在这上面

image.png
image.png
  • Build your first system quickly, then iterate

image.png

Mismatched training and dev/test set

深度学习算法都希望有大量的训练数据 要使它运转在最佳状态 训练集中要有足量已标记训练数据 这导致很多团队将能找到的任何数据 都塞进训练集,只为有更多的训练数据 即使有些 甚至很多这种数据 来自于与开发集和测试集不同的分布 因此在深度学习时代,越来越多的团队正在使用的 训练数据并非来自与开发集和测试集相同的分布

  • Training and testing on different distribution

通过估计学习算法的偏差和方差 能帮你确定下一步工作的优先级 但当你的训练集 开发集 测试集 来自不同的分布时 偏差和方差的分析方法也会相应变化 接下来一起看看如何实现

image.png
image.png
  • Bias and Variance with mismatched data distributions

image.png
image.png
image.png
  • Addressing data mismatch

如果训练集的分布 与你的开发集和测试集的分布不同 并且如果误差分析表明出现了数据不匹配的问题 你该怎么解决?

image.png
image.png

Learning from multiple tasks

  • Transfer learning

深度学习中最有力的方法之一,是有时你可以把在一个任务中神经网络 学习到的东西,应用到另一个任务中去。 比如,你可以让神经网络 学习去识别物体,比如猫,然后用学习到的 (一部分)知识 来帮助你更好地识别X射线的结果。 这就是所谓的迁移学习

你有几种方法来重新训练这个放射数据的神经网络。 如果你只有一个小的放射数据集, 你可以只重新训练最后一层的权值,就是WL 和PL,同时保留其它所有参数。 如果你有足够的数据, 你也可以重新训练神经网络的其余所有层。 我们的经验就是如果你有一个小规模的数据集, 那么就去重新训练最后一层和输出层的神经网络, 或者你也可以训练最后一到两层的神经网络。 但是如果你有大量的数据, 你或许可以对这个神经网络的所有参数都进行重新训练。 要是你对神经网络的所有参数进行重新训练, 那么这样训练的初始化阶段 有时候被我们叫做预训练(pre-training) 原因是,你在是使用图像识别的数据 来预初始化(pre-initialize)或者说预训练神经网络的权重。 然后如果你在之后对所有的权重进行更新, 那么在放射扫描的数据上的训练有时候被我们叫做微调(fine tuning) 所以有时候你会在深度学习领域听到预训练(pre-training)和微调(fine tuning)这些词, 上面我所说的就是他们在迁移学习中 表达的真正含义

image.png

那么迁移学习在什么时候有用呢 当你在你的被迁移的模型中拥有大量的数据, 而你在你需要解决的问题上拥有相对较少的数据时, 迁移学习是适用的

image.png
  • Multi-task learning

迁移过程是有先后顺序的 从任务A中学习,然后将其迁移到任务B。 在多任务学习中,你(多个任务)一起开始 尝试让一个神经网络同时做几件事 然后,每个任务将会帮助完成其他任务

image.png
image.png

End-to-end deep learning

  • What is end-to-end deep learning

近期,深度学习最令人兴奋的进展之一 是端到端深度学习的崛起 那么,什么是“端到端“的深度学习呢? 简单地说,我们有一些数据处理系统 或者是由多个阶段组成的学习系统 端到端的深度学习做的 就是它可以捕获所有的阶段 并且,通常可以将其替代为单个神经网络 也就是说运行速度更快 以语音识别为例 其目标是接收输入音频片段X 将其转换为该音频剪辑对应的 脚本输出Y。 传统的语音识别分为多个处理阶段。 首先,需要提取音频的一些特征, 一些人工设计的音频特征。 或许你听说过MFCC 这种算法(MFCC), 用于提取一组特定的人工设计的音频特征。 提取了低级特征之后, 可以应用机器学习算法 从音频剪辑中查找音素 音素是声音的基本单位 比如说,单词"cat"由三个音构成 Cu,Ah和Tu,算法会提取出这三个音素 然后把音素串在一起,形成单词 再将这些单词串在一起,构成音频剪辑的脚本。 不同于上述由多个阶段组成的途径(管道) 端到端的深度学习 可以训练一个庞大的神经网络,只需输入音频片段, 然后直接输出脚本

当你的数据集较小时, 传统的管道方法实际上同样有效, 有时甚至更好。 你需要一个大的数据集以便端到端的方法真正突显其作用。 如果你有中等量的数据, 可以采用折衷的方法:输入音频, 绕过这些特征,只学习输出神经网络的音素, 然后继续其它阶段。 因此这是端到端学习的一个步骤, 不是彻底的端到端学习

image.png

所以在实际应用中, 把整个问题分成两个子问题来解决会 比完全端到端的深度学习方案得到更好的性能。 尽管如果你有足够的数据, 也许端到端的方案会更加好, 但是目前来说在实际应用中这不是最好的方法

image.png
image.png
  • Whether to use end-to-end deep learning

image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 文章主要分为:一、深度学习概念;二、国内外研究现状;三、深度学习模型结构;四、深度学习训练算法;五、深度学习的优点...
    艾剪疏阅读 21,826评论 0 58
  • 误差分析 人工检查你的算法犯的错误,也许可以让你了解接下来应该做什么,这个过程称为误差分析 eg 假设正在调试猫分...
    徐凯_xp阅读 629评论 0 0
  • 昨天早上醒来,就发现微博被沉珂的一条长微博给炸了。 她说,我是沉珂,大家好,七年不见。 我记得,在大学的这几年,我...
    祝潇颖阅读 370评论 0 2
  • 公司的清洁工阿姨,说是阿姨,看年纪应该只有30几岁。平时交集不多,她每天按点来打扫下卫生,清理垃圾之类。就这样一份...
  • 你何时而来谜一样的存在我用过去的常量假设将来推演现在的边界为你清除内心所有的滥情让每一颗细胞留白心中无爱方能钟我所...
    枫之然阅读 483评论 8 20