【文末赠书】45个最佳机器学习面试题与解答

在这里插入图片描述

机器人、人工智能相关领域 news/events (专栏目录)

本文目录

在这里插入图片描述

文末参加赠书活动
需要的小伙伴也可以到 清华大学出版社京东自营店 购买(扫码或点击下方链接)

清华大学出版社京东自营官方旗舰店

1. 机器学习有哪些不同类型?

机器学习分为三种类型:

1.1 监督学习

在监督机器学习中,模型根据过去或标记的数据进行预测或决策。带标签的数据是指被赋予标签或标签的数据集,从而变得更有意义。

在这里插入图片描述

1.2 无监督学习

在无监督学习中,没有标记数据。模型可以识别输入数据中的模式、异常和关系。

在这里插入图片描述

1.3 强化学习

使用强化学习,模型可以根据之前动作获得的奖励进行学习。

在这里插入图片描述

考虑代理工作的环境。代理被赋予一个要实现的目标。每次智能体对目标采取一些行动时,都会得到积极的反馈。而且,如果所采取的行动偏离了目标,代理就会得到负面反馈。

2. 什么是过度拟合,如何避免它?

过度拟合是指模型对训练集学习得很好,将训练数据中的随机波动视为普遍发生的情况。这些会影响模型的泛化能力,并且不适用于新数据。

当模型获得训练数据时,它显示出 100% 的准确率——从技术上讲,有轻微的损失。但是,当我们使用测试数据时,可能会出现错误,效率低下。这种情况称为过度拟合。

有多种方法可以避免过度拟合,例如:

  • 正则化。它涉及与目标函数相关的特征的成本项
  • 制作一个简单的模型。使用较少的变量和参数,可以减少方差
  • 也可以使用 k 折等交叉验证方法
  • 如果某些模型参数可能导致过度拟合,可以使用 LASSO 等正则化技术来惩罚这些参数

3. 机器学习模型中的“训练集”和“测试集”是什么?怎么分配训练集、验证集和测试集数据?

创建模型分为三个步骤:

  1. 训练模型
  2. 测试模型
  3. 部署模型
训练集测试集
训练集是提供给模型进行分析和学习的示例,通常将总数据的 70% 作为训练数据集,这是用于训练模型的标记数据测试集用于测试模型生成假设的准确性,剩余30%作为测试数据集,我们在没有标签数据的情况下进行测试,然后使用标签验证结果

考虑这样一种情况,已经标记了 1000 条记录的数据。训练模型的一种方法是在训练过程中公开所有 1000 条记录。然后,使用一小组相同的数据来测试模型,在本例中这将给出良好的结果。

但是,这不是准确的测试方法。在开始训练过程之前,我们留出了一部分数据,称为“测试集”。剩余的数据称为“训练集”,我们用它来训练模型。训练集多次通过模型,直到精度很高,并且误差最小化。

在这里插入图片描述

现在,我们通过测试数据来检查模型是否能够准确预测值并确定训练是否有效。如果出现错误,要么需要更改模型,要么使用更多数据重新训练它。

在这里插入图片描述

关于如何将数据拆分为训练集和测试集的问题,没有固定的规则,比例可以根据个人喜好而变化。

4. 如何处理数据集中丢失或损坏的数据?

处理丢失或损坏的数据的最简单方法之一是删除这些行或列或将它们完全替换为其他值。

Pandas 中有两种有用的方法:

  • IsNull() 和 dropna() 将帮助找到丢失数据的列/行并删除它们
  • Fillna() 将用占位符值替换错误的值

在这里插入图片描述

5. 如何根据训练集数据大小选择分类器?

当训练集较小时,具有正确偏差和低方差的模型似乎效果更好,因为它们不太可能过度拟合。

例如,当训练集很大时,朴素贝叶斯效果最好。具有低偏差和高方差的模型往往表现更好,因为它们可以很好地处理复杂的关系。

6. 解释机器学习算法的混淆矩阵

混淆矩阵(或误差矩阵)是用于衡量算法性能的特定表,主要用于监督学习。在无监督学习中,它被称为匹配矩阵。

混淆矩阵有两个参数:

  • 实际值
  • 预测值

它在这两个维度上也具有相同的特征集。

如下所示的混淆矩阵(二元矩阵):

在这里插入图片描述

这里,

对于实际值:

Yes = 12+1 = 13

No = 3+9 = 12

同样,对于预测值:

Yes = 12+3 = 15

No = 1+9 = 10

为了使模型准确,主对角线上的值应该很高。矩阵中所有值的总和等于测试数据集中的观测值总数。

对于上述矩阵,总观测值 = 12+3+1+9 = 25

accuracy = 主对角线值的总和/总数据集

= (12+9) / 25

= 21 / 25

= 84%

7. 什么是假阳性和假阴性以及它们有何意义?

假阳性是指那些被错误地分类为 “True” 但实际上是 “False” 的情况。

假阴性是那些被错误地分类为 “False” 但实际上是 “True” 的情况。

在术语 “假阳性” 中,“阳性”一词是指混淆矩阵中预测值的 “True” 行。完整的项表示系统预测其为正值,但实际值为负值。

在这里插入图片描述

因此,查看混淆矩阵,我们得到:

假阳性 = 3

真阳性 = 12

类似地,在术语 “假阴性” 中,“阴性”一词指的是混淆矩阵中预测值的 “False” 行。而完整的项表示系统预测其为负值,但实际值为正值。

因此,查看混淆矩阵,我们得到:

假阴性 = 1

真阴性 = 9

8. 机器学习模型构建的三个阶段是什么?

构建机器学习模型的三个阶段是:

  • 训练模型

    为模型选择合适的算法并根据需求进行训练

  • 模型测试

    通过测试数据检验模型的准确性

  • 应用模型

    测试后进行所需的更改并将最终模型用于实时项目

在这里,重要的是要记住,偶尔需要检查模型以确保其正常工作。应对其进行修改以确保其是最新的。

9. 什么是深度学习?

深度学习是机器学习的一个子集,涉及使用人工神经网络像人类一样思考和学习的系统。 “深度”一词源于这样一个事实:可以拥有多层神经网络。

机器学习和深度学习之间的主要区别之一是特征工程在机器学习中是手动完成的。在深度学习的情况下,由神经网络组成的模型将自动确定使用哪些特征(以及不使用哪些特征)。

10. 机器学习和深度学习有什么区别?

了解更多:人工智能、机器学习和深度学习之间的区别

机器学习深度学习
使机器能够根据过去的数据自行做出决策仅需要少量数据进行训练在低端系统上运行良好,因此您不需要大型机器 大多数功能需要提前识别并手动编码将问题分成两部分,分别解决,然后组合起来使机器能够在人工神经网络的帮助下做出决策需要大量的训练数据 需要高端机器,因为它需要大量的计算能力 机器从提供的数据中学习特征问题以端到端的方式解决

11. 监督机器学习在现代企业中有哪些应用?

监督机器学习的应用包括:

11.1 垃圾邮件检测

使用由分类为垃圾邮件或非垃圾邮件的电子邮件组成的历史数据来训练模型。该标记信息作为模型的输入。

11.2 健康诊断

通过提供有关疾病的图像,可以训练模型来检测一个人是否患有该疾病。

11.3 情感分析

指使用算法挖掘文档并确定它们的情绪是积极、中立还是消极的过程。

11.4 欺诈识别

通过训练模型来识别可疑模式,我们可以检测可能的欺诈实例。

12. 什么是半监督机器学习?

监督学习使用完全标记的数据,而无监督学习不使用训练数据。

在半监督学习的情况下,训练数据包含少量标记数据和大量未标记数据。

在这里插入图片描述

13. 什么是无监督机器学习技术?

无监督学习中使用两种技术:聚类和关联。

13.1 聚类

聚类问题涉及将数据划分为子集。这些子集也称为集群,包含彼此相似的数据。与分类或回归不同,不同的聚类揭示了对象的不同细节。

在这里插入图片描述

13.2 关联

在关联问题中,我们识别不同变量或项目之间的关联模式。

例如,电子商务网站可以根据您之前的购买记录、消费习惯、您的愿望清单中的商品、其他客户的购买习惯等,向您推荐其他商品供您购买。

在这里插入图片描述

14. 监督机器学习和无监督机器学习有什么区别?

  • 监督学习 - 该模型从标记数据中学习并做出未来预测作为输出
  • 无监督学习 - 该模型使用未标记的输入数据,并允许算法在没有指导的情况下根据该信息采取行动。

15. 归纳机器学习和演绎机器学习有什么区别?

归纳学习演绎学习
它根据定义的原则观察实例并得出结论示例:通过播放火灾造成损害的视频,向孩子解释如何远离火灾总结经验示例:允许孩子玩火。如果他或她被烧伤,他们就会知道这是危险的,并且不会再犯同样的错误

16. 比较 K-means 和 KNN 算法?

K-均值克尼恩
K-Means是无监督的K-Means 是一种聚类算法每个簇中的点彼此相似,并且每个簇与其相邻簇不同KNN本质上是有监督的KNN是一种分类算法它根据其周围的 K 个(可以是任意数字)邻居对未标记的观察进行分类

17. 朴素贝叶斯分类器中的“朴素”是什么?

该分类器被称为“朴素”,因为它做出的假设可能正确,也可能不正确。

该算法假设给定类变量,类的一个特征的存在与任何其他特征的存在无关(特征的绝对独立性)。

例如,如果一种水果的颜色为红色且形状为圆形,则无论其他特征如何,都可以被认为是樱桃。这个假设可能正确,也可能不正确(因为苹果也符合描述)。

18. 解释系统如何使用强化学习来下国际象棋游戏?

强化学习有环境和代理。代理执行一些操作来实现特定目标。每当智能体执行一项朝着目标迈进的任务时,它就会得到奖励。而且,每当采取违背目标或相反方向的步骤时,就会受到惩罚。

早些时候,国际象棋程序必须在对众多因素进行大量研究后确定最佳走法。建造一台设计用于玩此类游戏的机器需要指定许多规则。

通过强化学习,我们不必处理这个问题,因为学习代理通过玩游戏来学习。它将做出一个举动(决定),检查它是否是正确的举动(反馈),并将结果保留在内存中以供下一步采取(学习)。系统做出的每一个正确决定都会得到奖励,而错误的决定则会受到惩罚。

19. 您如何知道为您的分类问题选择哪种机器学习算法?

虽然没有固定的规则来选择分类问题的算法,但您可以遵循以下准则:

  • 如果担心准确性,请测试不同的算法并交叉验证它们
  • 如果训练数据集较小,请使用具有低方差和高偏差的模型
  • 如果训练数据集很大,请使用具有高方差和小偏差的模型

20.亚马逊如何推荐其他值得购买的东西?推荐引擎如何工作?

一旦用户从亚马逊购买商品,亚马逊就会存储购买数据以供将来参考,并找到最有可能购买的产品,这可能是因为关联算法可以识别给定数据集中的模式。

在这里插入图片描述

21.什么时候会使用分类而不是回归?

当您的目标是分类的时,使用分类,而当您的目标变量是连续的时,使用回归。分类和回归都属于监督机器学习算法的范畴。

分类问题的示例包括:

  • 预测是或否
  • 估计性别
  • 动物的品种
  • 颜色类型

回归问题的示例包括:

  • 估计产品的销量和价格
  • 预测球队的得分
  • 预测降雨量

22. 如何设计垃圾邮件过滤器?

构建垃圾邮件过滤器涉及以下过程:

  • 垃圾邮件过滤器将收到数千封电子邮件
  • 这些电子邮件中的每封都已带有标签:“垃圾邮件”或“非垃圾邮件”。
  • 然后,受监督的机器学习算法将根据“抽奖”、“免费优惠”、“没有钱”、“全额退款”等垃圾邮件词语来确定哪种类型的电子邮件被标记为垃圾邮件。
  • 下次电子邮件即将到达您的收件箱时,垃圾邮件过滤器将使用统计分析和决策树和SVM等算法来确定该电子邮件是垃圾邮件的可能性
  • 如果可能性很高,它会将其标记为垃圾邮件,并且电子邮件不会到达您的收件箱
  • 根据每个模型的准确率,我们将在测试所有模型后使用准确率最高的算法

在这里插入图片描述

23. 什么是随机森林?

“随机森林”是一种监督机器学习算法,通常用于分类问题。它通过在训练阶段构建多个决策树来运行。随机森林选择大多数树的决策作为最终决策。

在这里插入图片描述

24. 考虑一长串机器学习算法,给定一个数据集,如何决定使用哪一个?

没有适用于所有情况的主算法。选择算法取决于以下问题:

  • 您有多少数据,是连续数据还是分类数据?
  • 问题与分类、关联、聚类或回归有关吗?
  • 预定义变量(已标记)、未标记变量还是混合变量?
  • 目标是什么?

基于以上问题,可以使用以下算法:

在这里插入图片描述

在这里插入图片描述

25.什么是机器学习模型中的偏差和方差?

25.1 偏差

当预测值与实际值相差较大时,机器学习模型中就会出现偏差。低偏差表示预测值与实际值非常接近的模型。

欠拟合:高偏差会导致算法错过特征和目标输出之间的相关关系。

25.2 方差

方差是指使用不同训练数据进行训练时目标模型将发生变化的量。对于一个好的模型,方差应该最小化。

过度拟合:高方差可能会导致算法对训练数据中的随机噪声而不是预期输出进行建模。

26. 偏差和方差之间的权衡是什么?

偏差-方差分解本质上是通过添加偏差、方差以及由于基础数据集中的噪声而产生的一些不可约误差来分解任何算法的学习误差。

当然,如果您使模型更加复杂并添加更多变量,您将失去偏差但获得方差。为了以最佳方式减少错误量,您必须权衡偏差和方差。高偏差和高方差都是不可取的。

高偏差和低方差算法训练的模型是一致的,但平均而言不准确。

高方差和低偏差算法训练的模型准确但不一致。

27.定义精度和召回率。

27.1 准确率

准确率是指您能够正确回忆起的几个事件与您回忆起的事件总数(正确回忆和错误回忆的混合)的比率。

准确率 =(真阳性)/(真阳性 + 假阳性)

27.2 召回率

召回率是指你能回忆起的事件数与总事件数的比率。

召回率 =(真阳性)/(真阳性 + 假阴性)

28.什么是决策树分类?

决策树将分类(或回归)模型构建为树结构,在开发决策树时将数据集分解为更小的子集,实际上以具有分支和节点的树状方式。决策树可以处理分类数据和数值数据。

29.什么是决策树中的剪枝,它是如何完成的?

修剪是机器学习中的一种技术,可以减小决策树的大小。它降低了最终分类器的复杂性,从而通过减少过度拟合来提高预测准确性。

修剪可以发生在:

  • 自上而下的时尚。它将遍历节点并从根开始修剪子树
  • 自下而上的时尚。它将从叶节点开始

有一种流行的剪枝算法称为减少错误剪枝,其中:

  • 从叶子开始,每个节点都被替换为其最受欢迎的类
  • 如果不影响预测精度,则保留更改
  • 具有简单、速度快的优点

30. 简要解释逻辑回归。

逻辑回归是一种分类算法,用于预测给定的一组自变量的二元结果。

逻辑回归的输出是0或1,阈值一般为0.5。任何高于 0.5 的值都被视为 1,任何低于 0.5 的点都被视为 0。

在这里插入图片描述

31.解释K最近邻算法。

K 最近邻算法是一种分类算法,其工作方式是将新数据点分配给与其最相似的相邻组。

在 K 个最近邻中,K 可以是大于 1 的整数。因此,对于每个要分类的新数据点,我们计算它与哪个相邻组最接近。

让我们使用以下示例对对象进行分类。考虑存在三个集群:

  • 足球
  • 篮球
  • 网球

在这里插入图片描述

设待分类的新数据点是一个黑球。我们使用KNN对其进行分类。假设 K = 5(初始)。

接下来,我们找到 K(五个)最近的数据点,如图所示。

在这里插入图片描述

观察到所有五个选定点不属于同一簇。有三个网球,篮球和足球各一个。

当涉及多个类时,我们更喜欢大多数。这里大部分是网球,因此新的数据点被分配给这个集群。

32.什么是推荐系统?

任何使用过 Spotify 或在亚马逊购物过的人都会认识推荐系统:这是一种信息过滤系统,可以根据用户提供的选择模式来预测用户可能想听到或看到的内容。

33.什么是核SVM?

核SVM是核支持向量机的缩写。核方法是一类用于模式分析的算法,最常见的是核SVM。

34.降维的方法有哪些?

您可以通过将特征与特征工程相结合、删除共线特征或使用算法降维来降维。

既然您已经完成了这些机器学习面试问题,您一定已经了解了自己在该领域的优势和劣势。

35.什么是主成分分析?

主成分分析(PCA)是一种用于分析定量数据的多元统计技术。 PCA的目标是将高维数据降维为低维,去除噪声,并从大量数据中提取特征和属性等关键信息。

36. 对F1分数有何理解?

F1 分数是一个结合了精度和召回率的指标。它也是精确率和召回率的加权平均值。

F1分数可以使用以下公式计算:

F1 = 2 * (P * R) / (P + R)

当 Precision 和 Recall 分数均为 1 时,F1 分数为 1。

37. 您如何理解 I 类错误和 II 类错误?

I 类错误:当原假设为真而我们拒绝它时,就会发生 I 类错误。

II 类错误:当原假设为假且我们接受它时,就会发生 II 类错误。

在这里插入图片描述

38.解释相关性和协方差?

相关性:相关性告诉我们两个随机变量彼此相关的程度。它的值介于 -1 到 +1 之间。

相关性计算公式:

在这里插入图片描述

协方差:协方差告诉我们两个随机变量之间线性关系的方向。它可以取 - ∞ 和 + ∞ 之间的任何值。

协方差计算公式:

在这里插入图片描述

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

支持向量是最接近超平面的数据点。它影响超平面的位置和方向。删除支持向量将改变超平面的位置。支持向量帮助我们构建支持向量机模型。

在这里插入图片描述

40.什么是集成学习?

集成学习是从多个机器学习模型获得的结果的组合,以提高决策的准确性。

示例:具有 100 棵树的随机森林比仅使用一棵决策树可以提供更好的结果。

在这里插入图片描述

41.什么是交叉验证?

机器学习中的交叉验证是一种统计重采样技术,它使用数据集的不同部分在不同迭代上训练和测试机器学习算法。交叉验证的目的是测试模型预测未用于训练模型的一组新数据的能力。交叉验证避免了数据的过度拟合。

K 折交叉验证是最流行的重采样技术,它将整个数据集划分为 K 个大小相等的集合。

42. 决策树算法中有哪些不同的树分裂方法?

方差:当目标变量连续时,使用方差分割决策树的节点。

在这里插入图片描述

信息增益:当目标变量是分类变量时,首选使用信息增益分割决策树的节点。

在这里插入图片描述

基尼不纯度:当目标变量是分类变量时,使用基尼不纯度分割决策树的节点。

在这里插入图片描述

43.支持向量机算法如何进行自学习?

SVM算法具有学习率和扩展率,负责自学习。学习率补偿或惩罚超平面做出所有错误的移动,而扩展率则负责寻找不同类之间的最大分离区域。

44. 在开始线性回归之前需要采取哪些假设?

线性回归模型主要有 5 个假设:

  • 多元正态性
  • 无自相关
  • 同方差性
  • 线性关系
  • 无多重共线性或很少多重共线性

45.Lasso 和 Ridge 回归有什么区别?

Lasso(也称为 L1)和 Ridge(也称为 L2)回归是两种流行的正则化技术,用于避免数据过度拟合。这些方法用于惩罚系数以找到最佳解决方案并降低复杂性。 Lasso 回归的工作原理是惩罚系数绝对值的总和。在 Ridge 或 L2 回归中,罚函数由系数的平方和确定。+

抽奖送书活动

关注【我们有意思】公众号,回复:送书。
在这里插入图片描述
4月23日 13:14 开奖。
中奖的小伙伴将得到《细说机器学习 从理论到实践》一本。
记得添加小助手微信领奖哦:vistar_bot

  • 31
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 对于一个函数 f(x),如果它在某个点 x0 处有可导,则这个点处的导数可以定义为:f'(x0)= lim(h->0) [(f(x0+h)-f(x0))/h] 所以如果一个函数在某个点 x0 处的左右导数相等,那么就是说在这个点处,它的左右两侧的所有可导的函数的导数的极限值相等。 对于 x 的 -1/3 次方的函数,它的表达式为 y=x^(-1/3)。 如果我们要求这个函数在某个点 x0 处的左右导数,可以使用如下的公式: 左侧导数:lim(h->0) [(x0^(-1/3)-(x0-h)^(-1/3))/h] 右侧导数:lim(h->0) [((x0+h)^(-1/3)-x0^(-1/3))/h] 通过计算可以得到,这两个导数的值是不相等的,所以 x 的 -1/3 次方的函数在某个点 x0 处的左右导数并不相等。 ### 回答2: 首先,我们先计算x的-1/3次方,表示为x^(-1/3)。 x^(-1/3) = 1/x^(1/3) = 1/∛x 接下来,我们来求x^(-1/3)的左右导数。 左导数(x -> 0-): ∂/∂x (x^(-1/3)) = ∂/∂x (1/∛x) = ∂/∂x (x^(-1/3)) = -1/(3∛x^4) = -1/(3x^(4/3)) 右导数(x -> 0+): ∂/∂x (x^(-1/3)) = ∂/∂x (1/∛x) = ∂/∂x (x^(-1/3)) = -1/(3∛x^4) = -1/(3x^(4/3)) 可以看出,无论是左导数还是右导数,都等于-1/(3x^(4/3))。 因此,x的-1/3次方的左右导数是相等的。 ### 回答3: x的-1/3次方的导数是多项式函数的导数。对于多项式函数来说,导数是连续函数,因此它在每一个点的左右导数是相等的。 具体来说,x的-1/3次方的左导数和右导数都等于函数在该点的导数值。以x^(-1/3)为例: 左导数:lim(x→a-) [ (x^(-1/3) - a^(-1/3)) / (x - a) ] 右导数:lim(x→a+) [ (x^(-1/3) - a^(-1/3)) / (x - a) ] 其中,a为函数的某个定义域内的值。 对于这个特定的例子,可以使用导数的定义求出左导数和右导数的值。 左导数:lim(x→a-) [ (x^(-1/3) - a^(-1/3)) / (x - a) ] = (a^(-1/3) - a^(-1/3)) / (a - a) = 0 右导数:lim(x→a+) [ (x^(-1/3) - a^(-1/3)) / (x - a) ] = (a^(-1/3) - a^(-1/3)) / (a - a) = 0 可以看到,左导数和右导数的值都是0,说明在每一个点,x的-1/3次方的左右导数是相等的。 因此,在这个特定的情况下,x的-1/3次方的左右导数是相等的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万俟淋曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值