机器学习常见面试题笔记整理:问题和答案解答

2021年12月12日20:04:51 发表评论 1,081 次浏览

本页将引导你复习机器学习的技巧来破解面试。

在这里,我们的重点将放在微软、亚马逊等公司提出的真实场景 ML 面试问题,以及如何回答这些问题。

让我们开始吧!

首先,机器学习是指训练计算机程序以建立基于数据的统计模型的过程。机器学习 (ML) 的目标是转换数据并从数据中识别关键模式或获得关键见解。

例如,如果我们有实际销售数据的历史数据集,我们可以训练机器学习模型来预测未来的销售。

为什么机器学习趋势出现得如此之快?

机器学习解决了现实世界的问题。与解决问题的硬编码规则不同,机器学习算法从数据中学习。

学习之后可以用于预测特征。它为早期采用者带来了回报。

整整 82% 采用机器学习和人工智能 (AI) 的企业都从投资中获得了显着的财务优势。

据德勤称,公司的投资回报率中位数为 17%,令人印象深刻。

基础机器学习常见面试题有哪些

1. 为什么引入机器学习?

机器学习面试题解析:最简单的答案是让我们的生活更轻松。在“智能”应用程序的早期,许多系统使用“if”和“else”决策的硬编码规则来处理数据或调整用户输入。想想垃圾邮件过滤器,它的工作是将适当的传入电子邮件移动到垃圾邮件文件夹。  

但是通过机器学习算法,我们获得了足够的数据信息来学习和识别数据中的模式。

与普通问题不同,我们不需要为机器学习中的每个问题编写新规则,我们只需要使用相同的工作流程,但使用不同的数据集。

让我们来谈谈艾伦·图灵,在他 1950 年的论文“计算机与智能”中,艾伦问道:“机器能思考吗?”

全文在这里

论文描述了“模仿游戏”,其中包括三个参与者——

  • 人类充当法官,
  • 另一个人类,和
  • 计算机试图让法官相信它是人类。

法官请另外两名参与者发言。当他们回应时,法官需要决定哪个回应来自计算机。如果法官无法分辨出差异,则计算机赢得了比赛。

该测试今天继续作为人工智能领域的年度竞赛。目的很简单:让法官相信他们是在与人聊天,而不是在与计算机聊天机器人程序聊天。

2. 机器学习常见面试题和答案合集:机器学习算法有哪些不同类型?

有各种类型的机器学习算法。以下是基于以下广泛类别的列表:

  • 他们是否接受过人工监督训练(有监督、无监督、强化学习)
  • 下图中的标准并不是排他性的,我们可以以任何我们喜欢的方式组合它们。

3. 什么是监督学习?

监督学习是一种从标记的训练数据中推断出函数的机器学习算法。训练数据由一组训练示例组成。

示例:01

知道身高和体重就可以确定人的性别。以下是流行的监督学习算法。 

  • 支持向量机
  • 回归
  • 朴素贝叶斯
  • 决策树
  • K-最近邻算法和神经网络。

示例:02

如果你构建一个 T 恤分类器,标签将是“这是一个 S,这是一个 M,这是 L”,基于显示 S、M 和 L 的分类器示例。

4. 什么是无监督学习?

无监督学习也是一种机器学习算法,用于在给定的数据集上寻找模式。在这方面,我们没有任何要预测的因变量或标签。无监督学习算法:

  • 聚类, 
  • 异常检测, 
  • 神经网络和潜在变量模型。

例子:

在同一个示例中,T 恤聚类将分类为“领型和 V 领型”、“圆领型”和“袖型”。

5. 什么是朴素贝叶斯中的“朴素”?

朴素贝叶斯方法是一种监督学习算法,它是朴素的,因为它通过应用贝叶斯定理做出所有属性相互独立的假设。

贝叶斯定理陈述了以下关系,给定类变量 y 和相关向量 x1 到 xn:

P(yi | x1,..., xn) =P(yi)P(x1,..., xn | yi)(P(x1,..., xn)

使用每个 xiis 独立的朴素条件独立假设:对于所有 I,此关系简化为:

P(xi | yi, x1, ..., xi-1, xi+1, ...., xn) = P(xi | yi)

由于 P(x1,..., xn) 是给定输入的常数,我们可以使用以下分类规则:

P(yi | x1, ..., xn) = P(y) ni=1P(xi | yi)P(x1,...,xn) 我们也可以使用最大后验概率 (MAP) 估计来估计 P (yi) 和 P(yi | xi) 前者是训练集中 y 类的相对频率。

P(yi | x1,..., xn) P(yi) ni=1P(xi | yi)

y = arg max P(yi)ni=1P(xi | yi)

不同的朴素贝叶斯分类器的区别主要在于它们对 P(yi | xi) 的分布所做的假设:可以是伯努利、二项式、高斯等。

6.什么是PCA?你什么时候使用它?

主成分分析 (PCA) 最常用于降维。

在这种情况下,PCA 测量每个变量(或表中的列)的变化。如果变化不大,则将变量抛出,如下图所示:

从而使数据集更容易可视化。PCA 用于金融、神经科学和药理学。

它作为预处理步骤非常有用,尤其是当特征之间存在线性相关性时。

7. 详细解释 SVM 算法

支持向量机 (SVM) 是一种非常强大且通用的监督机器学习模型,能够执行线性或非线性分类、回归,甚至异常值检测。

假设我们给出了一些数据点,每个数据点都属于两个类中的一个,目标是根据一组示例将两个类分开。

在 SVM 中,数据点被视为 p 维向量(p 数的列表),我们想知道是否可以用 (p-1) 维超平面将这些点分开。这称为线性分类器。

有许多超平面可以对数据进行分类。选择代表两个类之间最大间隔或边距的最佳超平面。 
如果存在这样的超平面,则称为最大边界超平面,它定义的线性分类器称为最大边界分类器。划分H3中数据的最佳超平面

我们有数据 (x1, y1), ..., (xn, yn) 和不同的特征 (xii, ..., xip),而 yiis 要么是 1,要么是 -1。

超平面 H3 的方程是满足以下条件的点集:

w. xb = 0

其中 w 是超平面的法向量。参数 b||w|| 确定超平面沿法向量 w 与原点的偏移

因此,对于每个 i,xi 在 1 或 -1 的超平面中。基本上, x 满足:

。xi - b = 1 或 w。xi - b = -1

8. SVM 中的支持向量是什么?

机器学习面试题解析:支持向量机 (SVM) 是一种算法,它试图在不同的类之间拟合一条线(或平面或超平面),以最大化从线到类点的距离。

通过这种方式,它试图找到类之间的稳健分离。支持向量是分割超平面边缘的点,如下图所示。

9. 机器学习常见面试题有哪些:SVM 中有哪些不同的内核?

SVM 中有六种类型的核:

  • 线性核 - 当数据线性可分时使用。 
  • 多项式核 - 当你拥有没有自然平滑概念的离散数据时。
  • 径向基核 - 创建一个决策边界,能够比线性核更好地分离两个类。
  • Sigmoid 核 - 用作神经网络的激活函数。

10. 什么是交叉验证?

交叉验证是一种将所有数据分成三部分的方法:训练、测试和验证数据。数据被分成 k 个子集,并且模型已经在这些数据集中的 k-1 上进行了训练。

最后一个子集用于测试。这是为每个子集完成的。这是 k 折交叉验证。最后,将所有 k-fold 的分数平均以产生最终分数。

11. 机器学习常见面试题和答案合集:机器学习中的偏差是什么?

数据偏差告诉我们数据存在不一致。不一致的发生可能有多种原因,这些原因并不相互排斥。

例如,像亚马逊这样的科技巨头为了加快招聘流程,他们建立了一个引擎,在那里他们将提供 100 份简历,它会吐出前五名,然后雇用这些人。

当公司意识到该软件没有产生性别中立的结果时,它进行了调整以消除这种偏见。

12. 解释分类和回归之间的区别?

分类用于产生离散的结果,分类用于将数据分类到一些特定的类别中。
例如,将电子邮件分为垃圾邮件和非垃圾邮件类别。 

而回归处理连续数据。
例如,预测某个时间点的股票价格。

分类用于将输出预测为一组类。 
例如,明天是热还是冷?

而回归用于预测数据所代表的关系。 
例如,明天的温度是多少?

高级机器学习问题

13.什么是F1分数?你会如何使用它?

在直接跳入F1分数之前,我们先看看这张表。

预言预测是预测否
实际 是真阳性 (TP)假阴性 (FN)
实际编号误报 (FP)真阴性 (TN)

在二元分类中,我们将 F1 分数视为模型准确性的衡量标准。F1 分数是准确率和召回率分数的加权平均值。

F1 = 2TP/2TP + FP + FN

我们看到 F1 的分数介于 0 和 1 之间,其中 0 是最差的分数,而 1 是最好的分数。 
F1 分数通常用于信息检索,以查看模型检索相关结果的情况以及我们的模型的执行情况。
 

14. 定义精度和召回率?

准确率和召回率是监控机器学习实施能力的方法。但它们经常同时使用。

Precision 回答了这个问题,“在分类器预测为相关的项目中,有多少是真正相关的?”

然而,recall 回答了这个问题,“在所有真正相关的项目中,分类器找到了多少?

一般来说,精确的含义是准确和准确的事实。所以我们的机器学习模型也是如此。如果你有一组模型需要预测相关的项目。有多少项目是真正相关的?

下图显示了精确率和召回率的维恩图。

在数学上,精确率和召回率可以定义如下:

precision = # 正确答案/# ranker 返回的总项目数

回忆 = # 快乐正确答案/# 相关答案总数

15. 如何解决过拟合和欠拟合?

过拟合意味着模型适合训练数据,在这种情况下,我们需要重新采样数据并使用 k 折交叉验证等技术估计模型精度。

而对于欠拟合情况,我们无法从数据中理解或捕获模式,在这种情况下,我们需要更改算法,或者需要向模型提供更多数据点。

16. 什么是神经网络?

它是人脑的简化模型。就像大脑一样,它的神经元在遇到类似的东西时会激活。

不同的神经元通过有助于信息从一个神经元流向另一个神经元的连接相连。

17. 机器学习常见面试题和答案合集:什么是损失函数和成本函数?解释它们之间的主要区别?

在计算损失时,我们只考虑单个数据点,然后我们使用术语损失函数。

而在计算多个数据的误差总和时,我们使用成本函数。没有什么大的区别。

换句话说,损失函数是捕获单个记录的实际值和预测值之间的差异,而成本函数聚合整个训练数据集的差异。

最常用的损失函数是均方误差和铰链损失。

均方误差(MSE):简而言之,我们可以说我们的模型如何根据实际值预测值。MSE = √(预测值-实际值)2

Hinge loss:用于训练机器学习分类器,即

L(y) = max(0,1- yy)

其中 y = -1 或 1 表示两个类,y 表示分类器的输出形式。最常见的成本函数将总成本表示为等式 y = mx + b 中的固定成本和可变成本之和

18.机器学习常见面试题有哪些:什么是集成学习?

集成学习是一种结合多种机器学习模型以创建更强大模型的方法。

模型不同的原因有很多。几个原因是:

  • 不同的人口
  • 不同的假设
  • 不同的建模技术

在处理模型的训练和测试数据时,我们会遇到错误。这种误差可能是偏差、方差和不可约误差。

现在模型应该始终在偏差和方差之间取得平衡,我们称之为偏差-方差权衡。

这种集成学习是执行这种权衡的一种方式。

有许多集成技术可用,但在聚合多个模型时,有两种通用方法:

  • Bagging,一种原生方法:获取训练集并从中生成新的训练集。
  • Boosting,一种更优雅的方法:类似于bagging,boosting 用于优化训练集的最佳加权方案。

19. 你如何确定使用哪种机器学习算法?

机器学习面试题解析:这完全取决于我们拥有的数据集。如果数据是离散的,我们使用 SVM。如果数据集是连续的,我们使用线性回归。

所以没有具体的方法可以让我们知道使用哪种 ML 算法,这完全取决于探索性数据分析 (EDA)。

EDA 就像“采访”数据集;作为采访的一部分,我们做以下事情:

  • 将我们的变量分类为连续变量、分类变量等。 
  • 使用描述性统计总结我们的变量。 
  • 使用图表可视化我们的变量。

基于上述观察,为特定数据集选择一种最适合的算法。

20.如何处理异常值?

异常值是数据集中与数据集中其他观测相距较远的观测。用于发现异常值的工具是

  • 箱形图
  • Z-分数
  • 散点图等

通常,我们需要遵循三种简单的策略来处理异常值:

  • 我们可以放下它们。 
  • 我们可以将它们标记为异常值并将它们包含为一个特征。 
  • 同样,我们可以转换特征以减少异常值的影响。

21. 什么是随机森林?它是如何工作的?

随机森林是一种通用的机器学习方法,能够执行回归和分类任务。

与 bagging 和 boosting 一样,随机森林通过组合一组其他树模型来工作。随机森林从测试数据中的列的随机样本中构建一棵树。

以下是随机森林创建树的步骤:

  • 从训练数据中获取样本大小。
  • 从单个节点开始。
  • 从起始节点运行以下算法:
    • 如果观察数小于节点大小,则停止。
    • 选择随机变量。
    • 找到在拆分观察方面做得“最好”的变量。
    • 将观察结果拆分为两个节点。
    • 在每个节点上调用步骤 `a`。

22. 什么是协同过滤?和基于内容的过滤?

协同过滤是一种经过验证的个性化内容推荐技术。协同过滤是一种推荐系统,它通过将单个用户的兴趣与许多用户的偏好相匹配来预测新内容。

基于内容的推荐系统只关注用户的偏好。根据用户之前的选择,从相似的内容中向用户做出新的推荐。

23. 什么是聚类?

聚类是将一组对象分组为多个组的过程。同一簇中的对象应该彼此相似,而与其他簇中的对象不同。

几种类型的聚类是:

  • 层次聚类
  • K 表示聚类
  • 基于密度的聚类
  • 模糊聚类等

24. K-means Clustering如何选择K?

方法有直接法和统计检验法两种:

  • 直接方法:它包含肘部和剪影 
  • 统计检验方法:有差距统计。

在确定 k 的最佳值时,轮廓是最常用的。

25. 什么是推荐系统?

推荐引擎是一种用于预测用户兴趣并推荐他们很可能感兴趣的产品的系统。

推荐系统所需的数据来自观看电影或听歌后的显式用户评分、隐式搜索引擎查询和购买历史,或来自有关用户/物品本身的其他知识。

26.如何检查数据集的正态性?

在视觉上,我们可以使用绘图。一些正态性检查如下:

  • 夏皮罗-威尔克测试
  • 安德森-达林测试
  • Martinez-Iglewicz 检验
  • Kolmogorov-Smirnov 检验
  • D'Agostino 偏度测试

27. 逻辑回归可以用于 2 个以上的类吗?

不,默认情况下逻辑回归是一个二元分类器,所以它不能应用于超过 2 个类别。但是,它可以扩展以解决多类分类问题(多项逻辑回归)

28. 机器学习常见面试题和答案合集:解释相关性和协方差?

相关性用于测量和估计两个变量之间的定量关系。相关性衡量两个变量的相关程度。例如,收入和支出、需求和供应等。

协方差是衡量两个变量之间相关性的一种简单方法。协方差的问题在于,如果没有归一化,它们很难进行比较。

29. 什么是 P 值?

P 值用于做出关于假设检验的决定。P 值是你可以拒绝原假设的最小显着性水平。p 值越低,你拒绝原假设的可能性就越大。

30. 什么是参数模型和非参数模型?

参数模型的参数有限,要预测新数据,你只需要知道模型的参数即可。

非参数模型在采用多个参数方面没有限制,从而具有更大的灵活性和预测新数据。你需要知道数据和模型参数的状态。

31. 什么是强化学习?

机器学习面试题解析:强化学习不同于其他类型的学习,如监督和无监督。在强化学习中,我们既没有数据也没有标签。我们的学习基于环境给予代理的奖励。

32. Sigmoid 和 Softmax 函数的区别?

sigmoid 函数用于二元分类。概率总和需要为 1。而 Softmax 函数用于多分类。概率总和将为 1。

机器学习常见面试题有哪些结论

上面列出的问题是机器学习的基础知识。机器学习发展如此之快,因此会出现新的概念。因此,要了解最新信息,请加入社区、参加会议、阅读研究论文。通过这样做,你可以破解任何机器学习面试。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: