吴恩达 ML Yearning 关于进修曲线的分析\u0026与人类级其余表现比拟_误差_缺陷
【关注微信公众号:人工智能前沿讲习班,回答“MLY”,获取完全版PDF电子书】
致谢Deep Learning.ai公司
吴恩达(原文撰稿人)
陆顺(1-5章)
梁爽(6-10章)
郑烨(11-15章)
吴晨瑶(16-20章)
玉岩(21-25章)
陈波昊(25-30章)
翟昊(31-35章)
高宏宇(36-40章)
丁韩旭(41-45章)
李汤睿(46-50章)
马聪 (整体汇总)
北京科技大学“机器学习研讨小组”
人工智能前沿学生论坛(FrontierForum of Artificial Intelligence)
28、诊断偏差和方差:学习曲线
分享人:陈波昊
我们已经见过了一些用于估计有多少演习缺点可归因于可避免的偏差和方差的方法。我们通过估计最佳缺点率和打算算法在演习集和验证集上的偏差来实现这一点。现在我们要谈论一种能供应更多信息的技能:绘制学习曲线。
学习曲线图将算法在验证集上的偏差同演习的实例数目做对照。为了绘制它,你须要以不同规模的演习集来演习你的算法。例如,你有1000个数据,你可以分别以100、200、300……直到1000的演习集规模来演习你的算法。然后你可以绘制验证集上的偏差同演习数目的关系。以下是一个例子:
可以看出,随着演习集规模的上升,偏差在逐渐低落。
我们常常有一些希望我们的算法能够在实际演习过程中实现的“空想缺点率”。例如:
如果我们期待算法有人类级别的表现,那么人类的缺点率便是我们期待的“空想缺点率”。如果我们的学习算法做事于某些产品(如供应猫的图片),我们会对能给客户完美体验的表现所需的“空想缺点率”有一个大致的推测。如果你已经为一个主要的项目事情了良久,那么你可能已经对付下个阶段或下一年的进展有了直觉上的推测。在学习曲线上添加期待的性能指标:
你可以视觉上直不雅观的推测出,利用增加数据量的办法能够使得赤色的偏差曲线和期望性能差距缩小多少。从上面图表中曲线的低落趋势来看,更加数据集的规模可能会使算法达到期待的性能。
但是如果偏差曲线已经“稳定化”(即曲线趋势变平),那么你可以急速推断出,再多的数据也不可能实现期待的性能。
参考这幅学习图像,或许能帮助你避免花费好几个月网络双倍的演习数据,结果只是证明这个方法是无效的。
这个过程的一个缺陷是,如果你只参考绘制出的偏差曲线,那么很难推测出赤色曲线之后的走向。如果你有更多的演习数据,那么有一个附加的曲线图可以帮助你预测在更多数据下的演习效果:演习偏差图。
29、绘制演习偏差曲线分享人:陈波昊
随着演习集大小的增长,你的验证集(和演习集)偏差该当会减少。但演习集上的偏差常日会随着演习集规模的增长而增加。
让我们用一个例子解释这种征象。假定你的演习集只有两个演习样本:一只猫的图片和一只不是猫的图片。在演习集中,算法非常随意马虎“记住”这两个样本,并且可以取得0%的演习集偏差。纵然至少有一个样本被缺点标记了,算法也非常随意马虎记住这两个标签。
现在假设你的演习集有100个样本。可能有一些样本标记缺点或者模棱两可——图像非常模糊,纵然人类也不能确定这是不是一只猫。或许学习算法能记住大部分或者全部的演习集,但在现在的情形下,已经很难做到100%的准确率了。就本次大略地将演习集规模从2加大到100的过程中,你就能创造算法对演习集的准确率会略有低落。
末了,我们假设演习集有10000个样本。在这种情形下,算法对完备适宜这10000个样本变得更加困难,尤其是里面还有一些模糊样本或者缺点样本。因此,你的学习算法将会在这个演习集上表现的更糟糕一些。
让我们在之前的图表上增加一个演习偏差和演习集规模的关系曲线:
可以看到,蓝色的“演习偏差”曲线随着演习集规模的增长而上升。此外,算法在演习集上的表现常常优于在验证集上的表现。从而使得赤色的偏差曲线常日严格地位于蓝色演习偏差曲线上。
我们接下来谈论如何阐明这些图。
30、阐明偏差曲线:高偏差分享人:陈波昊
假定你的验证集偏差曲线如下图:
正如我们之前所说,如果你的验证集偏差曲线进入到平缓期,你就不太可能通过纯挚添加数据使得算法达到期望的性能。
但是,我们很难知道赤色偏差曲线之后的发展趋势究竟是怎么样的。如果验证集很小,则由于曲线上叠加的环境噪声,会更加不愿定曲线的发展趋势。
假设我们连续在图中添加演习偏差曲线,如下图:
现在我们可以非常确定增加更多的数据也不会使算法的表现更精良了,由于算法的性能已经提升到了极限。为什么我们可以得出这个结论?请记住我们的两条不雅观察结果:
随着我们添加更多的演习数据,演习偏差曲线只会变得更差。因此,蓝色的演习偏差曲线只可能保持现状或者增高。因此,它只能离期待的性能(绿线)越来越远。赤色验证集偏差曲线常日高于蓝色演习偏差曲线。因此,在当前演习偏差曲线已经高于期待的性能情形下,险些没有办法通过添加数据来使得赤色验证集偏差曲线低于期待的性能水平。通过在一张图上同时做出验证集偏差和演习偏差两条曲线,我们理解了更多关于验证集偏差曲线的情形。
为了便于谈论,我们假定期望的性能便是我们估计的最佳缺点率。上图的具有高可避免偏差的学习曲线基本是一个“教科书”级的示例:在最大的演习集规模下——与我们全部的演习数据相对应,在演习集偏差和期望的性能之间有很大差距。表明有大量可避免的偏差。此外,演习集偏差和验证集偏差曲线之间差距很小,表明方差较小。
之前我们只在图表最精确的位置丈量演习集和开拓集偏差,对应于真实情形下我们利用全部的可用数据。画出的完全学习曲线可以使我们在不同规模的演习集情形下较为全面地理解算法性能。
31、阐明学习曲线:其他情形分享人:翟昊
考虑下面的学习曲线:
该图是否表示了高偏差、高方差的情形,或者两个兼具?
蓝线所表示的演习集缺点曲线相对较低,并且红线所表示的验证集缺点比蓝色的演习集缺点高很多。因此,偏差很小,但是方差很大。添加更多的演习数据可能会使得验证集和演习集缺点之间的差距减小。
现在,转而考虑下面的:
这种情形下,演习集缺点很大,而且远超过期望水平。验证集缺点同样也比演习集缺点大很多。因此,会得到巨大的偏差和巨大的方差。你将须要去在你的算法中找到同时减少偏差和方差的方法。
32、绘制学习曲线分享人:翟昊
假设你有一个很小的演习集,只有100个样例。你随机从演习集中依次选出10个、20个、30个,直到100个样例去演习算法,每次增加10个。之后你用这些间隔为10的数据点画出学习曲线。你可能会创造曲线在较小的演习集大小的时候看起来有噪点(意为取值比预期要高/低些)。
当演习只有10个随机样例的数据集的时候,你可能会很不幸的选到特殊“坏”的演习集,比如一个有着很多模糊/贴错标签样例的演习集。或者,你可能会很幸运选到特殊“好”的演习集。在一个小演习集的条件下,意味着验证集和演习集缺点可能会随机颠簸。
如果你的机器学习运用程序严重的倾向于一类(比如对付猫的分类任务,个中负例的份数远远大于正例),或者它有许多类(比如识别100种不同的动物),那么选到特殊“不具有代表性”或者坏的演习集的可能性也很大。举例来说,如果你的例子中80%是负例(y=0),只有20%是正例(y=1),那么就有可能在一个有10个例子的演习集中只含有负例,就使得算法很难学到故意义的东西。
如果演习曲线的噪点使得我们很丢脸清真实的趋势,下面给出两种办理办法:
比较起只用10个样例演习一个模型,更该当选择几组(比如说3-10组)随机采样的含有10个样例的演习集,这些演习集是从原来的100个样例的演习集中不重复地采样[1]的。对它们用一个不同的模型进行演习,打算每个演习集所产生的模型的演习集缺点和验证集缺点。打算并绘制出均匀演习集缺点和均匀验证集缺点的图像。如果你的演习集倾向于一类,或者有很多类,那么比较从100个样例中随机选出10个作为演习集,选择一个“平衡的”子集是更好的做法。举例来说,当你可以确认演习集中的2/10是正例、8/10是负例的情形时就适用。更一样平常地,当你可以确认某一类的样例所占比例很靠近全部样例的时候都适用。除非已经考试测验绘制学习曲线,并且是由于曲线的噪点太大而无法看出潜在的趋势,否则我不会理会这些技巧。如果你的演习集很大(比如超过10,000个样例)并且你的分类方向性不是很强,那么你可能不须要这些技巧。
末了须要说的是,绘制学习曲线可能在打算资源花费上很昂贵:举例来说,你可能须要分别用1,000个、2,000个,直到10,000个样例演习十个模型。用小数据集演习模型会比用大数据集演习快很多。因此,比较于向上面那样线性分布演习集大小,用1,000、2,000、4,000、6,000和10,000个样例演习可能更好。这样也能在学习曲线中给你清晰的对趋势的觉得。当然了,这个技巧只有在演习所有额外模型的打算花费很大的时候才有用。
[1]这里的原文是“sampling with replacement”,意为:先从100个样例中随机选出10个不同的样例作为第一个演习集。然后再一次选择10个样例作为第二个演习集,不过不能选第一次已经选过的样例。因此,常日来讲一个特定的样例同时涌如今第一个和第二个演习集是可能的;但与之相对的不重复采样,第二个演习集便是从剩下的90个没在第一次选出的样例中选择。在实践中,重复采样和不重复采样不会产生很大的差别,但是前者是常见做法。
33、为什么我们要和人类水平的表现比较较分享人:翟昊
许多机器学习系统目标是在人类善于的领域实现自动化,例如图像识别、语音识别和垃圾邮件分类。由于学习算法的进步,我们现在能在更多的领域超越人类水平的表现。
此外,如果你在考试测验做一些人类善于领域的任务,建立机器学习系统会更加随意马虎。下面给出了几个缘故原由:
1、易于获取人类贴标数据。举例来说,由于人类很随意马虎识别带有猫的图片,所以为你的学习算法供应高准确率的贴标数据是很自然的事情。
2、 对缺点的剖析可以借鉴人类的直觉。假设某个语音识别算法的识别率不如人类水平,并且对一段音频“This recipe call for a pearof apples”发生了缺点,把“pair”识别为了“pear”。你可以借鉴人类的直觉,考试测验去理解在人类精确处理的过程中利用了哪些信息,然后将这些信息利用到修正学习算法上面。
3、利用人类水平的表现去预测最佳的缺点概率、设置“期望的缺点概率”。假设你的算法在一项任务上达到了10%的缺点率,但是人类可以达到2%的缺点率,那么我们就明白最佳的缺点概率至少是2%,算法可避免的偏差还有至少8%。因此,你可以考试测验减少偏差的技巧。
纵然第3项可能听起来不是那么主要,但我创造当有一个故意义的、可实现的目标对付加快团队进展很有帮助。知晓你的算法还有很大的可避免的偏差很主要,会激起你去考试测验的希望。
有很多事情纵然是人类也不善于,例如选一本书推举给你、选一个广告在网站中展示给用户亦或是预测股票市场。打算机已经在这些事情上超越了大部分人类,由此产生了以下这些问题:
获取标签更难了。举例来说,很难让人类贴标者给数据库中的用户推举“最佳”的书去阅读。如果你在运作一个买书的网站或者运用程序,你可以获取用户都买了什么书的数据;如果你没有在运作这样的网站,你就得用更巧的手段获取数据。很难借鉴人类的直觉了。举例来说,很多人都无法预测股票市场的走势。以是纵然一个股票预测算法还不如随机瞎猜,那也很难找到改进它的方法。很难知道最佳缺点概率和合理期望缺点概率。假设你有一个图书推举系统,并且运行良好,那么如果没有人类作为基准你怎么知道它还能提升多少呢?34、如何定义人类水平的表现分享人:翟昊
假设你在研发一个处理医学图像的运用程序,它能自动从X光照片中获取诊断结果。一个没有任何医学背景的人经由根本的演习可以在此项事情上达到15%的缺点概率;一位年轻的年夜夫可以达到10%的缺点概率;一位履历丰富的年夜夫可以达到5%的缺点概率;一个小的医学团队通过研讨每一张图片可以达到2%的缺点概率。那么该当把上述的哪个定义为“人类水平的表现”呢?
在这种情形下,我将会用2%的人类水平的表现作为最佳缺点概率。你也可以用2%作为期望的表现水准,由于前一章讲的三个缘故原由适用这种情形:
易于获取人类贴标数据。你可以找到一个医学团队帮助你做只有2%缺点率的标注。对缺点的剖析可以借鉴人类的直觉。通过和此医学团队谈论有关图片的内容,你可以很好地借鉴人类的直觉。利用人类水平的表现去预测最佳的缺点概率、设置“期望的缺点概率”。利用2%的缺点概率作为最佳缺点率是很合理的。最佳缺点概率可以低于2%,但不能再高了,由于一个医学团队可以达到2%的缺点概率。相反地,利用5%、10%作为最佳缺点概率是不合理的,由于我们知道这些对付人类来说都太高了。问题来到了如何获取已标记的数据,你不会希望医学团队谈论每一张图片,由于那样太贵了。没准你可以让一个年轻的年夜夫去做紧张部分的标记,然后把难于辨认的少量图片给富有履历的年夜夫或者医学团队去辨认。
如果你的系统现在有40%的缺点率,那么你用年轻的年夜夫(10%的缺点率)亦或是有履历的年夜夫(5%的缺点率)去标记你的数据、供应辅导也就都没什么差异了。但如果你的系统已经达到10%的缺点概率,那么定义一个2%的人类水平作为参考能够更好的提升你的系统。
35、超越人类水平的表现分享人:翟昊
你现在正研发语音识别并且有一个语音片段的数据库。假设你的数据库有很多有噪的语音片段,导致人类都会有10%的识别缺点。假设你的系统已经达到了8%的缺点概率。你还能连续利用第33章中提到的三个技巧使得你的系统快速提升吗?
如果你可以分辨出数据的某个子集,个中人类仍旧远超于你系统的识别水平,那么你就依旧可以利用那些技巧来使得你的系统快速提升。举例来说,假设你的系统在识别噪声方面超越了人类,但是人类依旧在快速说话的时候识别率更胜一筹,那么就符合了上述的情形。
对付那些快速说话的数据子集:
1、你依然可以从人类那里得到质量高于算法的成绩单。
2、你可以考虑人类直觉是如何精确听懂快速说话的发声的,而你的系统却不可以。
3、你可以用在识别快速说话方面人类水平的表现作为期望表现的目标。
更普遍地,只要在验证集中涌现人类精确而你的系统缺点的样例,那么上述的很多技巧就适用。纵然你的系统在验证集/测试集的全局均匀表现已经超越人类,这仍旧是对的。
在很多主要的机器学习运用中,机器已经超越的人类的表现水平。举例来说,机器对付预测电影的评价、送货车到某地的用时、是否批准贷款等方面已经比人类更好。一旦人类很难去辨认对付某个样例算法一定出错了,那么就只有一部分技巧适用了。结论便是,在机器已经超越人类的问题上,进展每每很慢;然而在机器仍旧追赶人类步伐的问题上,进展每每很快。
【关注微信"大众年夜众号:人工智能前沿讲习班 ,回答“MLY”,获取完全版PDF电子书】
本文系作者个人观点,不代表本站立场,转载请注明出处!