介绍
公司正试图通过采用人工智能和机器学习等新时代技术,在社会中引入新的智能产品和技术,从而扰乱技术和商业市场。每个组织都在寻找能够满足他们需求的有才华和经验丰富的人。今天,数据科学家、数据分析师、机器学习引擎工程师和计算机视觉工程师是更受欢迎的组织角色。如果您想申请并在技术领域找到工作,了解招聘人员提出的常见机器学习面试问题至关重要。
这篇文章涵盖了一些流行的机器学习面试问题,这些问题将迫使你提前一步思考,你会喜欢遇到并实现你梦想的工作。
机器学习面试题
下面列出的问题将提高你在机器学习中的求职面试技巧,并为你未来的求职面试做好准备。
问题1)参数和非参数ML算法有什么区别?
答: 机器学习算法是一个函数。每当您假设数据的功能时,它就是一种参数机器学习算法。线性回归是参数机器学习算法的一个很好的例子,因为在使用线性回归时,您假设您使用的数据是线性的,因此函数将是一条直线。
因此,无论何时假设性质,您都可以定义参数化 ML 算法。这种算法是参数化机器学习算法。与之相矛盾的是,当您不对算法的性质做出任何假设时,它是一种非参数 ML 算法。
- 另一个区别是参数 ML 算法具有固定数量的参数,并且它不依赖于数据中存在的行数。这意味着如果几个参数在数据中的几行中没有增长,则它是一种参数算法。如果参数增长,那么它是非参数算法。
- 大多数人认为非参数算法没有任何参数。这是错误的,因为它们具有改变数据行为和行数的参数。
- 示例——线性回归、逻辑回归、线性 SVM 和朴素贝叶斯是参数机器学习算法。相比之下,KNN、其他 SVM、决策树、随机森林和提升算法都是非参数算法。
问题 – 2) 凸损失函数和非凸损失函数有什么区别?当我们有一个非凸成本函数时会发生什么?
答: 在机器学习中,损失函数测量估计值与真实值(原始值 - 预测值)的距离。因此,损失函数是一个解释机器学习模型性能的值。损失函数只不过是一个数学函数,它必须有一个图表。
在凸函数中,图形不应位于图形上绘制的线上方,或者图形应具有单个斜率,其中非凸函数中不存在局部最小值;图形或曲线通过线以上,则它是非凸函数。
当我们有一个非凸损失函数时,就会出现问题,因为它可以有多个最小值,所以你的优化算法,例如梯度下降,无法找到全局最小值,因为大多数时候,它陷入局部最小值并且不收敛。因此,您无法找到定义参数的最佳优化解决方案。

上图显示第一个图是一个凸函数,其中只有一个全局最小值,没有局部最小值。第二个图涉及复杂的神经网络,它反映了许多局部最小值和一个全局最小值。
问题 - 3) 你如何决定何时为一个项目进行深度学习?
答: 这是面试官要求您了解机器学习和深度学习工作原理的一个重要问题。因此,要回答这个项目,你应该在面试官面前保留两点,即你将完善深度学习的因素以及在为项目选择深度学习时不利于深度学习的因素。
选择深度学习的优势点
- 性能——与机器学习算法相比,深度学习的性能正在提高。当需要准确性或性能时,您将选择深度学习,例如在医疗保健领域。
- 复杂性——你所处理的问题更复杂,因为你没有任何领域知识,所以你选择深度学习而不是复杂数据。例如,当你被要求在观察一张图片时回答它是猫或狗时,深度学习可以实现规则,而在机器学习中,我们无法构建手工制作的规则。
反对不选择深度学习的观点
- 数据——如果你正在从事一个没有任何长格式数据的项目,那么你不会选择深度学习,因为深度学习需要数据。
- 成本——在哪里训练深度学习模型需要非常昂贵的 GPU,这可能是硬件成本。因此,您需要从 AWS 等任何云中购买或租用它们。
- 可解释性/可解释性——假设您构建了一个模型,而您的客户要求您解释模型在后台的工作原理并回答要点。所以这不可能发生,因为深度学习模型的可解释性为零,因为它们是在隐藏层中创建的,我们找不到它们。
问题4)假阳性和假阴性有什么区别?给出一个假阳性比假阴性更重要的场景,反之亦然。
答: 每当我们构建任何机器学习模型时,在测试过程中,下图只能表示 4 种情况。
当实际值为正而预测值为负时,称为假阴性。当实际值为负而预测值为正时,称为假阳性。

示例 – 假设您构建了一个电子邮件分类,该模型可能会犯两种类型的错误。当邮件是跨度时,它说不是跨度,这是一个假阴性。另一种是当邮件不是跨度时,它说跨度,这是一个误报。在这种情况下,误报更为关键,因为当邮件未跨区时,其中可能包含一些机密数据,并且它显示为跨区,那么它是危险的。
假设我们构建了一个covid检测系统,其中一个人被感染并且系统结果为未感染,这是一个假阴性,更重要的是让感染者自由离开,这可能会伤害他人。
问题 5:朴素贝叶斯算法中的朴素是什么?
答: 朴素贝叶斯是一种流行的机器学习算法,适用于贝叶斯定理。天真意味着无辜(简单)。朴素贝叶斯是一种有监督的机器学习算法,其中您有许多独立的列和一个输出列。朴素贝叶斯称为朴素输入列是独立的,在正常情况下,数据有一定的关系,但朴素贝叶斯不假设这一点。对于它的工作,输入列之间必须没有关系。
问题 - 6:你能举一个中位数比平均值更好测量的例子吗?
答: 如果您阅读了基本的描述性统计数据,您应该了解均值和中位数。平均值是所有观察值的平均值(总和除以观察总数)。中位数是对所有观测值进行排序后得到的中心数。两种度量都显示了数据的集中趋势。因此,当我们在数据中有异常值时,不建议在这种情况下使用均值。
例如,我们有几个学生的数据集,他们有年度套餐。所有学生都得到了3到6 LPA之间的包,但是2-3个学生的包为25LPA和38LPA,当我们被要求给出平均班级包时,平均值将是一个巨大的数字,这是错误的案子。所以在这种情况下最好使用中位数。
问题 7:您所说的 ML 中数据的不合理有效性是什么意思?
答:这是一个很少被问到的问题,但理解起来非常重要。根据对不同机器学习算法的研究和实际性能,表明如果数据数量增加,那么 Weal ML 算法的性能也会更好。简单的说,如果你不专注于算法部分,在语料库建设上投入无限的金钱和时间,那么任何算法都会产生好的结果,这就是所谓的数据不合理的有效性。
实际上,我们也观察到任何机器学习问题陈述,然后不同的算法在下图给出不同的性能也反映了这一点,但数据的力量会改变所有场景。

问题8)什么是惰性学习算法?它与渴望学习有什么不同?为什么 KNN 是一种惰性学习机器学习算法?
答:惰性学习算法是在训练阶段不学习,在收到查询时在预测阶段执行动作(学习)的学习算法。实际上,渴望学习算法在训练阶段学习或在训练期间生成输入和输出函数。
- 惰性学习存储训练数据,而渴望学习则不存储。
- 懒惰学习的训练速度很快,而渴望学习的训练速度很慢。
- 惰性学习算法的预测速度很慢,而在急切学习的情况下,预测速度很快。
- 惰性学习的一个例子是 KNN,渴望学习是决策树、SVM 和朴素贝叶斯。很少有算法属于惰性学习算法。
KNN 属于惰性学习算法,因为它首先存储数据,当出现任何新查询时,它会找到新数据点与所有其他数据点和最近的 3 个数据点的距离。在 3 个数据点中,它进行多数计数(投票),具有多数计数的类是结果预测。在这整个过程中,KNN 在收到查询时就开始工作,而在此之前,它什么也不做。
问题 9:什么是半监督机器学习?
答:如果您了解机器学习的类型,那么我们总是听到 3 种监督、无监督和强化,但还有一种称为半监督机器学习。半监督只是意味着它是部分监督和部分无监督的。实现输出列(标签)既昂贵又耗时,因为它需要人力。在准备数据集的初始阶段,任何人都需要坐下来提供标签。所以一些研究人员认为应该对有限的数据量和剩余量进行自动标注。这是半监督学习背后的核心思想。
例如,使用半监督机器学习的谷歌照片,我想在其中标记照片。因此,我识别出的一张照片和类似的照片将被贴上相同的标签。
问题 10:什么是 OOB 错误,它有什么用处?
答: OOB 代表 out-of-bag 评估。每当我们将 bagging 算法用于训练目的时,它都会使用替换方法采样来选择样本。此方法选择样本中的多行,并且在任何样本中都未选择一些行,称为袋外行。我们可以将这些行用作测试数据,而无需创建外部测试数据,称为袋外评估。
问题 11:在什么情况下,您更喜欢决策树而不是随机森林?
答:可以问这个问题来检查你的机器学习实践知识。决策树是一种基于 ID3 或 CART 的简单算法。多个决策树的集合是一个随机森林。如果我们比大多数数据集更实际地谈论,随机森林比决策树表现更好。但是在某些方面,决策树比随机森林更有用。
- 可解释性——始终,您不需要性能,但您还需要解释工作和解决方案。当你用决策树解决任何问题时,你会得到一个适当的树状结构来解释完整的树构建过程,你可以轻松地与客户和经理讨论模型的工作。
- 计算能力——如果你的计算能力较低,你可以使用决策树。
- 有用的特征——这是一个实际的用例,当你有一些你想优先使用的方便的特征时,决策树很有帮助,因为在随机森林中,特征是随机选择的。
问题12)为什么逻辑回归称为回归,而不是逻辑分类?
答:逻辑回归与线性回归模型密切相关。唯一的区别是您在输出中使用 sigmoid 函数并计算概率,并使用阈值将结果设为 0 或 1。之所以称为回归是因为它计算的是一个常数值概率。当我们计算连续值时,称为回归算法,所以逻辑算法称为回归算法。
问题 13:什么是在线机器学习?它与离线 ML 有何不同?列出它的一些应用。
回答:大多数公司宣传他们的产品时都带有一个共同的口号,即您使用我们的产品越多,它就会变得越智能。所以他们的意图是在线机器学习。首先,让我们了解批量机器学习(离线 ML)。在批处理机器学习中,您有一个数据集,在整个数据上训练一个 ML 模型并将模型部署在服务器上。之后,如果您想进行某些更改,您将关闭模型,进行更改并再次部署它。这是离线或批量机器学习。
在线机器学习是在服务器上进行模型训练的学习类型。它也被称为增量学习。这意味着当它获得新数据时,它会执行两项任务:首先,它预测结果,其次,它接受新数据的训练。使用它,模型性能会随着时间慢慢提高。在线机器学习的最佳例子是推荐系统。Youtube 是一个很好的例子,说明如果您观看任何视频并返回主页,Feed 将如何变化。
问题 14:机器学习中的“没有免费午餐”是什么意思?
答:这是一个有趣的问题,这是机器学习中的一个定理。1996 年,著名计算机科学家 David Polpert 发表了一篇论文,其中包含没有免费午餐定理。根据这个定理,如果你不对机器学习模型做任何假设,那么你就无法判断我应该选择哪种机器学习模型。
问题 15:假设您正在使用具有 4GB RAM 的笔记本电脑。你将如何处理 10GB 的数据集?
答:当你准备 ML 面试时,这是一个重要的问题,因为它会检查你处理大量数据的实践知识。因此,您可以在这种情况下使用 3 种方法。
- 二次抽样——这意味着减少数据的大小。在这种方法中,您可以抽取机器可以支持和使用的所需尺寸的样本。但这不是一个好的解决方案,因为使用它;由于信息丢失,您无法创建一个好的模型。
- 云计算——我们可以租用AWS、Azure、GCP等在线服务器。这个服务器可以让你上传海量数据,但成本是这种方法的问题。通过云计算平台提供的计算服务成本很高。
- Out of core ML –这个词源自核心内存(RAM 或外部内存)。这是一种在无法放入 RAM 的数据上训练模型的方法。这是一种将机器学习应用于无法放入 RAM 的数据的方法。它分以下定义的三个步骤执行。
- 流数据——您将数据从源中以小块的形式传输到 RAM。当你带来第一个块时,处理它并删除它,带来第二个块,处理并删除。这个过程一直持续到您处理完整的数据。
- 提取特征——我们提取特征来训练机器学习模型。
- 模型训练——增量学习的概念用于在一个块上训练 ML 模型,然后在第二个块上训练,依此类推。此功能仅受支持部分拟合特征或参数的 ML 算法支持。SGD 回归器、朴素贝叶斯、Mini-Batch KNN 等算法。
问题 16:结构化数据和非结构化数据有什么区别?
答:您在机器学习中收到的数据有结构化和非结构化两种。
结构化——表格形式的数据称为结构化数据。如果我们说表格,则数据收集了许多行和列。excel表格格式的数据是结构化数据。在结构化数据中,您总是会在列中找到文本。在结构化数据中搜索很简单。传统的机器学习算法很容易适用于结构化数据。结构化数据主要用于分析领域。
非结构化数据——非结构化数据包含不同类型的文件,如图像、音频、视频、GIF、文本文件等。在非结构化数据中搜索变得困难。这里主要使用深度学习技术。非结构化数据用于 NLP、文本挖掘和计算机视觉。
问题17:Bagging和Boosting的主要区别是什么?
答:机器学习中的大多数高性能模型都是从 Bagging 或 boosting 中获得的。在大多数面试中,都会向候选人提出问题,以列出两种技术之间的主要区别。集成学习进入市场是因为我们想要一个具有低偏差和方差的模型。尽管如此,每个 ML 单一模型都会产生低偏差和高方差的组合。我们将讨论 3 个主要差异点,以正确准确地回答问题。
- 使用的模型类型——在 bagging 中,我们使用的模型是低偏差和高方差的组合,就像一棵完全成熟的决策树。在 boosting 中,使用的组合是高偏差和低方差,就像浅层生长的决策树一样。因此,如果您的 ML 模型在训练数据方面表现良好,但在数据发生变化时表现不佳,我们将选择 Bagging。我们有一个算法对训练数据不好但不影响数据变化。然后我们去Boosting。
- 顺序与。Parallel – Bagging 代表引导聚合,这意味着我们有来自同一个 ML 算法的多个模型,我们从数据中抽取样本。每个模型都有一个样本,模型的训练一次以类似的方式进行。在 boosting 中,模型以顺序方式学习,这意味着第一个模型训练,然后第二个模型接收到第一个模型的错误并进行顺序学习。
- Base Learner 的权重——在 bagging 中,所有模型的权重相同。在 boosting 中,每个模型都有自己的权重,或者不同的模型有不同的权重。
问题 18:线性回归的假设是什么?
答:这是一个非常重要且基本的机器学习问题。面试官总是会从线性回归开始问你问题,并对你的实践知识做出大致判断。以下是线性回归的 5 个主要假设。
- 输入和输出之间的线性关系——线性关系意味着如果一个增加,另一个也应该增加,反之亦然。线性回归假设输入和输出是线性相关的。
- 无多重共线性 -多重共线性意味着您在数据中拥有的所有输入列不应高度相关。例如,如果我们将 X1、X2 和 X3 作为数据中的输入列,并且如果通过更改 X1 可以在 X2 中观察到变化,那么这就是多重共线性的情况。例如,如果通过改变 X1,我们得到保持 X2 和 X3 不变的输出,但是当 X1 与 X2 相关时,在改变 X1 时,X2 也会改变,所以我们不会得到正确的输出。这就是为什么多重共线性是一个问题。
- 残差正态性——当我们预测新数据点并计算误差或残差(实际 - 预测)时,在绘图时,它应该在平均值上呈正态分布。要知道这一点,您可以直接绘制 KDE 或 QQ 图。首先,您必须计算每个测试点的残差,并使用 seaborn 库;您可以绘制分布图。第二种方法是直接绘制一个QQ图,其中所有点都应该更靠近线。
- Homoscedasticity - Home 意味着相同,而 scedasticity 意味着传播或分散。所以这意味着有相同的分散。根据这个假设,当你绘制残差图时,分布应该是相等的。如果不相等,则称为异方差。为了计算这个,你在 X 轴上保持预测,在 Y 轴上保持残差。散点图应该是均匀的。
- 没有误差的自相关——如果你绘制所有的残差,那么不应该有一个特定的模式。

问题 19:什么是相关性和协方差?
答案:相关性描述了两个强正相关或负相关变量之间的关系。它用于计算两个变量之间的定量关系。例如收入和支出,需求和供应等。
协方差是一种计算两个变量之间相关性的简单方法。协方差的问题在于,如果没有归一化,它们很难比较。
问题 20:解释偏差方差权衡。
答:偏差和方差都是 ML 算法反映的一种错误。由于机器学习算法的简单假设,会出现偏差。当模型在训练数据上表现不佳时,则模型反映为高偏差或出现欠拟合的情况。
方差是由于算法的复杂性而发生的错误。当算法无法预测新数据的近似结果或试图过度拟合模型时,我们有一个高方差组合。
我们需要在偏差和方差之间进行权衡,以最佳地减少误差。
结论
机器学习是一个广阔的领域,一切都是相互联系的。在本文中,我们介绍了一些基于实践的问题,这些问题在使用您观察到的每种算法和发现的内容时检查您对算法的实践和研究知识。让我们以关键要点结束本文,这些要点将帮助您更好地为 ML 工作做好准备。
- 招聘人员或组织不希望您了解每种算法。他们希望在您拥有实践经验的类别中获得算法的基本知识和专业知识。
- 始终以更好的方式准备那些您在项目中使用过的材料,以及您过去几个月一直在使用的算法。
- 不要试图迷惑算法的工作,而是要理解它,因为许多机器学习从业者试图在面试准备期间迷惑它。招聘人员将尝试理解数学和实际工作。所以只有实施是不够的。您可以使一些必需的公式着迷。
- 当你准备算法时,不要错过找出算法的优缺点,比如什么是有效的使用,在什么场景下它会起作用或不起作用,因为这种类型的问题只会帮助一次性完成面试。
原文标题:20 Most Asked Interview Questions of Machine Learning
原文作者:Raghav Agrawal
原文链接:https://www.analyticsvidhya.com/blog/2022/08/20-most-asked-interview-questions-of-machine-learning/




