📜  机器学习常见面试问题

📅  最后修改于: 2020-09-28 05:50:43             🧑  作者: Mango

机器学习面试题

下面列出了常见的机器学习面试问题和答案。

1)您对机器学习有什么了解?

机器学习是人工智能的一种形式,它处理系统编程并自动执行数据分析,以使计算机无需经过明确编程即可通过经验学习并采取行动。

例如,对机器人进行编码的方式是,它们可以根据从传感器收集的数据执行任务。他们自动从数据中学习程序,并随着经验的提高而提高。

2)区分归纳学习和演绎学习?

在归纳学习中,该模型通过从一组观察到的实例中进行实例学习来得出广义的结论。另一方面,在演绎学习中,模型首先应用结论,然后得出结论。

  • 归纳学习是利用观察得出结论的方法。
  • 演绎学习是使用结论形成观察结果的方法。

例如,如果我们必须向孩子解释,玩火会引起灼伤。我们可以通过两种方式向孩子解释这一点:我们可以显示各种火灾事故的训练示例或被烧伤的人的图像,并将其标记为“危险”。在这种情况下,孩子会借助示例来理解而不是玩火。它是归纳机器学习的形式。教同一件事的另一种方法是让孩子玩火,等着看会发生什么。如果孩子被烫伤,它将教会孩子不要玩火,并避免靠近火。它是演绎学习的形式。

3)数据挖掘和机器学习之间有什么区别?

数据挖掘可以描述为结构化数据尝试抽象知识或有趣的未知模式的过程。在此过程中,将使用机器学习算法。

机器学习代表了算法的研究,设计和开发,这些算法为处理器提供了无需明确编程即可学习的能力。

4)过度学习在机器学习中是什么意思?

当统计模型描述随机误差或噪声而不是基本关系时,过度拟合可以在机器学习中看到。当模型过于复杂时,通常会观察到过度拟合。发生这种情况的原因是有关训练数据类型数量的参数过多。该模型显示的性能较差,已被过度拟合。

5)为什么会出现过度拟合?

当用于训练模型的标准与用于判断模型效率的标准不同时,就会出现过度拟合的可能性。

6)避免过度拟合的方法是什么?

当我们有一个小的数据集,并且一个模型正在尝试从中学习时,就会发生过度拟合。通过使用大量数据,可以避免过度拟合。但是,如果我们有一个小型数据库,并被迫基于该数据库构建模型,则可以使用一种称为交叉验证的技术。在这种方法中,通常会给模型一个已知数据的数据集(在该数据集上运行训练数据集)和一个未知数据的数据集(对该模型进行测试)。交叉验证的主要目的是定义一个数据集,以在训练阶段“测试”模型。如果有足够的数据,则使用“等渗回归”来防止过度拟合。

7)区分有监督和无监督的机器学习。

  • 在有监督的机器学习中,使用标记的数据来训练机器。然后,将新的数据集提供给学习模型,以便该算法通过分析标记的数据来提供肯定的结果。例如,我们首先需要标记执行分类时训练模型所必需的数据。
  • 在无监督的机器学习中,不使用标记的数据来训练机器,而是让算法在没有任何相应输出变量的情况下做出决策。

8)机器学习与深度学习有何不同?

  • 机器学习是关于用于解析数据,从数据中学习并随后应用所学知识做出明智决策的算法。
  • 深度学习是机器学习的一部分,它受人脑结构的启发,在特征检测中特别有用。

9)KNN与k-means有何不同?

KNN或K最近邻是一种用于分类目的的监督算法。在KNN中,将测试样本作为其最近邻的大多数类别。另一方面,K-means是一种无监督算法,主要用于聚类。在k均值聚类中,它仅需要一组未标记的点和一个阈值。该算法进一步获取未标记的数据,并学习如何通过计算不同未标记点之间的距离平均值将其聚类为一组。

10)机器学习中有哪些不同类型的算法方法?

机器赚钱中不同类型的算法方法是:

  • 监督学习
  • 半监督学习
  • 无监督学习
  • 转导
  • 强化学习

11)您对强化学习技术了解什么?

强化学习是机器学习中使用的一种算法技术。它涉及一个通过产生动作并发现错误或奖励来与其环境进行交互的代理。增强学习被不同的软件和机器采用,以寻找在特定情况下应遵循的最佳行为或路径。它通常根据执行的每个动作的奖励或惩罚来学习。

12)偏差和方差之间的权衡是什么?

偏差和方差都是错误。由于学习算法中的错误或过于简单的假设,偏差是一种错误。这可能会导致模型无法拟合数据,从而难以具有较高的预测准确性,也很难将知识从训练集推广到测试集。

由于学习算法过于复杂,方差是一个错误。这导致算法对训练数据的高度变化高度敏感,这可能导致模型过度拟合数据。

为了最佳地减少错误数量,我们需要权衡偏差和方差。

13)分类和回归有何不同?

Classification Regression
  • Classification is the task to predict a discrete class label.
  • Regression is the task to predict a continuous quantity.
  • In a classification problem, data is labeled into one of two or more classes.
  • A regression problem needs the prediction of a quantity.
  • A classification having problem with two classes is called binary classification, and more than two classes is called multi-class classification
  • A regression problem containing multiple input variables is called a multivariate regression problem.
  • Classifying an email as spam or non-spam is an example of a classification problem.
  • Predicting the price of a stock over a period of time is a regression problem.

14)我们在机器学习中使用的五种流行算法是什么?

五个流行的算法是:

  • 决策树
  • 概率网络
  • 神经网络
  • 支持向量机
  • 最近的邻居

15)您说集成学习是什么意思?

战略性地制作并分类了许多模型,例如分类器,以解决特定的计算程序,这被称为集成学习。集成方法也称为基于委员会的学习或学习多个分类器系统。它训练各种假设以解决同一问题。集成建模最合适的示例之一是随机森林树,其中使用多个决策树来预测结果。它用于改善模型的分类, 函数逼近,预测等。

16)机器学习中的模型选择是什么?

在用于定义相同数据的各种数学模型中选择模型的过程称为模型选择。模型学习应用于统计,数据挖掘和机器学习领域。

17)在机器学习中建立假设或模型的三个阶段是什么?

在机器学习中建立假设或模型的过程分为三个阶段:

  • 建筑模型
    它为模型选择合适的算法,并根据问题的需求对其进行训练。
  • 应用模型
    它负责通过测试数据检查模型的准确性。
  • 模型测试
    它在测试后执行所需的更改并应用最终模型。

18)您认为什么是监督学习的标准方法?

在监督学习中,标准方法是将示例集分为训练集和测试。

19)描述“训练集”和“训练测试”。

在机器学习信息的各个领域中,使用一组数据来发现潜在的预测关系,这就是所谓的“训练集”。训练集是给学习者的一个例子。此外,“测试集”用于测试学习者生成的假设的准确性。它是从学习者保留下来的一组实例。因此,训练集不同于测试集。

20)处理数据集中缺失数据的常用方法是什么?

数据丢失是处理数据和处理数据时的标准因素之一。它被认为是数据分析师面临的最大挑战之一。有许多方法可以估算缺失的值。处理数据集中缺失数据的一些常用方法可以定义为删除行,用均值/中位数/众数代替,预测缺失值,分配唯一类别,使用支持缺失值的算法等。

21)您对ILP了解什么?

ILP代表归纳逻辑编程。它是使用逻辑编程的机器学习的一部分。它旨在搜索可用于构建预测模型的数据模式。在此过程中,逻辑程序被假定为假设。

22)机器学习项目涉及哪些必要步骤?

在进行机器学习项目时,要遵循一个良好的工作模型,必须遵循几个基本步骤。这些步骤可以包括参数调整,数据准备,数据收集,训练模型,模型评估和预测等。

23)描述精度和召回率?

Precision和Recall都是在信息检索领域中用来测量信息检索系统根据用户请求回收相关数据的性能的度量。

精度可以说是一个积极的预测值。它是接收到的实例中相关实例的一部分。

另一方面,召回是已检索的相关实例在总金额或相关实例中所占的比例。召回也称为灵敏度。

24)您对机器学习中的决策树了解什么?

决策树可以定义为“监督机器学习”,其中根据特定参数对数据进行连续拆分。它建立类似于树结构的分类或回归模型,在开发决策树时将数据集分解为越来越小的子集。该树可以由两个实体定义,即决策节点和叶子。叶子是决策或结果,决策节点是拆分数据的地方。决策树可以管理分类数据和数字数据。

25)监督学习的功能是什么?

  • 分类
  • 语音识别
  • 回归
  • 预测时间序列
  • 注释字符串

26)无监督学习的功能是什么?

  • 查找数据集群
  • 查找数据的低维表示
  • 在数据中找到有趣的方向
  • 寻找新颖的观察结果/清理数据库
  • 寻找有趣的坐标和相关性

27)您对算法独立的机器学习有什么了解?

与算法无关的机器学习可以定义为机器学习,其中数学基础独立于任何特定的分类器或学习算法。

28)描述机器学习中的分类器。

分类器是假设或离散值函数的一种情况,该函数用于将类别标签分配给特定数据点。它是一个输入离散或连续特征值的向量并输出单个离散值(类别)的系统。

29)您所说的遗传编程是什么意思?

遗传编程(GP)几乎类似于进化算法,它是机器学习的子集。遗传编程软件系统实现了一种算法,该算法使用随机突变,适应度函数,交叉和多代进化来解决用户定义的任务。遗传程序设计模型基于测试并在一组结果中选择最佳选项。

30)什么是机器学习中的SVM? SVM可以处理哪些分类方法?

SVM代表支持向量机。 SVM是带有相关学习算法的监督学习模型,该算法分析用于分类和回归分析的数据。

SVM可以处理的分类方法是:

  • 组合二进制分类器
  • 修改二进制以合并多类学习

31)您将如何解释链表和数组?

数组是几乎在所有现代编程语言中广泛用作默认类型的数据类型。它用于存储相似类型的数据。

但是在许多用例中,我们不知道要存储的数据量。对于这种情况,需要高级数据结构,而这样的数据结构之一就是链表。

有几点解释了链表和数组的不同之处:

ARRAY LINKED LIST
  • An array is a group of elements of a similar data type.
  • Linked List is an ordered group of elements of the same type, which are connected using pointers.
  • Elements are stored consecutively in the memory.
  • New elements can be stored anywhere in memory.
  • An Array supports Random Access. It means that the elements can be accessed directly using their index value, like arr[0] for 1st element, arr[5] for 6th element, etc.
    As a result, accessing elements in an array is fast with constant time complexity of O(1).
  • Linked List supports Sequential Access. It means that we have to traverse the complete linked list, up to that element sequentially which element/node we want to access in a linked list.
    To access the nth element of a linked list, the time complexity is O(n).
  • Memory is allocated at compile time as soon as the array is declared. It is known as Static Memory Allocation.
  • Memory is allocated at runtime, whenever a new node is added. It is known as Dynamic Memory Allocation.
  • Insertion and Deletion operation takes more time in the array, as the memory locations are consecutive and fixed.
  • In case of a linked list, a new element is stored at the first free available memory location.
    Thus, Insertion and Deletion operations are fast in the linked list.
  • Size of the array must be declared at the time of array declaration.
  • Size of a Linked list is variable. It grows at runtime whenever nodes are added to it.

32)您对“混淆矩阵”有什么了解?

混淆矩阵是用于汇总分类算法的性能的表。也称为误差矩阵。

哪里,

TN =真负TP =真正FN =假负FP =假正

33)用一个例子解释混淆矩阵中的真正,真负,假正和假负。

  • 真肯定
    当模型正确预测阳性类别时,就称其为真实阳性。
    例如,当裁判员不在场时,裁判员会给他一个场外通知。
  • 真阴性
    当模型正确预测否定类别时,可以说它是真正的否定类别。
    例如,裁判员在OUT时将蝙蝠侠OUT放出。
  • 假阳性
    当模型错误地预测阳性类别时,则称其为假阳性。也称为“ I型 “错误。
    例如,当裁判员不在时,裁判员会给蝙蝠侠“不在”。
  • 假阴性
    当模型错误地预测否定类别时,则称其为假否定。也称为“ II型 “错误。
    例如,当裁判员不在时,裁判员将其判罚为OUT。

34)在您看来,模型精度和模型性能之间更重要的是什么?

模型准确性是模型性能的子集。模型的准确性与模型的性能成正比。因此,更好的模型性能,更准确的预测。

35)什么是装袋和提振?

  • 套袋是整体学习中的一个过程,用于改进不稳定的估计或分类方案。
  • 依次使用增强方法来减小组合模型的偏差。

36)机器学习中的装袋和增强之间有什么异同?

套袋和提振的相似之处

  • 两者都是从1个学习者那里获得N个学习的综合方法。
  • 两者都生成带有随机采样的多个训练数据集。
  • 两者均取N个学习者的平均值来产生最终结果。
  • 两者都可以减少差异并提供更高的可伸缩性。

套袋和加强之间的区别

  • 尽管它们是独立构建的,但对于Bagging,Boosting尝试添加新模型,这些模型在以前的模型失败的情况下仍能很好地运行。
  • 只有提升才能确定数据的权重,以便在最具挑战性的情况下支持小规模的发展。
  • 只有加强才能减少偏见。相反,装袋可以解决过度拟合的问题,而增强可以增加过度拟合的问题。

37)通过群集采样您了解什么?

群集抽样是在定义的总体中随机选择完整组的过程,它们具有相似的特征。集群样本是每个采样单位是元素的集合或集群的概率。

例如,如果我们将一组公司中经理的总数聚在一起,在这种情况下,经理(样本)将代表要素,而公司将代表集群。

38)您对贝叶斯网络了解多少?

贝叶斯网络也被称为“信念网络”或“休闲网络”,用于表示一组变量之间的概率关系的图形模型。

例如,贝叶斯网络可以用来表示疾病和症状之间的概率关系。根据症状,网络还可以计算各种疾病存在的概率。

高效的算法可以在贝叶斯网络中执行推理或学习。与变量(例如语音信号或蛋白质序列)相关的贝叶斯网络称为动态贝叶斯网络。

39)贝叶斯逻辑程序的两个组成部分是什么?

贝叶斯逻辑程序包含两个组件:

  • 逻辑上
    它包含一组贝叶斯子句,它们捕获了域的定性结构。
  • 定量的
    它用于编码有关域的定量信息。

40)描述机器学习中的降维。

降维是用于减少考虑中的随机变量数量的过程。

降维可以分为特征选择和提取。

41)为什么基于实例的学习算法有时被称为惰性学习算法?

在机器学习中,可以将延迟学习描述为一种方法,在该方法中,归纳和泛化过程会延迟到执行分类为止。由于具有相同的属性,有时将基于实例的学习算法称为惰性学习算法。

42)您对F1分数了解什么?

F1分数代表模型性能的度量。它称为模型的精度和召回率的加权平均值。趋于1的结果被认为是最好的,趋于0的结果被认为是最差的。它可以用于分类测试,在这里,真正的否定并不重要。

43)如何修剪决策树?

当删除可能由弱预测能力组成的分支以降低模型的复杂性并提高决策树模型的预测准确性时,据说在决策树中会发生修剪。修剪可以采用自下而上和自上而下的方法,例如减少错误修剪和成本复杂性修剪的方法。

减少错误修剪是最简单的版本,它替换了每个节点。如果无法降低预测准确性,则应将其修剪。但是,它通常非常接近会优化以实现最大准确性的方法。

44)推荐系统是什么?

推荐系统是信息过滤系统的子目录。它可以预测用户提供给产品的偏好或排名。根据偏好,它向用户提供类似的建议。推荐系统广泛用于电影,新闻,研究文章,产品,社交技巧,音乐等。

45)你对不足的理解是什么?

当我们的训练集和测试集的错误率都很低时,欠拟合就是一个问题。很少有算法能更好地解释,但不能更好地预测。

46)何时需要在机器学习中进行正则化?

每当模型开始过度拟合/不足拟合时,都需要进行正则化。这是带有目标函数的更多功能的成本术语。因此,它试图将许多变量的系数推为零并减少成本项。它有助于降低模型的复杂性,从而使模型可以更好地进行预测(概括)。

47)什么是正则化?正则化可以解决哪些问题?

正则化是一种回归形式,可将系数估计值约束/正化或缩小为零。换句话说,它不鼓励学习更复杂或更灵活的模型,以避免过度拟合的风险。它减少了模型的方差,而没有明显增加其偏差。

正则化用于解决过拟合问题,因为它通过添加权重向量w的L1(LASSO)或L2(Ridge)范数的倍数来惩罚损失函数 。

48)为什么我们需要将分类变量转换为因数?哪些功能用于执行转换?

大多数机器学习算法都需要数字作为输入。这就是为什么我们将分类值转换为因子以获得数值。我们也不必处理伪变量。

函数factor()和as.factor()用于将变量转换为因子。

49)您是否认为将分类变量视为连续变量会产生更好的预测模型?

对于更好的预测模型,只有当变量本质上是序数时,才可以将其视为连续变量。

50)机器学习如何在日常生活中使用?

大多数人已经在日常生活中使用机器学习。假设您正在与互联网互动,那么实际上是通过搜索表达自己的喜好,不喜欢。所有这些东西都由计算机上的Cookie收集,由此可以评估用户的行为。它有助于提高用户通过Internet的进度并提供类似的建议。