《深度学习》花书 - 第十一章 实践方法论

11 实践方法论

要成功地使用深度学习技术,还需要知道如何针对具体应用挑选一个合适的适的算法以及如何监控,并根据实验反馈改进机器学习系统。在机器学习系统的日常开发中,实践者需要决定是否收集更多的数据、增加或减少模型容量、添加或删除正则化项、改进模型的优化、改进模型的近似推断或调试模型的软件实现。尝试这些操作都需要大量时间,因此确定正确做法,而不盲目猜测尤为重要的。
正确应用一个算法需要掌握一些相当简单的方法论。本章许多建议来自https://see.stanford.edu/materials/aimlcs229/ML-advice.pdf

建议的设计流程:

  • 确定目标——使用什么样的误差度量,并为此误差度量指定目标值。这些目标和误差度量取决于该应用旨在解决的问题。
  • 尽快建立一个端到端的工作流程,包括估计合适的性能度量。
  • 搭建系统,并确定性能瓶颈。检查哪个部分的性能差于预期,以及是否是因为过拟合、欠拟合,或者数据或软件缺陷造成的。
  • 根据具体观察反复地进行增量式的改动,如收集新数据、调整超参数或改进算法。

本章中使用街景地址号码转录系统作为一个项目实例。这个项目的目标是将建筑物添加到谷歌地图,车拍摄建筑物,并记录每张建筑照片相关的GPS坐标,卷积网络识别每张照片上的地址号码,由谷歌地图数据库在正确的位置添加该地址。

11.1 性能度量

确定目标,即使用什么误差度量,是必要的第一步,因为误差度量将指导接下来的所有工作。同时我们也应该了解大概能得到什么级别的目标性能。

值得注意的是对于大多数应用而言,不可能实现绝对零误差。即使你有无限的训练数据,并且恢复了真正的概率分布,贝叶斯误差仍定义了能达到的最小错误率。 这是因为输入特征可能无法包含输出变量的完整信息,或是因为系统可能本质上是随机的。当然我们还会受限于有限的训练数据。

训练数据的数量会因为各种原因受到限制。当目标是打造现实世界中最好的产品或服务时,我们通常需要收集更多的数据,但必须确定进一步减少误差的价值,并与收集更多数据的成本做权衡。数据收集会耗费时间、金钱,或带来人体痛苦(例如,收集人体医疗测试数据)。科研中,目标通常是在某个确定基准下探讨哪个算法 更好,一般会固定训练集,不允许收集更多的数据。

如何确定合理的性能期望?在学术界,通常我们可以根据先前公布的基准结果来估计预期错误率。在现实世界中,一个应用的错误率有必要是安全的、具有成本效益的或吸引消费者的。一旦你确定了想要达到的错误率,那么你的设计将由如何达到这个错误率来指导。

除了需要考虑性能度量之外,另一个需要考虑的是度量的选择。我们有几种不同的性能度量,可以用来度量一个含有机器学习组件的完整应用的有效性。这些性能度量通常不同于训练模型的代价函数。如第5.1.2节所述,我们通常会度量一个系统的准确率,或等价地,错误率。

然而,许多应用需要更高级的度量。

1、一种错误可能会比另一种错误更严重。例如,垃圾邮件检测系统会有两种错误:将正常邮件错误地归为垃圾邮件,将垃圾邮件错误地归为正常邮件。阻止正常消息比允许可疑消息通过糟糕得多。我们希望度量某种形式的总代价,其中拦截正常邮件比允许垃圾邮件通过的代价更高,而不是度量垃圾邮件分类的错误率。

2、我们需要训练检测某些罕见事件的二元分类器。例如,我们可能会为一种罕见疾病设计医疗测试。假设每一百万人中只有一人患病。我们只需要让分类器 一直报告没有患者,就能轻易地在检测任务上实现 99.9999% 的正确率。显然,正确率很难描述这种系统的性能。解决这个问题的方法是度量精度(precision)和召回率(recall)。精度是模型报告的检测是正确的比率,而召回率则是真实事件被检测到的比率。检测器永远报告没有患者,会得到一个完美的精度,但召回率为零。而报告每个人都是患者的检测器会得到一个完美的召回率,但是精度会等于人群中患有该病的比例(在我们的例子是 0.0001%,每一百万人只有一人患病)。当使用精度和召回率时,我们通常会画PR 曲线(PR curve),y 轴表示精度,x 轴表示召回率。如果检测到的事件发生了,那么分类器会返回一个较高的得分。例如,我们将前馈网络设计为检测一种疾病,估计一个医疗结果由特征 x 表示的人患病的概率 为 ˆy = P(y = 1 | x)。每当这个得分超过某个阈值时,我们报告检测结果。通过调整阈值,我们能权衡精度和召回率。在很多情况下,我们希望用一个数而不是曲线来概括分类器的性能。要做到这一点,我们可以将精度 p 和召回率 r 转换为F 分数 (F-score)
F = 2 p r p + r F=\frac{2 p r}{p+r} F=p+r2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值