如果您正在准备下一次机器学习面试,这篇文章是您的一站式目的地。我们将讨论 2023 年最常见的 50 个机器学习求职面试问题。我们的重点将是现实生活中的情况以及 Microsoft 和 Amazon 等公司在面试中常见的问题。本文对于寻求快速修改机器学习概念的个人也很有帮助。

在本文中,我们为新手和有经验的人介绍了广泛的机器学习问题,确保您为下一次 ML 面试做好充分准备。

什么是机器学习?

机器学习是人工智能的一个子领域,涉及算法和统计模型的开发,使计算机能够通过经验提高其任务性能。据说计算机从任务 T 中学习并从经验 E 中提高其性能(P)。
 

新生机器学习面试问题

1:机器学习与一般编程有何不同?

在一般编程中,我们拥有数据和逻辑,通过使用这两者来创建答案。但在机器学习中,我们有数据和答案,我们让机器从中学习逻辑,这样相同的逻辑就可以用来回答未来将面临的问题。此外,有时不可能在代码中编写逻辑,因此,在这些时候,机器学习成为救世主并学习逻辑本身。

2: 2: 聚类算法有哪些实际应用?

聚类技术可用于数据科学的多个领域,例如图像分类、客户细分和推荐引擎。最常见的用途之一是市场研究和客户细分,然后用于针对特定的市场群体来扩展业务和盈利成果。 

3:如何选择最佳的簇数?

通过使用 Elbow 方法,我们决定聚类算法必须尝试形成的最佳聚类数量。这种方法背后的主要原理是,如果我们增加簇的数量,误差值就会减少。但是在达到最佳数量的特征之后,误差值的减少是微不足道的,因此,在这种情况开始发生之后,我们选择该点作为算法将尝试形成的最佳簇数。

由上图可知,最佳簇数为3。

4:什么是特征工程?它如何影响模型的性能? 

特征工程是指利用现有特征开发一些新特征。有时,某些特征之间存在非常微妙的数学关系,如果正确探索,则可以使用这些数学运算来开发新特征。此外,有时会将多条信息组合在一起并作为单个数据列提供。在这些时候,开发新特征并使用它们可以帮助我们更深入地了解数据,并且如果派生的特征足够重要,则有助于大大提高模型的性能。

5:什么是机器学习中的假设?

假设是监督机器学习领域中常用的术语。由于我们具有独立的特征和目标变量,并且我们尝试找到从特征空间到目标变量的近似函数映射,因此映射的近似被称为假设。 

6:如何衡量集群的有效性?

有惯性或误差平方和 (SSE)、轮廓分数、l1 和 l2 分数等指标。在所有这些指标中,惯性或误差平方和 (SSE) 和 Silhouette 分数是衡量集群有效性的常用指标。尽管这种方法在计算成本方面相当昂贵。如果形成的簇密集且分离良好,则得分较高。

7:为什么我们取较小的学习率值?

较小的学习率值有助于训练过程更缓慢地逐渐收敛到全局最优值,而不是围绕它波动。这是因为较小的学习率会导致每次迭代时模型权重的更新较小,这有助于确保更新更加精确和稳定。
如果学习率太大,模型权重可能更新太快,这可能导致训练过程超出全局最优值并完全错过它。

因此,为了避免误差值的振荡并实现模型的最佳权重,有必要使用较小的学习率值。

8:什么是机器学习中的过度拟合?如何避免?

当模型学习模式以及数据中存在的噪声时,就会发生过度拟合,这会导致训练数据的性能很高,但模型之前未见过的数据的性能却很低。为了避免过度拟合,我们可以使用多种方法:

  • 在验证训练停止增加但训练继续进行的情况下,提前停止模型的训练。
  • 使用 L1 或 L2 正则化等正则化方法来惩罚模型的权重以避免过度拟合。

9:为什么我们不能使用线性回归来进行分类任务?

我们不能使用线性回归进行分类任务的主要原因是线性回归的输出是连续且无界的,而分类需要离散且有界的输出值。 

如果我们使用线性回归进行分类任务,误差函数图将不是凸的。凸图只有一个最小值,也称为全局最小值,但在非凸图的情况下,我们的模型有可能陷入某些局部最小值,而该局部最小值可能不是全局最小值。为了避免这种陷入局部最小值的情况,我们不使用线性回归算法进行分类任务。在这里阅读更多相关信息。

10:为什么要进行归一化?

为了实现模型的稳定和快速训练,我们使用归一化技术将所有特征带到一定的范围或值范围。如果我们不执行归一化,那么梯度有可能不会收敛到全局或局部最小值并最终来回振荡。在这里阅读更多相关信息。

11:精确率和召回率有什么区别?

精度就是模型预测的真阳性(TP)与所有正例(TP+FP)之间的比率。换句话说,精度衡量的是有多少预测的正例实际上是真正的正例。它衡量模型避免误报和做出准确的阳性预测的能力。

\text{Precision}=\frac{TP}{TP\; +\; FP}

但在召回的情况下,我们计算真阳性的比率(TP)和实际属于阳性类的示例总数(TP+FN)。召回率衡量模型正确识别了多少实际的正面示例。它衡量模型避免误报和正确识别所有正例的能力。

12:上采样和下采样有什么区别?

在上采样方法中,我们通过从少数类中随机选择一些点并将它们添加到数据集中来增加少数类中的样本数量,重复此过程直到数据集在每个类中达到平衡。但这里有一个缺点,训练精度变得很高,因为每个历元模型在每个历元中训练多次,但在验证精度中却没有观察到同样高的精度。 

在下采样的情况下,我们通过选择一些与少数类中的数据点数量相等的随机点来减少多数类中的样本数量,以使分布变得平衡。在这种情况下,我们必须遭受数据丢失的痛苦,这也可能导致一些关键信息的丢失。 

13:什么是数据泄露,如何识别?

如果目标变量和输入特征之间存在高度相关性,则这种情况称为数据泄漏。这是因为当我们使用高度相关的特征训练模型时,模型仅在训练过程中获取大部分目标变量的信息,并且只需做很少的事情即可实现高精度。在这种情况下,该模型在训练和验证数据上都提供了相当不错的性能,但当我们使用该模型进行实际预测时,模型的性能并没有达到标准。这就是我们识别数据泄漏的方法。

14:解释分类报告及其包含的指标。

分类报告使用分类指标进行评估,这些指标具有每个类别的精度、召回率和 f1 分数。

  • 精度可以定义为分类器不将实际为负的实例标记为正的能力。 
  • 召回率是分类器找到所有正值的能力。对于每个类别,它被定义为真阳性与真阳性和假阴性之和的比率。 
  • F1 分数是精确率和召回率的调和平均值。 
  • 支持度是每个类别使用的样本数量。
  • 模型的整体准确度分数也可以用来对性能进行高水平的审查。它是正确预测总数与数据集总数之间的比率。
  • 宏平均值只不过是每个类别的指标(精度、召回率、f1 分数)值的平均值。 
  • 加权平均值是通过为数据集中出现次数较多的类别提供更高的偏好来计算的。

15:随机森林回归器的哪些超参数有助于避免过度拟合?

  • 最大深度 – 有时,树的深度较大可能会导致过度拟合。为了克服它,深度应该受到限制。
  • n 估计器 – 这是我们想要在森林中决策树的数量。
  • 最小样本分割 – 这是内部节点为了分裂成更多节点而必须保存的最小样本数。
  • 最大叶子节点数 – 它帮助模型控制节点的分裂,反过来,模型的深度也受到限制。

16:什么是偏差-方差权衡?

首先我们来了解一下什么是偏差和方差:

  • 偏见 指实际值与模型预测值之间的差异。低偏差意味着模型已经学习了数据中的模式,高偏差意味着模型无法学习数据中存在的模式,即欠拟合。
  • 方差 指的是模型未经训练的预测准确性的变化。低方差是一个很好的情况,但高方差意味着训练数据和验证数据的性能差异很大。

如果偏差太低但方差太高,则这种情况称为过度拟合。因此,在这两种情况之间找到平衡被称为偏差-方差权衡。

17:火车测试分割是否总是需要使用 80:20 的比例?

不存在数据必须按照80:20的比例分割的必要条件。分割的主要目的是获得一些模型以前没有见过的数据,以便我们可以评估模型的性能。如果数据集包含 50,000 行数据,那么仅 1000 或 2000 行数据就足以评估模型的性能。

18:什么是主成分分析?

PCA(主成分分析)是一种无监督机器学习降维技术,其中我们以显着减小数据大小为代价,权衡数据的一些信息或模式。在这个算法中,我们尝试在很大程度上保留原始数据集的方差,比如说 95%。对于非常高维的数据,有时即使损失 1% 的方差,我们也可以显着减小数据大小。通过使用该算法,我们可以进行图像压缩、可视化高维数据并使数据可视化变得容易。

19:什么是一次性学习?

一次性学习是机器学习中的一个概念,其中模型经过训练以从单个示例中识别数据集中的模式,而不是在大型数据集上进行训练。当我们没有大型数据集时,这很有用。它用于查找两个图像之间的相似性和相异性。

20:曼哈顿距离和欧氏距离有什么区别?

曼哈顿距离和欧几里得距离都是两种距离测量技术。 

曼哈顿距离 (MD) 计算为沿每个维度的两点坐标之间的绝对差之和。 

欧氏距离 (ED) 计算为沿每个维度的两点坐标之间的平方差之和的平方根。

通常,这两个指标用于评估聚类算法形成的聚类的有效性。

21:协方差和相关性有什么区别?

顾名思义,协方差为我们提供了两个变量彼此差异程度的度量。但另一方面,相关性使我们能够衡量两个变量彼此相关的程度。协方差可以取任何值,而相关性始终在 -1 和 1 之间。这些度量在探索性数据分析过程中使用,以从数据中获得见解。

22:one hot 编码和ordinal 编码有什么区别?

One Hot 编码和序数编码都是将分类特征转换为数字特征的不同方法,区别在于它们的实现方式。在一个热编码中,我们为每个类别创建一个单独的列,并根据与该行对应的值添加 0 或 1。与一种热编码相反,在序数编码中,我们根据顺序或等级用 0 到 n-1 之间的数字替换类别,其中 n 是数据集中存在的唯一类别的数量。 one-hot 编码和 ordinal 编码之间的主要区别在于,one-hot 编码会产生 0 和 1 形式的数据的二进制矩阵表示,当数据集之间没有顺序或排名时使用它,而 ordinal 编码将类别表示为序数值。

23:如何判断模型是否对训练数据进行过拟合?

在这一步中,将数据拆分为训练数据和验证数据被证明是一个福音。如果模型在训练数据上的性能与验证数据上的性能相比非常高,那么我们可以说该模型通过学习模式以及数据集中存在的噪声而过度拟合了训练数据。

24:如何使用混淆矩阵得出模型性能的结论?

混淆矩阵总结了分类模型的性能。在混淆矩阵中,我们得到四种类型的输出(在二元分类问题的情况下),即 TP、TN、FP 和 FN。我们知道,一个正方形中可能有两条对角线,这两条对角线之一代表我们模型的预测和真实标签相同的数字。我们的目标也是最大化这些对角线上的值。从混淆矩阵中,我们可以计算各种评估指标,如准确率、精确率、召回率、F1 分数等。

25:小提琴情节有什么用?

小提琴图这个名称源自与小提琴相匹配的图形形状。该图是核密度图以及箱线图属性的扩展。箱线图显示的所有统计度量也由小提琴图显示,但小提琴的宽度表示不同值区域中变量的密度。这种可视化工具通常用于探索性数据分析步骤,以检查连续数据变量的分布。 

至此,我们涵盖了一些最重要的机器学习概念,面试官通常会要求这些概念来测试候选人的技术理解能力,我们祝愿您在下次面试中一切顺利。

26:箱线图中表示的五个统计指标是什么?

  • 左胡须 – 该统计指标的计算方法是从 Q1 中减去 1.5 倍 IQR(四分位数间距)。
    • IQR = Q3-Q1
    • 左晶须 = Q1-1.5*IQR
  • Q1 – 这也称为 25 个百分位。
  • Q2 – 这是数据的中位数或 50 个百分位数。
  • Q3 – 这也称为 75 百分位
  • 右晶须——该统计指标是通过在第三季度添加 1.5 倍的 IQR(四分位数间距)计算得出的。
    • 右晶须 = Q3 + 1.5*IQR

27:随机梯度下降(SGD)和梯度下降(GD)有什么区别?

在梯度下降算法中,立即在整个数据集上训练我们的模型。但在随机梯度下降中,模型是通过一次使用小批量训练数据进行训练的。如果我们使用 SGD,那么就不能指望训练误差能够顺利下降。训练误差会振荡,但经过一些训练步骤后,我们可以说训练误差已经下降。此外,使用 GD 实现的最小值可能与使用 SGD 实现的最小值不同。据观察,使用 SGD 实现的最小值与 GD 接近,但并不相同。 

28:什么是中心极限定理?

该定理与抽样统计及其分布有关。根据该定理,随着样本量的增加,样本均值的抽样分布趋向于正态分布。无论人口分布如何形成。即,如果我们从分布中取出一些样本点并计算其平均值,那么无论我们从哪个分布中取出样本点,这些平均值点的分布都将遵循正态/高斯分布。有一个条件,即样本大小必须大于或等于 30,CLT 才能成立。并且样本均值的均值接近总体均值。

高级机器学习面试问题

1:讲解SVM的工作原理。

在一个平面中不同类别中不可分离的数据集可能在另一个平面中是可分离的。这正是 SVM 背后的思想,将低维数据映射到高维数据,使其在不同的类中变得可分离。将数据映射到可以将数据分类的更高维度后确定超平面。 SVM 模型甚至可以学习非线性边界,其目标是数据分类的类别之间应有尽可能多的裕度。为了执行此映射,使用了不同类型的内核,例如径向基内核、高斯内核、多项式内核等。

2:k-means 和 k-means++ 算法有什么区别?

两者之间的唯一区别在于质心的初始化方式。在 k 均值算法中,质心是从给定点随机初始化的。这种方法有一个缺点,有时这种随机初始化会导致非优化的集群,因为两个集群的初始化可能彼此接近。 

为了克服这个问题,k-means++算法应运而生。在 k-means++ 中,第一个质心是从数据点中随机选择的。后续质心的选择基于它们与初始质心的分离。一个点被选为下一个质心的概率与该点和已选择的最近质心之间的距离的平方成正比。这保证了质心均匀分布,并降低了收敛到不太理想的簇的可能性。这有助于算法达到全局最小值,而不是陷入某些局部最小值。在这里阅读更多相关信息。

3:解释机器学习中常用的一些相似性度量。

一些最常用的相似性度量如下:

  • 余弦相似度 – 通过考虑 n 维的两个向量,我们评估两者之间角度的余弦。此相似性度量的范围从 [-1, 1] 变化,其中值 1 表示两个向量高度相似,-1 表示两个向量彼此完全不同。
  • 欧几里得距离或曼哈顿距离 – 这两个值表示 n 维平面中两点之间的距离。两者之间的唯一区别在于两者的计算方式。
  • 杰卡德相似度 – 它也称为 IoU 或并集交集,广泛应用于目标检测领域,用于评估预测边界框与地面真实边界框之间的重叠。

4:当数据分布右偏和左偏时,均值、中位数和众数会发生什么情况?

在左偏分布(也称为正偏分布)的情况下,平均值大于中位数,而中位数又大于众数。但在左偏分布的情况下,情况完全相反。

右偏分布

众数 < 中位数 < 平均值

 

左偏分布,

平均值 < 中位数 < 众数

5:决策树还是随机森林对于异常值是否更稳健。

决策树和随机森林对于异常值都相对稳健。随机森林模型是多个决策树的集合,因此随机森林模型的输出是多个决策树的聚合。因此,当我们对结果进行平均时,过度拟合的可能性就会减少。因此我们可以说随机森林模型对于异常值更加稳健。

6:L1和L2正则化有什么区别?它们的意义是什么?

L1 正则化:在 L1 正则化中,也称为 Lasso 正则化,其中我们在损失函数中添加模型权重的绝对值之和。

在 L1 正则化中,那些根本不重要的特征的权重被惩罚为零,因此,反过来,我们通过使用 L1 正则化技术来获得特征选择。

L2正则化:在 L2 正则化中,也称为岭正则化,其中我们将权重的平方添加到损失函数中。在这两种正则化方法中,权重都会受到惩罚,但它们帮助实现的目标之间存在细微的差异。 

在 L2 正则化中,权重不会被惩罚为 0,但对于不相关的特征,权重接近于零。它通常用于通过将权重缩小到零来防止过度拟合,特别是当有很多特征并且数据有噪声时。

7:什么是径向基函数?解释一下它的用途。

RBF(径向基函数)是机器学习中使用的实值函数,其值仅取决于输入和称为中心的固定点。径向基函数的公式如下:

机器学习系统经常使用 RBF 函数来实现各种功能,包括:

  • RBF 网络可用于逼近复杂函数。通过训练网络的权重以适应一组输入输出对, 
  • RBF 网络可用于无监督学习来定位数据组。通过将 RBF 中心视为聚类中心,
  • RBF 网络可用于分类任务,方法是训练网络权重,根据输入与 RBF 节点的距离将输入分组。

它是非常著名的内核之一,通常在 SVM 算法中用于将低维数据映射到更高维平面,因此,我们可以确定一个边界,该边界可以以尽可能多的余量将这些平面的不同区域中的类分开。 

8:解释用于处理数据不平衡的SMOTE方法。

合成少数过采样技术是用于处理数据集中数据不平衡问题的方法之一。在这种方法中,我们通过线性插值使用少数类中的现有数据点合成新的数据点。使用这种方法的优点是模型不需要在相同的数据上进行训练。但使用这种方法的缺点是它会向数据集添加不需要的噪声,并可能对模型的性能产生负面影响。

9:准确率分数是否始终是衡量分类模型性能的良好指标?

不,有时当我们在不平衡的数据集上训练模型时,准确性分数并不是衡量模型性能的良好指标。在这种情况下,我们使用精度和召回率来衡量分类模型的性能。此外,f1-score 是另一个可用于衡量性能的指标,但最终,f1-score 也是使用精度和召回率来计算的,因为 f1-score 只是精度和召回率的调和平均值。 

10:什么是KNN输入器?

我们通常通过数据的描述性统计度量(例如均值、众数或中位数)来插补空值,但 KNN Imputer 是一种更复杂的填充空值的方法。该方法中还使用了距离参数,也称为 k 参数。这项工作在某种程度上类似于聚类算法。缺失值是根据缺失值的邻域点来估算的。

11:解释XGB模型的工作流程。

XGB 模型是机器学习集成技术的一个示例,该方法通过将权重传递到决策树来按顺序优化权重。每次通过后,随着每棵树尝试优化权重,权重变得越来越好,最终,我们获得了当前问题的最佳权重。正则化梯度和小批量梯度下降等技术已用于实现该算法,因此它以非常快速且优化的方式工作。

12:将给定数据集拆分为训练数据和验证数据的目的是什么?

主要目的是保留一些模型尚未训练的剩余数据,以便我们可以在训练后评估机器学习模型的性能。此外,有时我们使用验证数据集在多个最先进的机器学习模型中进行选择。就像我们首先训练一些模型一样,比如说 LogisticRegression、XGBoost 或任何其他模型,而不是使用验证数据测试它们的性能,并选择验证和训练准确性之间差异较小的模型。

13:解释一些处理该数据中缺失值的方法。

处理缺失值的一些方法如下:

  • 删除具有空值的行可能会导致一些重要信息的丢失。
  • 如果具有空值的列的信息价值非常低,则删除该列。它可能会导致一些重要信息的丢失。
  • 使用平均值、众数和中位数等描述性统计度量来估算空值。
  • 使用 KNN Imputer 等方法以更复杂的方式插补空值。

14:k-means和KNN算法有什么区别?

k-means 算法是流行的无监督机器学习算法之一,用于聚类目的。但KNN是一般用于分类任务的模型,是一种有监督的机器学习算法。 k 均值算法通过在数据集中形成聚类来帮助我们标记数据。

15:什么是线性判别分析?

LDA 是一种监督机器学习降维技术,因为它也使用目标变量进行降维。它通常用于分类问题。 LDA主要致力于两个目标:

  • 最大化两个类的均值之间的距离。
  • 尽量减少每个类别内的差异。

16:我们如何以二维方式可视化高维数据?

最常见和最有效的方法之一是使用 t-SNE 算法,它是 t-分布式随机邻域嵌入的缩写形式。该算法使用一些非线性复杂的方法来降低给定数据的维度。我们还可以使用 PCA 或 LDA 将 n 维数据转换为 2 维数据,以便我们可以将其绘制出来以获得视觉效果,以便更好地分析。但 PCA 和 t-SNE 之间的区别在于,前者试图保留数据集的方差,而 t-SNE 试图保留数据集中的局部相似性。

17:维度诅咒背后的原因是什么?

随着输入数据维度的增加,概括或学习数据中存在的模式所需的数据量也会增加。对于模型来说,从有限数量的数据集中识别每个特征的模式变得很困难,或者我们可以说,由于数据的高维性和用于训练模型的示例数量有限,权重没有得到适当的优化。因此,在输入数据的维数达到一定阈值后,我们必须面对维数灾难。

18:度量 MAE、MSE 或 RMSE 是否对异常值更稳健。

在上述三个指标中,与 MSE 或 RMSE 相比,MAE 对异常值具有鲁棒性。这背后的主要原因是对误差值进行平方。在异常值的情况下,误差值已经很高,然后我们对其进行平方,这会导致误差值爆炸性超过预期,并产生误导性的梯度结果。

19:为什么删除高度相关的特征被认为是一个好的做法?

当两个特征高度相关时,它们可能向模型提供相似的信息,这可能会导致过拟合。如果数据集中存在高度相关的特征,那么它们会不必要地增加特征空间的维数,有时会产生维数灾难的问题。如果特征空间的维数很高,那么模型训练可能需要比预期更多的时间,这会增加模型的复杂性和出错的机会。这在某种程度上也有助于我们实现数据压缩,因为这些功能已被删除,而不会造成太多数据丢失。

20:推荐系统的基于内容的算法和协同过滤算法有什么区别?

在基于内容的推荐系统中,评估内容和服务的相似性,然后通过使用过去数据中的这些相似性度量,我们向用户推荐产品。但另一方面,在协同过滤中,我们根据相似用户的偏好推荐内容和服务。例如,如果一个用户过去使用过服务A和服务B,而新用户使用过服务A,那么将根据另一用户的偏好向他推荐服务A。

结论

机器学习是一个快速发展的领域,新概念不断涌现。要了解最新动态,请加入社区、参加会议并阅读研究论文。通过这样做,您可以增强理解并有效应对机器学习面试。持续学习和积极参与是在这个充满活力的领域取得成功的关键。