数据科学面试中的机器学习问题类型以及如何准备这些问题?

数据科学面试中的机器学习问题类型以及如何准备这些问题?

有大量的机器学习课程和学习材料教你如何在面试准备中保持专注和高效。在本文中,我们将讨论数据科学面试中的四种机器学习问题,以及一些最常被问到的问题。如果你想了解更多关于数据科学的相关内容,可以阅读以下这些文章
每个数据科学家都应该养成的15个好习惯
将ChatGPT用于数据科学
你的第一份数据科学工作中要避免的错误
0经验?一样能成为一名成功的数据科学顾问!

机器学习的四种问题是:

  • 机器学习基础知识
  • 基于简历的机器学习问题
  • 机器学习编码问题
  • 应用机器学习问题

前两种类型可以出现在任何数据科学面试中,后两种类型更常见于以算法或机器学习为中心的数据科学家职位。有了这种分类,你就可以保持专注,不会让大量的信息淹没你。

图片来自Unsplash,作者Scott Graham

目录:

  1. 机器学习基础问题
  2. 基于简历的机器学习问题
  3. 机器学习编码问题
  4. 应用机器学习问题
  5. 准备机器学习面试的技巧

1. 机器学习基础问题

图片来自Unsplash,作者Guillaume Bolduc

让我们开始吧,第一类问题是最直接和最基本的问题,它们真的很容易准备,因为它们通常包含在基础的机器学习课程中,并且不需要太多的实践经验,就能提供一个好的答案。

这些问题可以是任何与机器学习工作流相关的问题,如数据处理、机器学习模型、模型调优和评估。例如,最常被问到的一个问题是什么是过拟合以及如何处理过拟合。为了能很好地回答这个问题,首先你应该用两到三句话简要地介绍一下定义。

例如,当模型的学习能力太高或数据规模太小时,就会发生过拟合,模型最终提供的是噪声而不是数据的有用信息,因此模型在观察到的数据集上表现不佳。让面试官相信你真正理解专业术语,你可以举个例子,比如如果你有一个回归模型,并且数据点的数量少于特征的数量,你将面临一个过拟合问题,之后你可以为问题提供一些常见解决方案,例如降低模型的学习能力或添加正则化模型或增加训练数据的大小。无论你提供哪种解决方案,最好提供一个例子来说明它。

以下是这类问题中其他一些最常见的问题:

  • 什么是不平衡的数据集?如何处理不平衡的数据集?
  • 简单描述一下随机森林分类器是如何工作的,有什么优点和缺点
  • 列出三个评估指标,并描述它们的优缺点
  • 当我们使用L1正则化与L2相比时
  • 什么是模型超参数以及如何优化它们

2. 基于简历的机器学习问题

图片来自Unsplash,作者João Ferrão

第二类问题会出现在你的简历项目中。具体来说,面试时你会被要求回顾一下你以前的项目。面试官会要求你描述一个高层次的项目,然后深入研究技术细节,以评估你在实践中应用所学知识的能力。

这听起来很简单,你可能会认为我肯定记得我做过的项目的细节,但信不信由你,许多人面试失败是因为他们使用了一个库或包进行模型训练,他们对他们使用的算法不太了解。

例如,如果你使用XGBoss软件包训练了一个房价预测模型,面试官可能会首先问你是否能解释一下XGBoss是什么,你应该能够用两到三句话对算法进行简短而清晰的总结,例如梯度增强。所以在这种情况下,你可以说在XGBoost中,我们训练了一堆弱学习器,比如基于树的模型,在每一轮训练中,你把弱学习器喂给之前所有弱学习器的剩余,在模型预测的最后变成所有弱学习器的和。

能够总结一个算法可能还不够,你想提供一些关于它的技术细节,例如,训练主动增强模型的速度通常比其他增强算法快,因为每个决策树学习者中选择分裂特征和分裂标准方式,一旦你证明你对算法有很好的理解,面试官可能还会问你项目的细节。例如,为什么你选择使用主动增强而不是其他回归模型,你如何选择特征,以及你如何评估模型…基本上,简历上或面试过程中提到的任何事情都可能被面试官问到。

准备这些问题的最好方法是仔细考虑你简历上的所有项目,不仅要考虑你如何使用这些学习模型,还要考虑它们是什么,以及为什么使用它们与其他方法相比有哪些优点和缺点。如果你能回答所有这些问题,你就更容易说服面试官,让他们相信你很好地理解了这些算法,你从做项目中获得了知识和经验。

3. 机器学习编码问题

图片来自Unsplash,作者Arnold Francisca

接下来的两类问题更加核心,它们主要出现在专注于机器学习和算法驱动职位的数据科学家职位的面试中。

机器学习编码问题不仅会评估你是否理解某种机器学习算法的理论,还会评估你是否能够在短时间内从头开始编写一个算法。

面试官通常会要求你在面试过程中使用在线ide或白板实现某种机器学习算法。这似乎让人难以接受,因为机器学习算法太多了,每种算法都有独特的实现方式,但别担心,在采访中出现的算法数量有限。由于有些算法过于复杂,无法在一小时内实现,在面试期间测试它们也没有多大意义。

以下是这种类型的编程面试中最常被问到的算法:

  • 监督学习算法:决策树、线性和逻辑回归,以及k个最近邻
  • 无监督学习算法:唯一经常被要求实现的算法是k均值聚类。

建议你先尝试自己实现它们,如果你被卡住了,你可以在网上搜索实现,并确保在面试前练习几次,这样你就可以快速地编写它们,而且没有错误。

你还需要注意实现的效率,因为在面试过程中,你可能会被要求以大O符号提供时间和空间效率。

4. 应用机器学习问题

图片来自Unsplash,作者JESHOOTS.COM

最后一类机器学习问题是最具挑战性的,因为它们要求你有一些实际经验,这意味着你需要熟悉从获取数据到清理数据到构建机器学习模型再到评估它们并将模型定型到生产的整个工作流程。通常情况下,面试官会给你一个开放式的问题,让你想出一个解决方案。面试官会问你工作流程中任何组成部分的后续问题。

一个例子是如何构建一个机器学习系统来检测垃圾邮件。首先,你要向面试官澄清哪些数据是可用的,格式是什么,然后你可以谈论一个高层次的工作流程,其中包含需要设计的东西,例如,你可以说一个机器学习项目的典型工作流程包含数据收集、数据处理、模型选择和模型评估等步骤,然后你可以深入研究每个组件,并与面试官讨论设计。

如果你有丰富的机器学习经验,你可能已经对如何处理这类问题有了很好的认识,如果你没有,那么使用Kegal的解决方案作为参考将是非常有帮助的。有很多机器学习问题,在Kegal上发布的解决方案真的很有帮助,你也可以自己解决其中一个问题。一旦你完成了,将你的解决方案与别人的进行比较,这样你就可以向别人学习,确保你理解每个步骤的含义,并且能够用简单的英语解释它。在做了几个项目之后,你就能很好地理解如何回答这类问题了。

5. 准备机器学习面试的技巧

现在你知道了数据科学面试中的四种机器学习问题,以及如何为每一种问题做准备。最后,我想和大家分享两点对面试有帮助的建议。

举例:提供示例是证明你真正理解一个专业术语的最好方式。例如,如果你想解释什么是精密度,你可以从给出精密度的定义开始,精密度是真阳性病例的数量除以检测到的阳性病例的数量。你可以添加一个例子,例如,我们有一个复制的测试,该测试返回100个阳性案例,其中99个是真阳性,因此精度是99。

不要提及任何你不熟悉的事情:提及你不完全了解的事情可能会给你带来麻烦,因为你所说的每一句话都有可能引发后续问题。这是很常见的,你可能想通过使用一些先进的模型或术语,如卷积神经网络,给面试官留下深刻的印象,但如果这是你不熟悉的东西或你无法清楚地解释,你可能会让自己陷入困境。

感谢阅读,现在你知道了数据科学面试中的四种机器学习问题,以及如何为每一种问题做准备。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Youssef Hosni
翻译作者:马薏菲
美工编辑:过儿
校对审稿:Chuang
原文链接:https://medium.com/geekculture/types-of-machine-learning-questions-in-a-data-science-interview-how-to-prepare-for-them-1bc815c9421