第 4 章 技术面试 技术访谈:模型培训与评估
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在本章中,我们将介绍 ML 模型训练过程和相关的面试问题。对许多从业者来说,模型训练是最令人兴奋的部分,我也同意这一点--在整个过程中看到模型变得越来越精确,是一件非常令人满意的事情。不过,要开始进行 ML 模型训练、超参数调整以及使用各种算法进行实验,您需要有数据。机器学习的核心是让算法发现数据中的模式,然后根据这些模式做出预测和决策。拥有有用的数据是 ML 的基础,正如行业格言所说:"垃圾进,垃圾出"。也就是说,如果 ML 模型在无用的数据上进行训练,那么得出的模型和推论也将是无用的。
首先,我将概述数据处理和清理,将原始数据转换成对 ML 算法有用(并与之兼容)的格式。接下来,我将介绍算法选择,例如不同场景下 ML 算法之间的权衡,以及一般情况下如何为特定问题选择最佳算法。
之后,我将介绍模型训练和优化模型性能的过程。这可能是一个模棱两可、充满挑战的过程,您将学习到一些最佳实践,例如超参数调整和实验跟踪,这可以防止最佳结果丢失,并确保它们具有可重复性。在这一点上,我还会从实际意义上介绍如何知道 ML 算法何时是好的。这涉及到模型评估以及与一些基准模型或基准启发式方法的比较。模型评估还可以帮助您确定模型在新的、未见过的数据上的有效性,并发现模型在现实世界中是否会出现拟合过度、拟合不足或其他表现不佳的情况。
备注
在篇幅允许的情况下,我尽量多提一些常见的 ML 面试技巧,但阳光下还有更多的技巧。请务必查看链接资源,以扩展您的学习和面试准备!
在本章中,我将给出实用技巧和示例,帮助您在 ML 面试中取得成功。在本章结束时,你应该对数据清理、预处理、模型训练和评估过程有了扎实的了解,并能在自己的面试中很好地讨论它们。
定义机器学习问题
在本节中,我将对如何定义一个 ML 问题做一个高层次的概述,包括为什么以及如何在面试问题中体现这一点。
请考虑以下场景:作为候选人的你正在浏览自己创建的一个 ML 项目。该项目的目标是预测用户是否会点击某个歌手演唱会的促销邮件。1你的面试官在听完你的概述后思考了几秒钟,然后说:"听起来你可以利用用户收听歌手 A 的时间来确定谁会收到该歌手的促销邮件。例如,如果他们每周收听 A 艺术家的节目超过 5 小时,那么如果 A 艺术家在收听者所在地区举办演唱会,他们就会收到电子邮件。既然有更简单的方法不使用机器学习也能达到与您的模型相同的效果,您为什么还要选择 ML?
你愣住了,因为你没想过这个问题。当时,这似乎是一个有趣的自主项目,而你只是想学习。你不太明白面试官的问题在试探什么。您是做什么的?
事先了解如何才能很好地回答这些问题非常重要。以下是一些可能的角度:
您是否考虑过首先使用基于启发式(即基于规则)的基线?在适用情况下,您也可以使用一个尽可能简单的模型(如逻辑回归模型)作为基线。然后,您的 ML 模型的目标将是比基线表现更好。
在现实世界中,除非有明确的商业价值证明所花费的工程时间和精力是合理的,否则通常不会启动或批准新的 ML 计划。例如,如果从头开始实施一个人工智能系统来推荐音乐会的成本没有超过预期收益,那么使用启发式方法会更容易一些。预计节省的复杂性、人工工作或时间也是使用 ML 而不是启发式方法的一个原因。
不过不用担心,面试官并不是在轻视你的项目,而是在问:"为什么是 ML?这在专业的 ML 领域非常常见。问 "为什么使用 ML?"并不
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access