第九章 机器学习(ML)策略(2)

1.进行误差分析

        如果希望算法能胜任人类能做的任务,但算法还没达到人类的水平,那么可以人工检查下算法犯的错误,也许这样就可以知道下一步该做什么,这就是误差分析。

图9.1 示例

        如图9.1,在猫识别中,假设有10%错误率,人工检查错误样本发现,算法将部分狗识别成了猫。

        这时,我们是否需要花费精力去处理狗识别成猫的问题呢?可能耗时一个月、两个月、甚至更久。

        首先,先看看错误样本,假设有100个错误样本。

        如果只有5%的错误样本是狗,花精力处理狗误识别问题后,那么错误率最多只能从10%下降到9.5%,改变的性能上限为0.5%。

        如果只有50%的错误样本是狗,花精力处理狗误识别问题后,那么错误率最多只能从10%下降到5%,改变的性能上限为5%。

        针对不同情况,我们可以根据改变的性能上限去做出决定是否花费精力去处理狗识别成猫的问题。

        在机器学习中,有时候很鄙视手工操作,但是简单的人工统计步骤及错误分析,可以节省大量时间,可以迅速决定什么是最重要的。

图9.2 多种导致错误情况      

        错误样本中不只是狗识别成猫,可能还会有大型猫科动物比如老虎识别成猫,或者图片模糊导致识别错误等。可以列一个如图9.2的表格,最终分析出各种错误情况占比,得到性能提高的上限空间,然后选上限空间最大的两个进行改善,或者分两个团队每个团队改善其一。

        所以,这个快速统计的步骤,能够帮你选出高优先级任务,指明下一步方向。

2. 清楚标注错误的数据

        在监督学习中,学习的数据由输入X和输出标签Y构成。但是有些数据输出标签可能是错的。

图9.3 错误标注

        如图9.3,标注0代表狗,标注1代表猫,倒数第二张图白狗标注出错。这种错误是否会影响训练误差呢?

        如果是随机错误,实验证明只要数据量足够大,机器学习系统对其的鲁棒性很强,不会影响训练误差。

        如果是系统性误差,即所有白狗都标注错误,那么就会影响训练误差.

        机器学习系统对随机标注错误在训练集上鲁棒性很强,下面分析标注误差在开发集和测试集情况。

图9.4 开发集或测试集错误分析

        如图9.4,按照上一节方法,列出在开发集或测试集中各种导致错误的情况,然后查看因为标注错误导致错误的比例。如果占比很高,那么就得去处理标注错误问题。

图9.5 开发集或测试集标注错误纠正原则      

        如图9.5,开发集或测试集标注错误纠正应有以下原则:

        1、必须同时纠正开发集和测试集,确保他们属于同一分布,即瞄准同一靶心。

        2、不仅要检查做得错的数据,也要检查做的对数据,因为做的对的数据也有可能标注错误。通过不会去践行这条,因为做的对的数据量往往很大,很难去分析。

        3、训练集和开发集或和测试集可以处于稍微不同的分布,即纠正开发集和测试集的标注错误后可以不用去处理训练集的标注错误。

3.快速搭建第一个系统,并进行迭代

        要开发新的机器学习应用,应该快速搭建第一个系统,并进行快速迭代。

图9.6 搭建语音识别系统

        如图9.6,假设要搭建一个语音识别系统,可以优先考虑很多事情,比如:

        用一些特定的技术让语音识别系统对嘈杂的背景更加健壮;

        用一些特定的技术让语音识别系统在处理带口音时更健壮;

        用一些特定的技术解决远场语音识别;

        用一些特定的技术解决儿童的语音识别等等。

        一般来说,对于机器学习系统,可能会有50个不同的方向可以前进,并且每个方向都是相对合理的,可以改善你的系统,但挑战在于,你如何去选择一个方向集中精力处理,不可能每个方向都同时前进。

        建议先快速搭好你的第一个系统 然后开始迭代。即快速设立开发集和测试集还有指标,这样就决定了你的目标所在。接下来再利用偏差方差分析和错误分析确定下一步优先做什么。

4.在不同划分上进行训练并测试

        深度学习对训练数据胃口很大,搜集越多带标签的训练数据,算法效果会越好,所以技术团队会去大量收集训练数据,然而这可能导致训练集数据分布和开发集、测试集分布不同。

        下面来处理训练集数据分布和开发集、测试集分布不同情况。

图9.7 不同分布的猫

        如图9.7,建立一个猫识别系统,识别手机拍摄的图片,即目标是识别手机拍摄的图片。现在有1万张手机拍摄的图片,20万张网上爬取的图片。手机拍摄的图片一般比较模糊,而网上图片都是高清大图,即两类图片来自不同分布。

        直接拿1万张手机拍摄的图片去训练算法的话,明显数据量太小,而20万张网上爬取的图片又不失你想要的的分布,这该如何呢?

        方法1:将1万张手机拍摄的图片和20万张网上爬取的图片均匀混合然后再划分训练集和开发集、测试集。

        好处:训练集与开发集、测试集处于同一分布。

        坏处:开发集、测试集中大部分是网上爬取的图片,不是想要的目标,即瞄准的靶心不是想要的。

        方法2:将20万张网上爬取的图片和一半手机拍摄的图片作为训练集,剩余的一半手机拍摄的图片作为开发集、测试集。

        好处:很好地瞄准靶心,是想要的目标。

        坏处:训练集与开发集、测试集不处于同一分布。

        综上所述,方法2更符合。

5.不匹配数据划分的偏差和方差

        估算学习算法的偏差和方差,可以确定接下来优先做的方向。但是,训练集和开发集、测试集不处于同一分布时,分析偏差和方差的方式是不一样的。

图9.8 分析偏差和方差

        当训练集和开发集、测试集不处于同一分布时,分析偏差、方差时需要增加一个训练-开发集(Train-dev)训练-开发集是在训练集中分离出来的一部分数据,与训练集分布一致,用来代替开发集去分析方差。

        如图9.8,训练集与人类表现差距代表可避免偏差,

        训练-开发集与开发集差距代表方差,

        开发集和训练-开发集的差距代表数据是否匹配(即算法擅长处理与靶心是否一致),

        测试集与开发集差距代表是否过拟合开发集。

6.定位数据不匹配

图9.9 解决数据不匹配问题      

        如果算法存在数据不匹配问题,首先要做误差分析,看看训练集和开发集、测试集分布哪里不同。然后去手机收集开发集、测试集分布的数据,让其跟训练集分布更相似。

        其中,可以通过人工数据合成进行数据收集,比如:

        合成安静状态的录音+汽车行驶状态背景音,

        合成各种各样的小车等等。

        但是有一点要注意,人工合成的数据毕竟属于小范围,要谨防算法对这小范围数据过拟合。



未完待续...

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

推荐阅读更多精彩内容

  • 误差分析 人工检查你的算法犯的错误,也许可以让你了解接下来应该做什么,这个过程称为误差分析 eg 假设正在调试猫分...
    徐凯_xp阅读 629评论 0 0
  • 一、机器学习策略的原因 机器学习是无数重要应用程序的基础,包括网络搜索,电子邮件反垃圾邮件,语音识别,产品推荐等。...
    阳光前阅读 673评论 0 0
  • 第一课:进行错误分析 如果你想得到一个训练算法来做人类可以做的任务,而且你的算法没有达到人类的效果,你需要手动检查...
    带刺的小花_ea97阅读 3,052评论 0 7
  • 1.为什么要ML策略 假设正在调试猫分类器,经过一段时间的调整达到了90%准确率,但是仍然不够理想,需要改善。改善...
    一叶知否阅读 786评论 0 0
  • 姓名:易平香 企业名称:东莞耀升机电有限公司 组别:AT感谢组 【日精进打卡第39天】 【知~学习】 诵读《大纲》...
    shine1yi阅读 89评论 0 0