Kartik Singh作者霍诗琴校对王雨桐翻译

数据科学&机器学习面试题,来挑战吧~

本文盘点了数据科学和机器学习面试中的常见问题。

本文盘点了数据科学和机器学习面试中的常见问题。

技术的不断进步使得数据和信息的产生速度今非昔比,并且呈现出继续增长的趋势。此外,目前对解释、分析和使用这些数据的技术人员需求也很高,这在未来几年内会呈指数增长。这些新角色涵盖了从战略、运营到管理的所有方面。因此, 当前和未来的需求将需要更多的数据科学家、数据工程师、数据战略家和首席数据官这样类似的角色。

本文将着眼于不同类型的面试问题。如果您计划向数据科学领域转行,这些问题一定会有所帮助。

回答:

算术平均值:它是统计学中的一个重要概念。算术平均值也可称为平均值,它是通过将两个或多个数字/变量相加,然后将总和除以数字/变量的总数而获得的数量或变量。

中位数:中位数也是观察一组数据平均情况的一种方法。它是一组数字的中间数字。结果有两种可能性,因为数据总数可能是奇数,也可能是偶数。

如果总数是奇数,则将组中的数字从最小到最大排列。中位数恰好是位于中间的数,两侧的数量相等。如果总数是偶数,则按顺序排列数字并选择两个中间数字并加上它们然后除以2,它将是该组的中位数。

众数:众数也是观察平均情况的方法之一。众数是一个数字,指在一组数字中出现最多的数字。有些数列可能没有任何众数;有些可能有两个众数,称为双峰数列。

在统计学研究中,统计学中最常见的三个“平均值”是均值,中位数和众数。

标准差(Sigma,s):标准差用于衡量数据在统计数据中的离散程度。

回归:回归是统计建模中的一种分析方法。这是衡量变量间关系的统计过程;它决定了一个变量和一系列其他自变量之间关系的强度。

回答:

统计学的两个主要分支是描述性统计和推断性统计。 

描述性统计:描述性统计使用类似均值或标准差的指数来总结样本数据。 

描述性统计方法包括展示、组织和描述数据。 

推断性统计:推断统计得出的结论来自随机变化的数据,如观察误差和样本变异。

回答:

结合数据分析,统计可以用于分析数据,并帮助企业做出正确的决策。预测性“分析”和“统计”对于分析当前数据和历史数据以预测未来事件非常有用。

回答:

统计数据可用于许多研究领域。以下列举了统计的应用领域:

  • 科学

  • 技术

  • 商业

  • 生物学

  • 计算机科学

  • 化学

  • 支持决策

  • 提供比较

  • 解释已经发生的行为

  • 预测未来

  • 估计未知数量

回答:

线性回归是预测分析中使用的统计技术之一,该技术将确定自变量对因变量的影响强度。

回答:

在统计研究中,通过结构化和统一处理,样本是从统计总体中收集或处理的一组或部分数据,并且样本中的元素被称为样本点。

以下是4种抽样方法:

  • 聚类抽样:在聚类抽样方法中,总体将被分为群组或群集。

  • 简单随机抽样:这种抽样方法仅仅遵循随机分配。

  • 分层抽样:在分层抽样中,数据将分为组或分层。

  • 系统抽样:根据系统抽样方法,每隔k个成员,从总体中抽取一个。

回答:

当我们在统计中进行假设检验时,p值有助于我们确定结果的显著性。这些假设检验仅仅是为了检验关于总体假设的有效性。零假设是指假设和样本没有显著性差异,这种差异指抽样或实验本身造成的差异。

回答:

数据科学是数据驱动的科学,它还涉及自动化科学方法、算法、系统和过程的跨学科领域,以任何形式(结构化或非结构化)从数据中提取信息和知识。此外,它与数据挖掘有相似之处,它们都从数据中抽象出有用的信息。

数据科学包括数理统计以及计算机科学和应用。此外,结合了统计学、可视化、应用数学、计算机科学等各个领域,数据科学将海量数据转化为洞见。

同样,统计学是数据科学的主要组成部分之一。统计学是数学商业的一个分支,它包括数据的收集、分析、解释、组织和展示。

回答:

协方差和相关性是两个数学概念;这两种方法在统计学中被广泛使用。相关性和协方差都可以构建关系,并且还可测量两个随机变量之间的依赖关系。虽然这两者在数学上有相似之处,但它们含义并不同。

相关性:相关性被认为是测量和估计两个变量间定量关系的最佳技术。相关性可以衡量两个变量相关程度的强弱。

协方差:协方差对应的两个变量一同变化,它用于度量两个随机变量在周期中的变化程度。这是一个统计术语;它解释了一对随机变量之间的关系,其中一个变量的变化时,另一个变量如何变化。

R面试问题

R是数据分析软件,主要的服务对象是分析师、量化分析人员、统计学家、数据科学家等。

R提供的函数是:

  • 均值

  • 中位数

  • 分布

  • 协方差

  • 回归

  • 非线性模型

  • 混合效果

  • 广义线性模型(GLM)

  • 广义加性模型(GAM)等等

在R控制台中输入命令(“Rcmdr”)将启动R Commander GUI。

使用R commander导入R中的数据,有三种方法可以输入数据。

  • 你可以通过Data<- New Data Set 直接输入数据

  • 从纯文本(ASCII)或其他文件(SPSS,Minitab等)导入数据

  • 通过键入数据集的名称或在对话框中选择数据集来读取数据集

  • 虽然R可以轻松连接到DBMS,但不是数据库

  • R不包含任何图形用户界面

  • 虽然它可以连接到Excel / Microsoft Office,但R语言不提供任何数据的电子表格视图

在R中,在程序的任何地方,你必须在#sign前面加上代码行,例如:

  • 减法

  • 除法

  • 注意运算顺序

要在R中保存数据,有很多方法,但最简单的方法是: 

Data > Active Data Set > Export Active dataset,将出现一个对话框,当单击确定时,对话框将根据常用的方式保存数据。

你可以通过cor()函数返回相关系数,cov()函数返回协方差。

在R中,t.test()函数用于进行各种t检验。 t检验是统计学中最常见的检验,用于确定两组的均值是否相等。

  • With()函数类似于SAS中的DATA,它将表达式应用于数据集。

  • BY()函数将函数应用于因子的每个水平。它类似于SAS中的BY。

R 有如下这些数据结构:

  • 向量

  • 矩阵

  • 数组

  • 数据框

通用的形式是:

Mymatrix< - matrix (vector,  nrow=r,  ncol=c , byrow=FALSE, dimnames = list ( char_vector_ rowname, char_vector_colnames)

 在R中,缺失值由NA(Not Available)表示,不可能的值由符号NaN(not a number)表示。

为了重新整理数据,R提供了各种方法,转置是重塑数据集的最简单的方法。为了转置矩阵或数据框,可以使用t()函数。 

通过一个或多个BY变量,使得折叠R中的数据变得容易。使用aggregate()函数时,BY变量应该在列表中。

回答:

机器学习是人工智能的一种应用,它为系统提供了自动学习和改进经验的能力,而无需明确的编程。此外,机器学习侧重于开发可以访问数据并自主学习的程序。

回答:

在很多领域,机器人正在取代人类。这是因为编程使得机器人可以基于从传感器收集的数据来执行任务。他们从数据中学习并智能地运作。

回答:机器学习中不同类型的算法技术如下:

  • 强化学习

  • 监督学习

  • 无监督学习

  • 半监督学习

  • 转导

  • 元学习 

回答:

这是面试中提出的基本机器学习面试问题。监督学习是一个需要标记训练集数据的过程,而无监督学习则不需要数据标记。 

回答:无监督学习包括如下:

  • 数据聚类

  • 数据的降维表示

  • 探索数据

  • 探索坐标和相关性

  • 识别异常观测

回答:监督学习包括如下:

  • 分类

  • 语音识别

  • 回归

  • 预测时间序列

  • 注释字符串

回答:朴素贝叶斯的优点是:

  • 分类器比判别模型更快收敛

  • 它可以忽略特征之间的相互作用

回答:朴素贝叶斯的缺点是:

  • 不适用连续性特征

  • 它对数据分布做出了非常强的假设

  • 在数据稀缺的情况下不能很好地工作

回答:

朴素贝叶斯是如此的不成熟,因为它假设数据集中所有特征同等重要且独立。

回答:

这是一个受欢迎的机器学习面试问题。机器学习中的过拟合定义为:统计模型侧重于随机误差或噪声而不是探索关系,或模型过于复杂。

回答:

过拟合的一个重要原因和可能性是用于训练模型的标准与用于判断模型功效的标准不同。

回答:我们可以通过以下方式避免过拟合:

  • 大量数据

  • 交叉验证

回答:下面列出了五种常用的机器学习算法:

  • 决策树

  • 概率网络

  • 最近邻

  • 支持向量机

  • 神经网络

回答:机器学习算法的使用案例:

  • 欺诈检测

  • 人脸识别

  • 自然语言处理

  • 市场细分

  • 文本分类

  • 生物信息学

回答:参数模型是指参数有限且用于预测新数据的模型,你只需知道模型的参数即可。

非参数模型是指参数数量无限的模型,允许更大的灵活性且用于预测新数据,你需要了解模型的参数并熟悉已收集的观测数据。

回答:这是面试中经常问的机器学习面试问题。在机器学习中构建假设或模型的三个阶段是:

  • 模型构建

  • 模型测试

  • 模型应用

回答:

归纳逻辑编程(ILP)是机器学习的一个子领域,它使用代表背景知识和案例的逻辑程序。

回答:分类和回归之间的区别如下:

  • 分类是关于识别类别的组成,而回归涉及预测因变量。 

  • 这两种技术都与预测相关。

  • 分类预测类别的归属,而回归预测来自连续集的值。

  • 当模型需要返回数据集中的数据点的归属类别时,回归不是首选。

回答:归纳机器学习和演绎机器学习的区别如下:

机器学习,模型通过从一组观察实例中学习,得出一个广义结论。而在演绎学习中,要机遇一些已知结论,得出结果。

回答:决策树的优点是:

  • 决策树易于理解

  • 非参数

  • 调整的参数相对较少

回答:

机器学习领域专注于深受大脑启发的深度人工神经网络。 Alexey Grigorevich Ivakhnenko将深度学习网络带入大众视野。如今它已应用于各种领域,如计算机视觉、语音识别和自然语言处理。 

回答:

有研究表明,浅网和深网都可以适应任何功能,但由于深度网络有几个不同类型的隐藏层,因此相比于参数更少的浅模型,它们能够构建或提取更好的特征。

回答:代价函数是神经网络对于给定训练样本和预期输出的准确度的度量。它是一个值,而非向量,因为它支撑了整个神经网络的性能。它可以计算如下平均误差函数:

其中和期望值Y是我们想要最小化的。

回答:梯度下降是一种基本的优化算法,用于学习最小化代价函数的参数值。此外,它是一种迭代算法,它在最陡下降的方向上移动,由梯度的负值定义。我们计算给定参数的成本函数的梯度下降,并通过以下公式更新参数:

其中是参数向量,α 是学习率,J()是成本函数。

回答:

反向传播是一种用于多层神经网络的训练算法。在此方法中,我们将误差从网络末端移动到网络内的所有权重,从而进行梯度的高效计算。它包括以下几个步骤:

  • 训练的前向传播以产生输出。

  • 然后可以使用目标值和输出值误差导数来计算输出激活。

  • 然后我们返回传播以计算前一个输出激活的误差导数,并对所有隐藏层继续此操作。

  • 使用之前计算的输出和所有隐藏层的导数,我们计算关于权重的误差导数。

  • 然后更新权重。

回答:随机梯度下降:我们仅使用单个训练样本来计算梯度和更新参数。

批量梯度下降:我们计算整个数据集的梯度,并在每次迭代时进行更新。

小批量梯度下降:它是最流行的优化算法之一。它是随机梯度下降的变体,但不是单个训练示例,使用小批量样本。

回答:以下是小批量梯度下降的好处

  • 与随机梯度下降相比,这更有效。

  • 通过找到平面最小值来提高泛化性。

  • 小批量有助于估计整个训练集的梯度,这有助于我们避免局部最小值。

回答:

在反向传播期间要使用数据标准化。数据规范化背后的主要动机是减少或消除数据冗余。在这里,我们重新调整值以适应特定范围,以实现更好的收敛。

回答:

权重初始化是非常重要的步骤之一。糟糕的权重初始化可能会阻止网络学习,但良好的权重初始化有助于更快的收敛和整体误差优化。偏差通常可以初始化为零。设置权重的规则应接近于零,而不是太小。

回答:

自编码是一种使用反向传播原理的自主机器学习算法,其中目标值设置为等于所提供的输入。在内部有一个隐藏层,用于描述用于表示输入的代码。

关于自编码的一些重要特征如下:

  • 它是一种类似于主成分分析(PCA)的无监督机器学习算法

  • 最小化与主成分分析相同的目标函数

  • 它是一个神经网络

  • 神经网络的目标输出是其输入

回答:

是的,这可以通过考虑第4层输出来自前一时间步骤(如递归神经网络RNN)来完成。此外,我们需要假设之前的输入批次有时与当前批次相关。

回答:玻尔兹曼机(Boltzmann Machine)是一种问题解决方案的优化方法。玻尔兹曼机的工作基本是为了优化给定问题的权重和数量。关于玻尔兹曼机的一些要点如下:

  • 它使用循环结构。

  • 由随机神经元组成,其中包括两种可能的状态之一,1或0。

  • 其中的神经元处于连通状态(自由状态)或断开状态(冻结状态)。

  • 如果我们在离散Hopfield网络上应用模拟退火,那么它将成为玻尔兹曼机

回答:

激活函数是一种将非线性引入神经网络的方法,它有助于学习更复杂的函数。没有它,神经网络只能学习线性函数。线性函数是输入数据的线性组合。

现在是引领浪潮之巅的最好时机,我们应当尽量完善自己在数据科学和分析这些新兴领域所需的技能。最重要的是,这不仅适用于刚开始职业生涯并决定学习的人。就连已就职的专业人士可以从数据科学的浪潮中受益,甚至可能比那些新入行的竞争者获益更多。

原文标题:

Data Science & ML : A Complete Interview Guide

原文链接:

https://www.codementor.io/divyacyclitics15/data-science-ml-a-complete-interview-guide-qlprmdc6y

编辑:王菁

校对:林亦霖

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

理论面试机器学习数据科学
6
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Hopfield网络技术

Hopfield神经网络是一种递归神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。Hopfield网络也提供了模拟人类记忆的模型。

零假设技术

在推论统计学中,零假设是做统计检验时的一类假设。零假设的内容一般是希望能证明为错误的假设,或者是需要着重考虑的假设。在相关性检验中,一般会取“两者之间无关联”作为零假设,而在独立性检验中,一般会取“两者之间非独立”作为零假设。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

分层抽样技术

先将总体的单位按某种特征分为若干次级总体(层),然后再从每一层内进行单纯随机抽样,组成一个样本的方法。 一般地,在抽样时,将总体分成互不交叉的层,然后按一定的比例,从各层次独立地抽取一定数量的个体,将各层次取出的个体合在一起作为样本,这种抽样方法是一种分层抽样。 又称分类抽样或类型抽样。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

假设检验技术

假设检验是推论统计中用于检验统计假设的一种方法。而“统计假设”是可通过观察一组随机变量的模型进行检验的科学假说。一旦能估计未知参数,就会希望根据结果对未知的真正参数值做出适当的推论。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

玻尔兹曼机技术

玻尔兹曼机(Boltzmann machine)是随机神经网络和递归神经网络的一种,由杰弗里·辛顿(Geoffrey Hinton)和特里·谢泽诺斯基(Terry Sejnowski)在1985年发明。玻尔兹曼机可被视作随机过程的,可生成的相应的Hopfield神经网络。它是最早能够学习内部表达,并能表达和(给定充足的时间)解决复杂的组合优化问题的神经网络。但是,没有特定限制连接方式的玻尔兹曼机目前为止并未被证明对机器学习的实际问题有什么用。所以它目前只在理论上显得有趣。然而,由于局部性和训练算法的赫布性质(Hebbian nature),以及它们和简单物理过程相似的并行性,如果连接方式是受约束的(即受限玻尔兹曼机),学习方式在解决实际问题上将会足够高效。它由玻尔兹曼分布得名。该分布用于玻尔兹曼机的抽样函数。

广义线性模型技术

在统计学上, 广义线性模型 (Generalized linear model) 是一种应用灵活的线性回归模型,简称GLM。该模型允许因变量的偏差分布有除了正态分布之外的其它分布。此模型假设实验者所量测的随机变量的分布函数与实验中系统性效应(即非随机的效应)可经由一链接函数(link function)建立起可资解释其相关性的函数。

显著性差异技术

显著性差异(ρ),是统计学上对数据差异性的评价。当数据之间具有了显著性差异,就说明参与比对的数据不是来自于同一总体(population),而是来自于具有差异的两个不同总体。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

暂无评论
暂无评论~