28 诊断偏差与方差:学习曲线
我们已经知道了一些方法,来帮助估计有多少误差是可避免偏差与方差所导致的——人们通常会估计最优错误率,以及计算算法在训练集和测试集上的误差。下面让我们来讨论一项更加有益的技术:绘制学习曲线。学习曲线可以将开发集的误差与训练集样本的数量进行关联比较。想要绘制出它,你需要设置不同大小的训练集运行算法。假设有 1000 个样本,你可以选择在规模为 100、200、300 ... 1000 的样本集中分别运行算法,接着便可以得到开发集误差随训练集大小变化的曲线。下图是一个例子:
随着训练集大小的增加,开发集误差应该降低。
我们通常会有一些“期望错误率”,并希望学习算法最终能够达到该值。例如:
如果希望达到人类水平的表现,那么人类错误率可能就是“期望错误率”。
如果学习算法为某些产品提供服务(如提供猫图),我们可能将主观感受到需什么样的水平才能给用户提供出色的体验。
如果你已经从事一项应用很长时间,那么你可能会有一种直觉,那就是在下一个季度里你会有多大的进步。
将期望的表现水平添加到你的学习曲线中:
显而易见,你可以根据红色的“开发误差”曲线的走势来推测,添加一定的数据时曲线距离期望的性能接近了多少。在上面的例子中,将训练集的大小增加一倍可能会让你达到期望的性能,这看起来是合理的。
因此,观察学习曲线可能会帮助你避免花几个月的时间去收集两倍的训练数据,结果却发现这并不管用。该过程的一个缺点是,如果你只关注了开发错误曲线,当数据量变得越来越多时,将很难预测后续红色曲线的走向。因此我们会选择额外的一条曲线来帮助评估添加数据所带来的影响:即训练误差曲线。
敬请期待第29章
绘制训练误差曲线
机器学习训练秘籍已发布章节
英文版最新章节请在这里注册
为了让大家尽快接触到机器学习训练秘籍中文版,我们在最短的时间内组织了翻译工作。若有任何错误,还请包涵。翻译内容仍在持续改进中,如果大家有任何意见和建议,欢迎给我们留言。
领取专属 10元无门槛券
私享最新 技术干货